Блог им. BWT
Примерно год у меня ушёл на то, чтобы «переболеть» переоптимизацией. После того как до меня наконец дошло, что искать нужно закономерности, а не лучший набор параметров для максимизации эквити, алгоритмы стали постепенно получаться. Мои размышления о том, как искать закономерности, нашли подтверждение в книге TradingSystems. ANewApproachtoSystemDevelopmentandPortfolio. К сожалению, она немного на английском, но читается легко и оказалась очень полезной. Многие другие книги, как оказалось, содержат банальные, затасканные мысли, а некоторые слишком сложны для моего понимания.
В результате работы оптимизатора мы получаем огромный массив данных, представленных, как правило, в виде таблицы. Я пользуюсь OsEngine, поэтому поясню на этом примере:Для начинающих наиболее соблазнительным выглядит первый столбец. В нём отсортированы стратегии с самыми прибыльтыми, но, как правило, переоптимизированными результатами. Параметры стратегии подобраны так, чтобы захватить как можно больше самых прибыльных сделок (белых лебедей) на тестируемом периоде.
На мой взгляд, не лучшей идеей будет принимать решение и на основании второго столбца — максимальной просадки. В этом случае в результате теста будут выбраны такие параметры, чтобы обойти самые убыточные сделки (чёрных лебедей). Кстати, в книге описан интересный метод, позволяющий оценить максимальную просадку с большей точностью с использованием метода Монте-Карло. Сделки в тестируемом периоде перемешиваются в различных комбинациях, и максимальная просадка оценивается по наихудшему варианту.
В книге также приведено несколько любопытных методов оценки результатов тестирования. Например, дан числовой ориентир по величине профит-фактора. Если этот показатель находится в пределах 1,5–3, то это нормально. Если он выше 3, то, с большой вероятностью, система переоптимизирована.
Если продолжить ассоциацию с лебедями, то закономерности, которые я ищу, можно сравнить скорее с серыми утками. Они не такие большие, но их должно быть много, и они должны быть достаточно устойчивы.
Устойчивость или стабильность параметров, возможно, имеет своё специальное название. В моей логике это постоянство прибыли при незначительных изменениях параметра. Поясню на графике. В результате оптимизации мы имеем некий результат по прибыльности в зависимости от изменения параметра. На графике показан доход системы в зависимости от изменения параметра.
Очевидно, что более стабильные результаты покажет параметр, выбранный в середине плато около 210, хотя наибольшую доходность, по данным оптимизатора, может показывать параметр, расположенный на «шипе» 250.
Теперь о том, как я ищу этих «уточек». Я выгружаю результаты в Excel, форматирую, сортирую и строю график. Это долго и не очень удобно))
И вот, собственно, к чему я это всё пишу, хоть было и лень, но может моя просьба от этого будет весомее.)) Алексей, было бы здорово строить такие графики прямо в оптимизаторе. Понимаю, работы много, но, может быть, внесёте это в планы?))) Возможно, ещё лучше — предоставить пользователям возможность создавать кастомные формы для анализа результатов тестирования. Я подозреваю, что в этом огромном объёме данных скрываются настоящие сокровища, но найти их сложно без специального анализа, желательно с хорошей визуализацией.
Попробуй для 3х параметров выбрать.
Ну а так да, строится насколько Pivot таблиц в чем-то типа Excell, на основании результатов тестирования, и там уже режем параметры по разным критериям, получаем то что надо, с нужной мах просадкой и доходностью, но есть ньюансы. Один вариантов рассказывал Евгений Ни на Красном циркуле
p.s.
Стат Метрики все вообще-то просто считаются, у них видимо мозгов не хватает посчитать их нормально.
Ну. Один из этапов алго-просветления пройден). В этом состоянии уже можно существовать на плаву обычно).
А че не питон — там это 5 строк и готово.