Трейдерский самообман: недоверие к форвардам.

 

Практически не встречаю анализа эффективности стратегий и систем на основании форвардов.

Что это? Отсутствие традиции или избегание неприятных эмоций?

 Если отсутствие честных форвардов при продаже советников еще как-то объяснить можно желанием втюхать продукт, то упор на красивые подогнанные графики в рабочем обсуждении ничем иным, кроме желания обмануться самому объяснить нельзя. Более того, встречаются даже заявления, что доверять истории брокеров нельзя, она содержит какую-то "лишнюю волатильность" и прочие мифы.

Но вопрос все равно остается и он вполне правомочен - а можно ли доверять форвардам? Ответ, на мой взгляд, вполне очевиден - ровно в той степени, насколько можно доверять принципу моделирования торгов, т.е. бэк-тестам вообще. Каждый желающий может сделать простейший опыт - получить результат торгов на демосчете и прогнать эту же систему с этими же настройками в своем тестере за тот же отрезок. Т.е. получить реальный и тестово-виртуальный форвард и сравнить. Я это делал много раз с разными брокерами и результат всегда примерно один и тот же. Да, различия есть, но они не принципиальны.

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

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

Сразу видно, что бэк-тест стратегии Б даже лучше, но она проигрывает по форварду. Другими словами у стратегии А инерционность прибыльности лучше, чем у стратегии Б.  Какая стратеги больше подходит для торговли? Ясно, что первая.

Кроме того, при помощи фораврдов можно выяснять оптимальную периодичность тестирования и много чего еще. Но вот не модные они.

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

 

Не вполне понял запрос. Что надо-то ?

Бэктест - это обычно, как я понимаю, отрезок, на котором проходила оптимизация ТС. А форвард - это отрезок, где оптимизация не проводилась. Что ж удивительного, что результаты форвада похуже ?

 
Дык стандартный оптимизатор МетаТрейдер позволяет выбрать не только период бэк-теста, но и форвард-теста - https://www.metatrader5.com/ru/terminal/help/algotrading/testing, по его показателям трейдеры и должны выбирать настройки и делать заключения о пригодности стратегий.
 
Stanislav Korotky:
Дык стандартный оптимизатор МетаТрейдер позволяет выбрать не только период бэк-теста, но и форвард-теста - https://www.metatrader5.com/ru/terminal/help/algotrading/testing, по его показателям трейдеры и должны выбирать настройки и делать заключения о пригодности стратегий.
Ну а как автоматически сравнить  разные форварды для разных стратегий между собой, причем, в ситуации, когда есть 12 последовательных форвардов по результатам оптимизации одной и 12 по другой?
 
Youri Tarshecki:
Ну а как автоматически сравнить  разные форварды для разных стратегий между собой, причем, в ситуации, когда есть 12 последовательных форвардов по результатам оптимизации одной и 12 по другой?

А чем 12 последовательных форвардов отличаются от одного общего форварда на объединенном периоде всех 12 форвардов?

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

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

 
Stanislav Korotky:

А чем 12 последовательных форвардов отличаются от одного общего форварда на объединенном периоде всех 12 форвардов?

По этой логике самый лучший тип оптимизации - за последние 20 лет. А еще лучше за 100. Характер графика цены, как правило, меняется со временем. Подбор глубины истории  -это отдельная тема. Но то, что форвардов должно быть много - это точно.
 
Youri Tarshecki:
Ну а как автоматически сравнить  разные форварды для разных стратегий между собой, причем, в ситуации, когда есть 12 последовательных форвардов по результатам оптимизации одной и 12 по другой?
А как вы намерены сравнивать два форварда ? Есть ли формальные критерии сравнения ?
 
я не совсем понял суть проблемы. Всегда делал просто, например так: оптимизация за 2 месяца, тест месяц после оптимизации. накапливал данные за год и делал вывод о работоспособности алгоритма. В принципе весь функционал есть, записывал основные данные по тесту в тетрадь. Если система показывает стабильный плюс на форварде, она жизнеспособна.
 
 Romanov:
я не совсем понял суть проблемы. Всегда делал просто, например так: оптимизация за 2 месяца, тест месяц после оптимизации. накапливал данные за год и делал вывод о работоспособности алгоритма. В принципе весь функционал есть, записывал основные данные по тесту в тетрадь. Если система показывает стабильный плюс на форварде, она жизнеспособна.

Я автоматически делаю ровно то же самое, правда, результат получаю в виде скринов экрана. Поэтому у меня задача -1. научиться записывать данные по форвардам в некий файл, где они будут анализироваться и обрабатываться вцелом за год. 2. сравнивать в нем данные за год двух и больше экспертов 3. автоматически выбирать самый успешный по форвардам эксперт

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

 
В МТ5 можно использовать OnTesterPass для обработки и записи всех результатов в собственные файлы. В МТ4 есть функция TesterStatistics доступная из OnTester.
 
Stanislav Korotky:
В МТ5 можно использовать OnTesterPass для обработки и записи всех результатов в собственные файлы. В МТ4 есть функция TesterStatistics доступная из OnTester.
Предположим, я использую OnTesterPass  в составе кода советника, который тестирую. Как он узнает, что данный прогон - это выявление форварда, а не рядовые прогоны по оптимизации переменной? И даже если он сумеет это сделать, Это будут разные файлы, а нужна одна таблица для многих форвардов одного советника . А потом еще одна таблица , и еще одна для другого и все это в одном файле.
Причина обращения: