O тестировании торговых систем.

O тестировании торговых систем.

Тема непростая, готовьтесь вскипятить свой мозг.

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

Давайте сформулируем такой мысленный эксперимент:

👉 Представим себе, что у вас есть некий эксперт со своей торговой системой сигналы которого вы торгуете. Он каким-то образом анализирует графики, механика нам в данном случае не так интересна.

Важен результат:

Эксперт выдает вам рекомендации на покупку и продажу и с вероятностью 60% его рекомендация срабатывает и приносит вам 500 USDT, в 40% случаев ошибается и минусует на те же 500 USDT. На самом деле неплохой результат, редкий трейдер может таким похвастаться.

👉 Прогоняем серию экспериментов (100 сделок), смотрим результат после теста. Для крупного таймфрейма (часовок или дневок) можно сказать, что такой тест охватывает примерно год реального времени.

В этом месте я написал простенькую программу которая с помощью генератора случайных чисел реализует эту логику.

Получалась такая вот картинка:


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

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

Или вот такие:

И еще вот такие:

Чувствуете разницу? На всех этих картинках изображены результаты работы ровно той же торговой системы, во всех случаях мы имели 60% вероятности заработать 500 USDT, и 40% вероятности потерять, но результаты отличаются разительно.

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

Но (!). Вы никогда не знаете точно (если, конечно, вы не занимаетесь этим вопросом специально), какую из этих картинок покажет ваше тестирование на основе исторических данных.

Вполне возможно, что бешенная прибыль, которую вы видите на графике — просто-напросто банальная случайность. Так сложилось. 😱

А возможно, что торговая система, которая отправилась в корзину на прошлой неделе — просто неудачница. Просто так сложилось, что на отрезке истории, где вы ее тестировали (а может даже двух или трех, запросто!) ей банально не повезло.

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

Ну, ок. Давайте теперь попробуем понять, что с этим делать и какие выводы из этого следуют:

👉 Тестирование системы на исторических данных, которое вы видели на картинках в интернете ничего не значит в 99% случаев. Нельзя принимать результаты исторического тестирования на веру, если вы не учитываете влияние дисперсии на них.

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

Но нужно понимать, что для этого нужен очень приличный объем данных. Так, например, для нашего с вами примера (60/40) дистанция в 1000 сделок по прежнему может давать результаты отличающиеся в разы (!).

Более менее стабильный результат получается при тестировании 10.000 сделок и более.

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

Кстати, мой торговый робот ZeroToHero за прошлый месяц сделал на основном счете 2715 сделок. А за прошлый год около 30 тысяч. Сами понимаете откуда у меня уверенность в результатах.

Очень хотел донести до вас основную мысль:

Дисперсия - жесткая штука. Подумайте об этом.