В этой заметке кратко расскажу свое видение технологии исследования торговых алгоритмов, на основе которых я строю роботов.
Ранее я неоднократно обращал внимание, что торговый алгоритм или стратегия — это далеко еще не торговый робот.
В структуре прогнозирующего торгового робота (я делаю пока лишь такие) всегда есть модуль генерации торговых сигналов (генератор сигналов) .
Если использовать в торговле этот модуль, то получим торгового советника.
Как правило, есть два типа сигналов, которые принципиально отличаются.
Я строю алгоритмы, которые всегда находятся в рынке.
Поэтому всегда есть открытая позиция.
Первый тип сигналов — это собственно торговые сигналы,
т е сигналы -открыть лонг(Long), открыть шорт(Short).
Эти сигналы генерируются на основе прогноза движения цен.
Второй тип сигналов — это аварийные сигналы.
Т е это сигналы, которые генерируются на основе контроля убытков, т е потери капитала.
Появление этих сигналов, как правило, связано c гепами рынка против открытой позиции .
Эти сигналы нельзя прогнозировать с доступным объемом информации,
поэтому они создаются с учетом текущих потерь.
При исследовании алгоритмов на исторических данных существенно по-разному реализуется механизм исполнения торговых и аварийных сигналов.
Если не учитывать особенности генерации сигналов на истории то легко можно получить очень хорошие результаты, которые никогда не повторить в реальности.
Рассмотрим эти особенности
Особенности генерации и исполнения торговых сигналов.
Сигналы 1-го и 2-го типов отличаются по исполнению следующим образом.
Торговый сигнал, как правило, исполняется на краю свечи.
Ошибочно исполнять его на close текущей свечи.
В реальности Вы никогда не сможете это реализовать.
Но на истории можно это сделать и это называется — заглядывание в будущее.
Поэтому исполнение сигналов надо осуществлять как минимум на открытии новой свечи, а торговый сигнал формировать по предыдущим закрытым свечам.
Я именно так и делаю.
В реальности при открытии новой свечи появляется и сигнал закрытия предыдущей.
При исследовании алгоритмов на истории,
возникает вопрос о том,
на сколько быстро в реальности мы успеем совершить сделку по цене открытия свечи.
Действительно, цена открытия — это тоже уже совершенная сделка.
Есть два приема, которые я использую в своих исследованиях.
Во-первых, я торгую лишь высоколиквидным инструментом — Сбербанк обычка.
Во-вторых, при исследовании истории, вычисляю хороший и наихудший результаты.
Хороший результат -это совершение сделки по цене открытия свечи. Не факт, что он будет обязательно хорошим, но меня это устраивает.
Наихудший результат— это совершение сделки, поHigh свечи — для Long и по Low свечи -для Short.
Так как мои алгоритмы работаю на таймах 5 минут, то наихудший результат предполагает, что очередную сделку я могу совершить за очередные 5 минут.
При этом фортуна повернется ко мне спиной и я всегда буду совершать сделки по самой худшей цене в эти 5 минут.
Т е покупать буду всегда на максимальной цене в 5 минутах,
а продавать всегда на минимальной.
Согласитесь, что хуже ситуацию придумать сложно.
Вот результат такого стресс тестирования:
————————————————————————————-
На втором графике — увеличен масштаб, чтобы показать последнюю сделку в прошедшую пятницу.
текст около стрелки сделки содержит следующую информацию:
0.42,93.9/39%,127.17/62.38,200.
которая расшифровывается так:
0.42% — прибыль в сделке (позиция закрыта на открытии свечи)
т е не самый лучший вариант для этой свечи
93.9% — число выигрышных сделок при совершении сделки на открытии
39% — число выигрышных сделок при совершении сделки по самой худшей цене за пять минут
127.17% -прибыль за 3000 свечей при совершении сделки на открытии свечи
62.38% — прибыль за 3000 свечей при совершении сделки по самой худшей цене за пять минут
200 — количество смены позиции ( 100 -Long, 100- Short).
200 — получилось не специально
Резюме:
В худшем варианте мы потеряем половину прибыли.
На основе стресс-тестирования можно ожидать,
что данный алгоритм является прогнозирующим
и в следующие 3000 свечей будет прибыльным.
————————————
Об особенностях исследования аварийных сигналов расскажу в будущем