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

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

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

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

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

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

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

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

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

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

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

 

This entry was posted on Воскресенье, Март 20th, 2016 at 17:09 and is filed under LUA, QLUA, QUIK, Нейросеть, торговые роботы (МТС), Фондовый рынок. You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

One comment

Lukowitsa
 1 

Очень непонятно. Алгоритм, показывающий прибыль на 3000 свечках, на следующих 3000 свечках так же покажет прибыль. Каким образом Ваш тест это определяет, и что позволяет делать такой вывод? Вы проверяли на предыдущих к этим 3000 свечках, скажем за прошлый год, ничего не меняя в алгоритме? Уверена, получится большое Хи-Хи!
Курсив: сплошь и рядом как раз так и получается. Особенно касается нейронных сетей, которые тупо «запоминают», где надо делать сделки на обучающем множестве данных, но на тестовых (других) данных, где отсутствует «найденная ими «закономерность»» между входом и выходом, выдают полную чепуху.

Март 28th, 2016 at 14:25