Обсуждение статьи "Научный подход к разработке торговых алгоритмов"

 

Опубликована статья Научный подход к разработке торговых алгоритмов:

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

Тест проводится с 01.01.2018 по 28.07.2020, на тайм фрейме m1 в режиме реальных тиков. Настройки установлены без оптимизации, потому что данным подходом я хочу показать, что при детальной проработке алгоритма, можно отказаться от оптимизации под каждый торговый инструмент. Меняться будут размер блока, минимальный размер блока и лот, чтобы подобрать размер прибыли существенно больше комиссий.

EURUSD tester Chart

EURUSD tester report

Рисунок 7.

По EURUSD, как и ожидалось, спред и дельта при построении блоков компенсировали всю прибыль, которую мы должны были получить из-за трендовости инструмента. В итоге, имеем матожидание прибыли -1,67$ на сделку. Лот менялся динамически от размера блока, при этом средний лот составил 0,078. Разберемся, откуда взялся убыток. Робот пишет в логи спред. При открытии и закрытии позиций, средний спред составил 0,00008. Было заплачено 159,76$ свопов, всего было открыто 614 позиций. Следовательно, средний своп на позицию составил 159,76/614=0,2602$.

Если средний спред 0,00008 и средний лот 0,078, 1 пункт по EURUSD при лоте 0,078 стоит 0,078$, следовательно, спред стоит 0,078*8=0,624$. Итого, общие комиссии складываются 0.624$+0.2602$=1.104$. Получилось, что если бы мы теряли на каждой сделки комиссию, то матожидание было бы -1,104$, а оно 1,67$ ,что на 0,566$ больше. Минимальный размер блока ограничен размером в настройках 0.002, для среднего лота 0,078 - это 15,6$. Грубо оценим, насколько в среднем мог уйти баланс в минус, если бы график баланса был случайным блужданием и размер блока был всегда минимальным. Для этого 15,6*(614^0.5)=386.55$. Теперь прибавим среднюю комиссию на сделку, умноженную на число сделок. 1,104*614+386.55=1064,406$.

Так мы получили величину 1064,406$ в долларах, на которую в среднем должен уходить график баланса в минус, если вероятность открытия позиции в "верном" направлении 50% и за каждую открытую позицию мы платим комиссию. Реально мы получили убыток 1027.45$, что примерно совпадает. Можно сделать вывод, что мы получили убыток, потому что матожидание нашего алгоритма на EURUSD равно нулю. 

Посмотрим, какие результаты получились на более трендовых акциях "Appl" (AAPL), результат на рисунке 8 ниже.

AAPL tester chart

AAPL tester report

Рисунок 8.

Автор: Maxim Romanov

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

Помню, нашел на фьючерсном рынке простую закономерность, обеспечивающую ~50%-ую вероятность заработка. Почти каждую сессию, на открытии, цена резким движением рвала в бай или селл и нужно было только выбрать направление. Пусть предказать его было нельзя, но угадать можно, а сам факт скачка при открытии сессии прогнозировался уверенно по уровню премаркетных обьемов. Эти выводы были подтверждены статистически. При ошибке выбора направления нужно было просто выйти до след.дня и не торговать более. Использование этой стратегии оказалось удачным, но через некоторое время резкие движения при открытии сессии прекратились.

Действительно, в условиях сессии и конкретного актива закономерности существуют, хотя вероятность попадания в них никогда не является константой, а период использования временен. То есть, закономерности имеют "срок годности" на рынке.


 
Реter Konow:
Ценю Ваши статьи за кристальные вступления - шедевры понимания сути вопроса редко встречаются, но у Вас наблюдаются стабильно.

Помню, нашел на фьючерсном рынке простую закономерность, обеспечивающую ~50%-ую вероятность заработка. Почти каждую сессию, на открытии, цена резким движением рвала в бай или селл и нужно было только выбрать направление. Пусть предказать его было нельзя, но угадать можно, а сам факт скачка при открытии сессии прогнозировался уверенно по уровню премаркетных обьемов. Эти выводы были подтверждены статистически. При ошибке выбора направления нужно было просто выйти до след.дня и не торговать более. Использование этой стратегии оказалось удачным, но через некоторое время резкие движения при открытии сессии прекратились.

Действительно, в условиях сессии и конкретного актива закономерности существуют, хотя вероятность попадания в них никогда не является константой, а период использования временен. То есть, закономерности имеют "срок годности" на рынке.


Значит не зря писал, если нравится.

Да, у закономерностей есть срок годности, один из вариантов создать алгоритм, который сам будет их искать в реальном времени... Был у меня большой проект, но он слишком сложный и я его отложил.

 
Это вторая статья, которую читал не "по диагонали". Очень интересно. Для себя увидел несколько ценных идей, которые обязательно использую в своих разработках.
 
Maxim Romanov:

Значит не зря писал, если нравится.

Да, у закономерностей есть срок годности, один из вариантов создать алгоритм, который сам будет их искать в реальном времени... Был у меня большой проект, но он слишком сложный и я его отложил.

Интересно, и что за проект?

 

в тексте

Торговый алгоритм будет следовать напрямую из формулы для определения матожидания прибыли:

m=(P(tp)*tp)-(P(sl)*sl)

терзают меня смутные сомнения, что это не мат.ожидание

 
Maxim Kuznetsov:

в тексте

терзают меня смутные сомнения, что это не мат.ожидание

почему? Прокомментируйте пожалуйста, может я где-то ошибся

 
Aliaksandr Hryshyn:

Интересно, и что за проект?

Хотел создать алгоритм, обучающийся в реальном времени. По сути искусственную жизнь, только для фин рынков, где пищей для особей будет профит, который они смогут добыть, анализируя внутри рыночные и меж рыночные закономерности. Все должно работать в реальном времени, без обучения по истории. То есть обучиться можно по истории, но по сути вся работа в реальном времени на базе совершаемых сделок. не закладывать в алгоритм никаких знаний о рынке, вместо этого дать ему максимум возможности и свободы в своем развитии. Это очень кратко.

 
Maxim Romanov:

почему? Прокомментируйте пожалуйста, может я где-то ошибся

Сейчас "под шафе" и полностью изыскивать влом..

но Это что-то типа "средняя прибыльность".

Просто навскидку, проверка формул - в мат.ожидание вероятности входят с -1 степенью и измеряется оно в T (те-же величины что по оси X). Размерность не сошлась, и вероятности не так стоят.

 
Maxim Romanov:

Хотел создать алгоритм, обучающийся в реальном времени. По сути искусственную жизнь, только для фин рынков, где пищей для особей будет профит, который они смогут добыть, анализируя внутри рыночные и меж рыночные закономерности. Все должно работать в реальном времени, без обучения по истории. То есть обучиться можно по истории, но по сути вся работа в реальном времени на базе совершаемых сделок. не закладывать в алгоритм никаких знаний о рынке, вместо этого дать ему максимум возможности и свободы в своем развитии. Это очень кратко.

Это гениально, но ОЧЕНЬ дорого, ведь пока алгоритм будет учиться, он сольет много денег... 

Конечно, можно обучать на демо, но кто сказал, что когда мы входим в рынок по настоящему, он не меняется? ;)
 

Максим, Вам респект и уважуха за смелость к исследованию сложной природы рынков! 

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

Затронутые темы весьма интересные, поэтому так держать!

Причина обращения: