Методы исследования торговых алгоритмов

20 марта, 2016

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

Ранее я неоднократно обращал внимание, что торговый алгоритм или стратегия — это далеко еще не торговый робот.

В структуре прогнозирующего торгового робота (я делаю пока лишь такие)  всегда есть модуль генерации торговых сигналов (генератор сигналов) .

Если использовать в торговле этот модуль, то получим торгового советника.

Как правило, есть два типа сигналов, которые принципиально отличаются.

Я  строю алгоритмы,  которые всегда находятся в рынке.

Поэтому всегда есть открытая позиция.

Первый тип сигналов — это собственно торговые сигналы,

т е сигналы  -открыть лонг(Long), открыть  шорт(Short).

Эти сигналы генерируются на основе прогноза движения цен.

Второй тип сигналов — это аварийные сигналы.

Т е это сигналы,  которые генерируются на основе контроля убытков, т е потери капитала.

Появление этих сигналов, как правило, связано c гепами рынка против открытой позиции .

Эти сигналы нельзя прогнозировать с доступным объемом информации,

поэтому они создаются с учетом текущих потерь.

При исследовании алгоритмов на исторических данных существенно по-разному реализуется механизм исполнения торговых и аварийных сигналов.

Если не учитывать особенности генерации сигналов на истории то легко можно получить очень хорошие результаты, которые никогда не повторить в реальности.

Рассмотрим эти особенности

Особенности генерации и исполнения торговых сигналов.

Сигналы 1-го и 2-го типов отличаются по исполнению следующим образом.

Торговый сигнал, как правило, исполняется на краю свечи.

Ошибочно исполнять его на close текущей свечи.

В реальности Вы никогда не сможете это реализовать.

Но на истории можно это сделать и это называется — заглядывание в будущее.

Поэтому исполнение сигналов надо осуществлять как минимум на открытии новой свечи, а торговый сигнал формировать по предыдущим закрытым свечам.

Я именно так и делаю.

В реальности при открытии новой свечи появляется и сигнал закрытия предыдущей.

При исследовании алгоритмов на истории,

возникает вопрос о том,

на сколько быстро в реальности мы успеем совершить сделку по цене открытия свечи.

Действительно, цена открытия — это тоже уже совершенная сделка.

Есть два приема, которые я использую в своих исследованиях.

Во-первых, я торгую лишь высоколиквидным инструментом — Сбербанк обычка.

Во-вторых, при исследовании истории,  вычисляю хороший и наихудший результаты.

Хороший результат -это совершение сделки по цене открытия свечи. Не факт, что он будет обязательно хорошим, но меня это устраивает.

Наихудший результат— это совершение сделки, поHigh свечи — для Long и по Low свечи -для Short.

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

При этом фортуна повернется ко мне спиной и я всегда буду совершать сделки по самой худшей цене в эти 5 минут.

Т е покупать буду всегда на максимальной цене в 5 минутах,

а продавать всегда на минимальной.

Согласитесь, что хуже ситуацию придумать сложно.

Вот  результат такого стресс тестирования:

160101_001

160101_000

 

 

 

 

 

————————————————————————————-

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

текст около стрелки сделки содержит следующую информацию:

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 свечей будет прибыльным.

————————————

Об особенностях исследования аварийных сигналов расскажу в будущем

 

Профит робота Lua Quik(график)

21 февраля, 2016

Написал скрипт , который графически отображает прибыль и убытки робота.

Вот так это выглядит в торговом терминале QUIK .

bot_000

bot_003bot_004

 

 

 

 

 

—————————————————————

В одном окне — три графика:

на первом(верхнем)  графике  изображается торгуемый инструмент (сбербанк) и торговые сигналы робота с текстовым коментом

на втором графике  изображается объем инструмента

на третьем графике — график прибыли/убытков (светло зеленый)

график процента прибыльных сделок (белый)

график прибыли/убытки в сделках (темно зеленый -прибыль, красный — убыток) масштаб увеличен в 10 раз.

график максимального убытка в сделке (красная линия внизу) масштаб увеличен в 10 раз.

——————————————-