Что насчёт Граалей на истории? Бэк- и форвард-тесты
Недавно пришлось сойтись в одной публичной ветке с AtnFX в полемике. Касательно бэков и форвардов на тестере.
Публикую здесь мысли по этому поводу.
Итак, любая стратегия, автоматизированная под робота, даёт нам приятную возможность проводить над ней исторические тесты.
Есть алгоритм. Есть идея, заложенная в него. Есть МТС, для этой цели созданный. Теперь определимся с терминологией.
1. Бэк-тест. Тестирование робота на истории. Бэк нужен, чтобы проверить, как стратегия повела бы себя на случайном периоде истории.
2. Форвард-тест. Понравились результаты бэка? Прогоним их на другом историческом периоде, чтобы узнать, как стратегия себя повела бы, будь создана накануне форвард-периода.
Есть негласное правило, что бэк-период должен быть меньше форварда.
Оптимизируем стратегию (допустим, 2010-2011 гг.). Получаем серию сэтов в "Результатах оптимизации". А вот что делать с этими чудесными сэтами дальше, вызывает споры.
Выбираем другой временной промежуток под форвард-тест (допустим, 2012-2016 гг.).
1) Мой подход (в принципе, стандартный)
Прогоняем сэты из бэк-теста на последующих годах. Для этого ранжируем их: по доходности, по размеру просадки, по мат.ожиданию. Какие понравились, те и запускаем на 2012-2016 гг. Сравниваем полученные результаты. Выбираем. Сэт, показавший себя лучше всего, ложится в основу торговой стратегии. Прогонять можно все сэты, выданные "Результатами оптимизации".
2) Подход AntFX
Перед прогонкой сэта из бэк-теста на последующих годах выбираем самый лучший сэт. Один. Потому что "There can be only one" © Курган
Для этого проводим ранжирование по доходности, по размеру просадки, по мат.ожиданию. Понравиться нам может один-единственный. Прогоняем на форварде. Показал себя плохо? Выбрасываем на помойку весь набор сэтов. Причина: прогонка не одного, а всех сэтов на форварде будет означать переоптимизацию. Как если бы все 2010-2016 гг. служили для нас периодом бэк-теста.
Так как же обстоят дела в действительности?
ПОЛЕМИКА
Нужно сказать, что твёрдой теоретической базы в доказательство того или иного подхода не существует. Остаются лишь эмпирические наблюдения.
Но попробуем потеоретизировать. Сделаю я это в поддержку своей собственной позиции, разумеется.
1. По какому параметру выбирать единственный сэт для прогонки на форварде?
Доходность (самый очевидный параметр)?
Ок. Допустим, есть сэт №67 с доходностью 10 000$ и просадкой 7 000$ и сэт №88 c доходностью 9 000$ и просадкой 4 000$. Несмотря на меньшую доходность сэта №88, логично, что он является предпочтительным.
Мат.ожидание (М.О.)?
Может быть сэт №80 с М.О. 20 и всего лишь 30 сделками за 2010-2011 гг., а также сэт №111 с М.О. 18 и 300 сделками за 2010-2011 гг. Логично, что первый сэт с 30 сделками не является репрезентативным, несмотря на явно большее М.О. В то время как сэт №111 гораздо точнее, потому что с ним мы были в рынке гораздо чаще и успели совершить 300 сделок вместо 30.
Следовательно, выбрать единственный сэт для форварда не представляется возможным из-за явной субъективности выбора такового.
2. Фактор случайности.
Исходя из первого пункта, я могу выбрать не первый в списке, а абсолютно случайный сэт для форварда. Его результат может меня удовлетворить. Он-то и ляжет в основу стратегии.
Что мешает мне выбрать не 111й, а 55й сэт и удовлетвориться им?
В то же время, я вполне мог наткнуться на 55й сэт методом подбора, увидеть, что он показывает оптимальные результаты, и остановиться на нем.
Так какая разница, протестирую я только 55й сэт и никакой другой, или выберу его из множества ему подобных?
3. Отсутствие прямой корреляции между тестированием на бэк-тестах и реальной торговлей.
Выбирая любой сэт, я также играюсь с вероятностями, как и сравнивая бэки с форвардами. Реал внесёт свои неизбежные коррективы. Следовательно, трейдер не совершает никакой критической ошибки, отдавая предпочтение тому или иному сэту из "Результатов оптимизации".
Следовательно, способ работы с форвард-тестами является личным предпочтением трейдера точно так же, как и создание формальных правил для своей торговой стратегии.
Всем, кто согласен, предлагаю отписаться в комментариях; тех, кто имеет противоположную точку зрения, призываю высказать свои контраргументы.
Ведь только в споре рождается истина
2 Comments
Recommended Comments