Перейти к содержимому






Фотография
- - - - -

Что насчёт Граалей на истории? Бэк- и форвард-тесты

Написано Dan_pam , 15 Январь 2017 · 363 Просмотров

Изображение

Недавно пришлось сойтись в одной публичной ветке с 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. Отсутствие прямой корреляции между тестированием на бэк-тестах и реальной торговлей.
Выбирая любой сэт, я также играюсь с вероятностями, как и сравнивая бэки с форвардами. Реал внесёт свои неизбежные коррективы. Следовательно, трейдер не совершает никакой критической ошибки, отдавая предпочтение тому или иному сэту из "Результатов оптимизации".

Следовательно, способ работы с форвард-тестами является личным предпочтением трейдера точно так же, как и создание формальных правил для своей торговой стратегии.

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

  • 0



Думаю, любой субъективный выбор периода тестирования - это подгонка. Считаю, для этого лучше использовать заранее придуманную формулу. Такой же подход и к вариантам тестов. Например можно смотреть по 1 параметру соотношение потенциальной годовой доходности к максимальной просадке за этот период.

 

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

 

P.S. Спекуляции это не точная наука как и экономика, поэтому применение формул и инструментов - в большей мере искусство.

    • 1

Например можно смотреть по 1 параметру соотношение потенциальной годовой доходности к максимальной просадке за этот период.

 

Именно такой параметр я и выбрал как единственный критерий при выборе сэтов для стратегии. Мне он кажется оптимальным, ничего лучше не придумалось! Ведь это же и есть фактор восстановления, всеми любимый.

 

Форвард тесты можно заменить фильтром заморозки системы, в случае выхода за предельные значения фильтров : максимальная просадка, количество убыточных сделок подряд, длительное колебание эквити возле одной отметки и так далее.

 

Занятно, такой шаг тоже в свое время был выбран. Только вместо заморозки - экспоненциальное понижение объемов именно на той системе, которая выбивается из общих показателей прибыльности/просадки/etc. А вот про параметр "длительное колебание эквити возле одной отметки", то есть период стагнации системы, раньше не думал. Признателен!

 

P.S. Спекуляции это не точная наука как и экономика, поэтому применение формул и инструментов - в большей мере искусство.

А вот этим предложением Вы полностью подвели черту под всей полемикой - потому что согласен на 100%! Пока нет общих учебников и каких-то аксиом, пока не выработана, что называется, парадигма - это всё субъективщина. А субъективность - черта именно искусства. Я не сомневаюсь, что есть интуитивно торгующие прибыльные трейдеры, хоть и не представляю логику их работы. Так же как не представляю, как работают талантливые художники или поэты))

Видимо, и правда наш спор с AntFX'ом был просто спором двух противоположных субъективных подходов. И критерий тут может быть только один - прибыльность, показанная при использовании того или иного подхода.

 

Спасибо, ReAcT, Вы помогли мне избавиться от заблуждения, что какой-то один подход может быть объективной истиной в последней инстанции)) Просто научный подход всегда кажется априори точнее. Но иногда (!) излишне жёсткие алгоритмы действительно сдерживают развитие.

    • 0

Trackbacks для записи [ Trackback URL ]

Для данной записи нет trackbacks.