Jump to content

MarketPhilosopher

  • entries
    13
  • comments
    27
  • views
    12,501

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


Dan_pam

1,610 views

587b9d53273d9_9xSxVGe4hI.jpg

 

Недавно пришлось сойтись в одной публичной ветке с 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

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

 

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

 

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

  • Thanks 1
Link to comment

 

 

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

 

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

 

 

 

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

 

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

 

 

 

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

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

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

 

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

Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...