Блог им. BWT

Можно ли вылечиться от переоптимизации или это как алкоголизм? ))

    • 10 сентября 2024, 17:08
    • |
    • Poll
  • Еще

Примерно год у меня ушёл на то, чтобы «переболеть» переоптимизацией. После того как до меня наконец дошло, что искать нужно закономерности, а не лучший набор параметров для максимизации эквити, алгоритмы стали постепенно получаться. Мои размышления о том, как искать закономерности, нашли подтверждение в книге TradingSystems. ANewApproachtoSystemDevelopmentandPortfolio. К сожалению, она немного на английском, но читается легко и оказалась очень полезной. Многие другие книги, как оказалось, содержат банальные, затасканные мысли, а некоторые слишком сложны для моего понимания.

В результате работы оптимизатора мы получаем огромный массив данных, представленных, как правило, в виде таблицы. Я пользуюсь OsEngine, поэтому поясню на этом примере:
Можно ли вылечиться от переоптимизации или это как алкоголизм? ))

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

На мой взгляд, не лучшей идеей будет принимать решение и на основании второго столбца — максимальной просадки. В этом случае в результате теста будут выбраны такие параметры, чтобы обойти самые убыточные сделки (чёрных лебедей). Кстати, в книге описан интересный метод, позволяющий оценить максимальную просадку с большей точностью с использованием метода Монте-Карло. Сделки в тестируемом периоде перемешиваются в различных комбинациях, и максимальная просадка оценивается по наихудшему варианту.

Можно ли вылечиться от переоптимизации или это как алкоголизм? ))

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

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

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

Можно ли вылечиться от переоптимизации или это как алкоголизм? ))

Очевидно, что более стабильные результаты покажет параметр, выбранный в середине плато около 210, хотя наибольшую доходность, по данным оптимизатора, может показывать параметр, расположенный на «шипе» 250.

Теперь о том, как я ищу этих «уточек». Я выгружаю результаты в Excel, форматирую, сортирую и строю график. Это долго и не очень удобно))

И вот, собственно, к чему я это всё пишу, хоть было и лень, но может моя просьба от этого будет весомее.)) Алексей, было бы здорово строить такие графики прямо в оптимизаторе. Понимаю, работы много, но, может быть, внесёте это в планы?))) Возможно, ещё лучше — предоставить пользователям возможность создавать кастомные формы для анализа результатов тестирования. Я подозреваю, что в этом огромном объёме данных скрываются настоящие сокровища, но найти их сложно без специального анализа, желательно с хорошей визуализацией.




★5
15 комментариев
Тебя ничем не смущает величина Sharpe в твоей таблице, который там больше 30.
avatar
Beach Bunny, К этой величиене я отношусь философски. Строго, конечно, это не тот Шарп в общепринятом понимании, но чсто умозрительно его можно принять во внимание для оценки стратегии
avatar
Beach Bunny, А что должно смущать, по этому полю тут, вроде, и отсортировано, это хвост.
 Ты по одному параметру что ли выбираешь? Это несерьезно.
Попробуй для 3х параметров выбрать.
Ну а так да, строится насколько Pivot таблиц в чем-то типа Excell, на основании результатов тестирования, и там уже режем параметры по разным критериям, получаем то что надо, с нужной мах просадкой и доходностью, но есть ньюансы. Один вариантов рассказывал Евгений Ни на Красном циркуле
avatar
Beach Bunny, Здесь один параметр в качестве примера, но больше двух я одновременно не исследую. Если больше, то получается сложно и все «расползается» Третий параметр трудно визуализировать, или я не знаю как. Можно делать, конечно, «слоями», но кмк тоже сложно для восприятия получается
avatar
Poll, графики вообще-то и не обязательно смотреть, все можно по табличным данным делать с помощью тепловой раскраски таблицы. Ты просто не знаешь как это делается. Хотя по тем данным которые дает OSengine, мало что получится.
p.s.
Стат Метрики все вообще-то просто считаются, у них видимо мозгов не хватает посчитать их нормально.
avatar
Beach Bunny, данные-то, пади у всех одинаковые: результаты теста от параметров. А вот обрабатывать было бы не плохо иметь возможность самостоятельно. Тогда и шарп можно считать как считаешь правильным, и статистику нужную прикрутить. Но не через выгрузку в Эксель. У меня что-то сложно и долго получается.
avatar

 Ну. Один из этапов алго-просветления пройден). В этом состоянии уже можно существовать на плаву обычно).

 

Я выгружаю результаты в Excel, форматирую, сортирую и строю график. Это долго и не очень удобно))


А че не питон — там это 5 строк и готово.

 

Replikant_mih, не, питон не пробовал, но для начала в нем нужно еще как-то ументь программировать)). может дойду и до этого
avatar
Poll, А в осе не надо кодить?
Replikant_mih, я с# освоил немного. этого пока достаточно для написания основной логики. Питон пробовал неск лет назад, но что-то ниасилил))
avatar
Poll, Ясн, ну вообще питон приятней в написании и легче в изучении.
Можно допрограммировать характеристику: из результатов тестов выкидываются 20% (например) самых прибыльных трейдов и 20% самых убыточных. По оставшимся судят о стратегии относительно прибыльности.
avatar
svgr, Я рассматривал такой вариант, но его достаточно сложно реализовать, по крайней мере в текущих условиях. Нужно выкидывать (или даже точнее — не учитывать) супер прибыльные и суперубыточные сделки сразу во время оптимизации, чтобы они не сбивали с поиска закономерностей. А то, действительно, бывает одна огромная свеча и весь процесс оптимизации завязывается вокруг нее, лишь бы ее не упустить из расчета.
avatar

теги блога Poll

....все тэги



UPDONW
Новый дизайн