Привет!
Специально для всех хейтеров, ненавистников инфоциган aka алгоритмических трейдеров написал большую статью на VC. В ней рассказываю как создавал алгоритм, какие были проблемы. Как привлекал первые деньги инвесторов и как терял конечно же тоже! Жду в комментариях критики, статей УК РФ, рассказов про оверфиттинг и так далее.
Приведу часть статьи здесь, чтоб пост уж не был совсем пустым.
Бэктест в реальном времени
В целях диверсификации клиентских средств инвесторам было предложено шесть разных инструментов на выбор для торговли, позднее это число выросло до 12. В один день на клиентском счете торговалось не более трех разных инструментов, и набор этих инструментов часто менялся. Как можно догадаться, результаты были крайне нестабильны. Мы переключались с одного инструмента на другой, относясь болезненно к любой краткосрочной просадке. В один день алгоритм зарабатывал 12 000$, два последующих дня терял по пять. К счастью, клиенты оказались терпеливыми людьми, склонными к авантюрам. Было принято решение продолжать работать, и мы пробовали совершенно разные инструменты в поисках подходящего.
Стало очевидно, что это бэктест в настоящем времени и на реальных деньгах. На этом этапе я остановил работу алгоритма и обратился к другу за помощью в написании полноценного бэктест-алгоритма – конечно, это следовало сделать в самом начале.
Следующие полгода я занимался исключительно тестами. Проверял различные инструменты и искал, почему не получалось зарабатывать стабильно. Способ, которым алгоритм принимает решение о входе в позиции, не меняется уже многие годы, но часть вспомогательных расчетов в результате работы с тестером были изменены. Раньше выбор инструмента производился фактически на глаз. Основным требованием было наличие трендовости на ценовом графике инструмента, этого было достаточно чтобы запуститься в работу. Период для расчета параметров, уровень ограничения рисков, тейк-профит и другие параметры были статичны, рассчитывались из одинаковой выборки данных для каждого инструмента и для каждого таймфрейма. Теперь же каждый параметр становился динамическим, способным подстраиваться под инструмент и текущий рынок. В сущности, на этом этапе я мог найти рабочие параметры для алгоритма под каждый инструмент на любом отрезке времени. Люди, знакомые со статистикой и тестированием систем, поймут, что речь идет об overfitting. Это такая ситуация, когда тестировщик системы занимается подгонкой параметров для получения лучшего результата его системы. На практике заканчивается это тем, что у торговой системы идеальные показатели на исторических данных, но ничего не получается в будущих периодах.
Спустя время и несчетное количество тестов удалось сократить количество инструментов и рабочих таймфреймов до двух. Я проверил 18 разных инструментов и только два из них давали стабильно хорошие результаты без существенного изменения рабочих параметров алгоритма под каждый временной период. Сейчас алгоритм торгует ZL.CBOT и HE.CME, при этом первый торгуется каждый час, а сделки по второму могут происходить каждые пол часа.
Кроме графика что еще можете привести в доказательство «правильности» своего алгоритма?! Стейтменты своей торговли можете выложить?!