Избранное трейдера zam

по

НЕ ТЕРЯЙ ДЕНЬГИ !!! 1. Для чего нужны стратегии

Оптимизация Механических торговых систем.

О чем цикл заметок

Начинаем цикл коротких заметок о торговых алгоритмах.

В основу положен наш опыт и цитаты из достойных книг.

Цель заметок структурировать знания о построении трендовых стратегий и их оптимизации.

Надеемся, что наши заметки будут интересны для трейдеров с разным уровнем знаний.

В серии данных заметок будет:

  1. Для чего нужны стратегии.
  2. Как разрабатываются торговые стратегии.
  3. Доход и просадка. Оценка показателей эффективности. Дадим свою интерпретацию результатов оптимизации.
  4. Оптимизация торговых стратегий. Переоптимизация, указания как ее избежать.
  5. Покажем проблемы оптимизации, приводящие к ненадежным результатам и убыткам при торговле.
  6. Работа алгоритма на реальном рынке. Ожидание и реальность.
  7. Оценка результатов работы.

 1. Для чего нужны стратегии.

 Рассмотрим две простые стратегии.



( Читать дальше )
  • обсудить на форуме:
  • TSLab

Торговая система BMS

    • 24 ноября 2020, 21:33
    • |
    • AlexChi
  • Еще

Торговая система BMS

 

Введение

Если вы уже давно торгуете на фондовом рынке, то наверняка заметили, что одни и те же бумаги растут сильнее рынка, а другие все время стоят на месте или даже падают. Примеров можно привести много: это и ВТБ, который разместился на IPO в 2007 году по 13.6 копеек, а сейчас стоит менее 4 копеек, это и Мечел, который в 2011 году стоил более 900 рублей, а сейчас торгуется около 60. Да и каждый из вас без труда может привести множество подобных примеров. В то же время есть бумаги, которые выросли за это время в несколько раз, оставаясь лучшими много лет подряд.

В своих первых двух статьях на смартлабе я уже приводил тестирование на исторических данных гипотезы о том, что лучшие бумаги, как правило, остаются лучшими, а аутсайдеры, так и остаются аутсайдерами.  Вот эти статьи:

1. Как обогнать индекс (пример выигрышной торговой стратегии)

2. Как проиграть индексу акций (пример ошибочной торговой стратегии)



( Читать дальше )

Продолжать ли торговать тренд?

По мотивам вчерашнего дня соорудил самую простую и очевидную трендовуху.
В ней всего один параметр. Эквити в зависимости от разных значений этого параметра меняются ощутимо.
Продолжать ли торговать тренд?
Продолжать ли торговать тренд?

( Читать дальше )

На пенсии в 35

    • 18 сентября 2020, 20:06
    • |
    • krolix
  • Еще
На днях мне стукнет этот, неизвестно почему, фетишизированный на смарт-лабе возраст.

Кратко о рабочей карьере: вышка (кибернетика), полгода стажа программером и 8 лет стажа маркетинг-продажи, в т.ч. половина этого срока в европейской фирме с возможностью регулярных командировок и поездок за границу в отпуска. Рад, что такая возможность предоставилась, но считаю, что офисная работа — это должен быть этап постуниверситетской социализации, типа детского садика. Хватило бы и пары лет. Но возможно, это связано с моим интровертным складом характера.

Трейдингом стал интересоваться лет 10 назад.
Это было наивно (но смотрю нынешние инстаграмы гуру инвестиций и у них это ещё наивнее). Брал графики, индикаторы на глаз. Прогонял за 3 года. Если работает — годится в торговлю. Проскальзывания, устойчивость и диверсификация ТС — это всё я даже не учитывал и не думал об этом. Уже рисовал перспективы, как буду удваиваться каждый год и уйду с работы. Впрочем, не сложилось.

Поторговал года 3 вроде. Сначала в Альфе, потом в Открывахе. Отторговал в плюс ноль. Закруглился к осени 2013ого. На депозите было немного денег — меньше миллиона. Торговал руками по ТС, которая требовала постоянного бдения. Поэтому работать на дядю было просто выгоднее. Была лонговая система на си, которая, если бы я не оставил трейдинг, во время девальвации принесла бы несколько сотен тысяч рублей. Так что с одной стороны — из трейдинга я ушел не вовремя, с другой — эта сумма радикально бы ничего не изменила, и, значит, так было нужно.

( Читать дальше )

Мои итоги мая

Начнем с традиционной таблицы

 Мои итоги мая

Первые две декады мая меня откровенно «пилило».  Началось все с «распила» в Si 4-5 мая, после чего он был «вырублен» «фильтром большой пилы» до конца мая. 6-7 мая «эстафету принял» RI-тренд и его майский убыток  почти в 1,5 раза меньше  убытка в эти два дня. И закончилось все большим убытком RI-контртренд  18-20 мая, который, впрочем, этой системе удалось сократить больше, чем в 2 раза до конца мая.

Но были и приятные моменты: с 12 по 18 мая была традиционная «кошмарная неделя» ( 4 сильных гэпа против движения предыдущего дня), которая встречается по статистике 1-3 раза в год. Но «фильтр короткой пилы» в этот раз позволил  мне в эти дни избежать больших убытков, встречавшихся до его создания. Поэтому максимальная просадка в этом году  осталась без изменений.

Спокойнее всего в мае вели себя Спот+ «синтетика», закончившие 4-19 мая в легком минусе и получившие прибыль по итогам месяца.



( Читать дальше )

КВИК-->Lua-->Python. Трансляция данных из КВИКа в Питон в реальном времени

Всех с пятницей — самоизолятницей!
Представляю общественности Python-сервер (в 9 строк кода) для получения данных из КВИКа в Питон через луа-скрипт в режиме реального времени.
Для примера приведу получение тиковых данных по SIM0.
Нам понадобятся следующие ингредиенты.
1. Понятное дело КВИК, версии ниже 8 или 8.5.2 и выше.
2. Питон Jupyter Notebook (Anaconda 3)
3. Луа-скрипт, взятый из Jatotrader (в нем буквально изменено пару строк)
Как работает сервер можно посмотреть в этом видео (1 мин. 38 сек.) Ну и по правилам хорошего тона, естественно сам текст ниже.


( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Экспорт данных Quik -> DDE -> Ваша программа.

    • 26 мая 2020, 13:56
    • |
    • 3Qu
  • Еще

После написания топика «Quik, DDE, Excel» [1], где была поставлена задача вывода данных доски опционов не непосредственно в Excel, что является очень неудобным для конкретных приложений, а в свой DDE-сервер. Свой DDE-Сервер обладает тем преимуществом, что данные из него можно направлять куда угодно, и как угодно.

С тех пор прошло 3 дня. Черновая болванка программы уже написана, отлажена, работает, и выполняет все возложенные на нее задачи. Как я опрометчиво обещал, проект DDE-Сервера будет предоставлен всем желающим [2](см. список ссылок). Проект выполнен на C++ в среде VS2017. DDE-Сервер на данном этапе выполнен в виде консольного приложения, и все что он делает, это выводит получаемые из Quik по DDE данные на консоль. В принципе, он должен работать с любой таблицей Quik, но делался под вывод доски опционов.

Я этот проект бросаю в таком виде, и уже начинаю на его основе делать приложение для решения своих конкретных задач. На этом наши пути расходятся. Проект поставляется в виде — как есть, и никакие изменения в него мною вносится уже не будут. Теперь это уже ваша задача. Вы можете модифицировать проект под решение ваших конкретных задач.



( Читать дальше )
  • обсудить на форуме:
  • QUIK

Переход на 64-бит Quik. Пляски с DLL. 2.

    • 22 марта 2020, 18:00
    • |
    • 3Qu
  • Еще

Не далее как вчера опубликовал топик "Смена x86 Quik 7.27.2.1 на x64 Quik 8.4.1.6. Пляски вокруг DLL", где кратко рассказывалось как перекомпилировать проект С++ с платформы х86 на х64. Надеюсь, что у вас все уже получилось или получится.
Но я «крутой» программист, и, естественно, у меня вначале вообще ничего и никак не получалось. А так как проект большой, да еще и непонятно в чем дело, а своими экспериментами я могу вообще все испортить, то решил сделать маленькую простенькую DLL LuaProba.dll, на ней отработать переход на х64, и потом перенести это в большой проект.
Привожу код С++ DLL целиком:

// LuaProba.cpp: определяет экспортированные функции для приложения DLL.
//

#include "stdafx.h"
#include <stdio.h>
#include <string.h>

//=== Необходимые для Lua константы ============================================================================//
#define LUA_LIB
#define LUA_BUILD_AS_DLL

//=== Заголовочные файлы LUA ===================================================================================//
extern "C" {
#include "Lua\lua.h"
#include "Lua/lauxlib.h"
}

static int forLua_TestFunc(lua_State *L) // Возвращает заданный текст
{
        const char *cc = "Привет из C/C++ и от меня 2 раза"; //str.c_str();
        lua_pushstring(L, cc);
        return(1);
}

//= == Регистрация реализованных в dll функций, чтобы они стали "видимы" для Lua == == == == == == == == == == == == == == == ==//
static struct luaL_reg ls_lib[] =
{
        { "TestFunc", forLua_TestFunc },
        { NULL, NULL }
};

//=== Регистрация названия библиотеки, видимого в скрипте Lua ==================================================//
extern "C" LUALIB_API int luaopen_LuaProba(lua_State *L)
{
        luaL_openlib(L, "LuaProba", ls_lib, 0);
        return 0;
}
Весь проект DLL для VS 2015 можно скачать по ссылке - 

( Читать дальше )
  • обсудить на форуме:
  • QUIK

Смена x86 Quik 7.27.2.1 на x64 Quik 8.4.1.6. Пляски вокруг DLL.

    • 21 марта 2020, 19:30
    • |
    • 3Qu
  • Еще

Признаться уже достал этот 32-битный Quik 7. Работать стало почти невозможно, начал подвисать практически на пустом месте. А если повесить на Quik Lua, а к Lua прицепить DLL, то вообще все эпизодически вставало. DLL-ки, вообще-то, многопоточные и освобождают вызывающие потоки (события) Lua практически за миллисекунды, но если таких событий много Quik встает. Хотя, он и без Lua и DLL тоже регулярно встает.)

Были и другие причины ухода от 32-бит Quik, но это уже связано с брокером и другими факторами.
Итак, новый брокер — новый 64-битный Quik 8.4.1.6. Наконец сбылась мечта идиота!
Что можно сказать, — х64 Quik работает гораздо лучше, все равно временами немного подвисает, но, вроде, некритично. После логин-пароля, прежде чем работать надо подождать, — потоки обезличенных сделок начинают работать только через 3-4 минуты после старта. В общем, с этим все более-менее ОК.
Следующий этап — надо переводить весь подключаемый к Quik софт с х86 на х64, и если есть исходники, то никаких проблем не должно появиться. Если вы не используете в своем софте каких либо дополнительных DLL, то все должно ограничиваться двумя действиями.
1. Меняете в проекте С++ в разделе Файлы ресурсов 32-битную версию файла Lua5.1.lib на 64-битную версию Lua5.1.lib,
2. Выставляете в свой свойствах проекта компиляцию в x64. Можно даже так:



( Читать дальше )

М-да, посмотрел и удивился

Уже прошло больше 12  лет, как наряду с индексом Мосбиржи, я отслеживаю динамику и своего индекса RST (аббревиатура от Russia Systematic Trading, не путать с индексом РТС), методику расчета весов в котором описал здесь. Если говорить проще, то веса в нем даются пропорционально оборотам на Мосбирже за предыдущий квартал (публикуются в базе индекса ММВБ10) и нулевые веса имеют бумаги, чьи обороты были в 8 и более раз меньше оборотов лидера. Лидер со временем менялся, когда то это было РАО ЕЭС, потом Газпром, сейчас Сбербанк.

Недавно  я писал о его маленьком «юбилее»: он пробил 10000 пунктов (начальная дата 31.12.1998 со значением 100). А сегодня, взглянув на график просадок, который я веду с момента последней модификации моих систем, я с удивлением обнаружил, что за это время мы имеем дело с его максимальной просадкой, если взять за начальную дату 28.06.2013

М-да, посмотрел и удивился

( Читать дальше )

....все тэги
UPDONW
Новый дизайн