На графике выше результаты моей торговли роботами за апрель. Прибыль показана в процентах от начального капитала с начала торговли 10 марта 2015 года (апрель отделен красной линией). В прошлом посте были приведены основные характеристики рабочих алгоритмов.
Как видно на графике имела место значительная просадка 16 апреля, причем до этого три дня были хоть с небольшим, но минусом. Это вызывает уже вопросы о робастности применяемых алгоритмов, таких просадок я не наблюдал на используемых мной исторических данных, что может свидетельствовать о подгонке на бэктестировании. Хотя день 16.04 был очень интересным, ниже приведен график прибыли за день:
Сначала я совершал одиночные удачные трейды. Затем перешел к торговле по системе. После изучения и пробования нескольких систем перешел от разработки одной торговой системы к разработке методологий разработки торговых систем. Благодаря роботам появляется возможность торговать сразу несколько систем / стратегий.
Итак, эволюция мышления такая:
одиночные удачные трейды -> торговые системы -> методологии разработки торговых систем.
Пока у меня есть три методологии:
1. Статистический подход: анализ активов, вычисление корреляций и хороших активов только по динамике цены.
2. Индуктивный подход: находим частные удачные трейды на истории, анализируем их и выводим общие закономерности.
3. Дедуктивный подход: анализ, тестирование на частных случаях и оптимизация чужих открытых торговых систем из книг и семинаров и закономерностей.
Не путать с работорговлей :). Как автор блога об алгоритмической торговле, считаю нужным выкладывать эквити моих роботов, которые запущены на бирже в настоящее время. В заглавии поста результаты за март, в процентах от капитала на начало месяца. В боевых торгах алгоритмы принимают участие с 10 марта.
Немного расскажу об используемых роботах. Общая архитектура этих программ основана на структуре robot_uralpro, но значительно усовершенствована в плане гибкости, что позволяет добавлять любой новый алгоритм без перестройки основного скелета робота, вплоть до опционных стратегий. Новый робот торгует валютным фьючерсом Si, но применяются некоторые элементы старого алгоритма robot_uralpro. Всего реализовано 3 стратегии на данный момент, в торгах принимают участие пока только две, третья не набрала достаточного количества статистики, так как медленнее остальных, поэтому только тестируется. Сделана диверсификация по параметрам для каждого алгоритма на 10 разных наборов, следовательно, торгуют одновременно как бы 20 роботов. Стратегии основаны на наблюдениях, сделанных при тестировании математических моделей, никаких ценовых паттернов не используется. Роботы подключены к бирже через Plaza2, колокейшена нет, выбран обычный хостинг с минимальным пингом до плазовских IP. На данный момент он равен 3 мс. Средний раундтрип заявок составляет около 10 мс. Эквити за один день — 23.03.2015 — на графике ниже. Выбрал, конечно, один из лучших:)
Интересный подход к предсказанию направления рынка рассмотрен в статье "Using CART for Stock Market Forecasting". Для того, чтобы предугадать движение цены на недельном отрезке используется техника под названием CART (Classification And Regression Trees) — построение классификационного графа (дерева) с целью предсказать значение целевой характеристики (цены) на основании набора объясняющих переменных. CART находит применение во многих областях науки и техники, но применим и в торговле, так как обладает набором свойств, хорошо подходящими для этой цели:
Для построения дерева автор использует библиотеку языка R, вычисляющую рекурсивное разделение (Recursive Partitioning) rpart.
Трейдеры, которые приобрели мою программу robot_uralpro (см. пост на смарт-лабе), спрашивают, можно ли доработать алгоритм для применения его на современном рынке? Напомню, стратегия робота основана на взаимоотношении цен синтетического индекса, составляемого динамически из рыночных цен акций, входящих в индекс РТС, и фьючерса RI. Идея «одноногого» статистического арбитража, реализованного в роботе, будет работать и сейчас, только в том случае, если научиться правильно определять, какой актив опережает другой в смысле динамики их цен. Эта статья посвящена правильному выявлению такого взаимодействия, которое в англоязычных источниках называется «lead-lag relationship» -опережение-отставание между разными активами.
Те алготрейдеры, кто не приобретал robot_uralpro, тоже сочтут эту статью полезной, так как lead-lag relationship может использоваться в стратегиях парного трейдинга и им подобным. Например, определив такое взаимодействие, можно исключить из парного трейдинга один из активов ( с учетом того, конечно, что отношение торгуемых инструментов было описано четкой моделью) и значительно увеличить тем самым прибыльность стратегии.