Блог им. MihailMihalev

Подгонка или оптимизация.

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

До этого момента у меня были Out-Of-Sample тесты в виде чередования недель для оптимизации параметров и валидации, walk-forward расширяющимся и скольящим окном. Решил немного улучшить способ с чередованием недель:
  1. Берем на всей истории случайных N% недель для оптимизации параметров.
  2. Для валидации берём недели, не попавшие в первый список.
  3. Оптимизируем параметры и снимаем метрики по первому и второму списку.
  4. Повторяем 1-3 пункт 100 раз и записываем показания.
  5. Выводим распределения метрик и их отношений в виде гистограмм.
  6. Выводим распределения параметров в виде гистограмм.
  7. Считаем коэффициент деградации метрик на Out-Of-Sample

Истории мало, только с 2025-01-27, — тогда появилась утренняя сессия. Убраны плечи и используется только одна прогнозная модель.

Если разделить недели 50% на 50%, то получается вот что:
Подгонка или оптимизация.

Коэффициент деградации стратегии на Out-Of-Sample можно выразить как единица минус среднее геометрическое от отношений прибыли, просадки^-1, средней сделки: 1 — (0.65*(1/1.68)*0.67)^(1/3) = 0.36 = 36%. 
Распределения оптимизированных параметров при этом выглядят вот так:
Подгонка или оптимизация.

Если разделить недели 75% на 25%, то получается вот что:
Подгонка или оптимизация.

Коэффициент деградации: 1 — (0.78*(1/0.94)*0.84)^(1/3) = 0.11 = 11%. (внезапно средняя просадка на валидации получилась чуть меньше, чем на оптимизации)
Распределения параметров при этом выглядят вот так:
Подгонка или оптимизация.



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


Очень отдаленно похоже на линейную зависимость с выбросами. Если бы данных для тестирования было больше, было бы больше уверенности, но чисто теоретически, между ними может быть зависимость, т.к. они влияют на один и тот же параметр сделки и зависят от одной характеристики рынка. Просто один параметр статический, а другой — коэффициент в системе адаптации к рынку через прогноз характеристики рынка. Без выбросов никуда, потому что точность прогноза не очень высокая — средний процент ошибки 28%, но это в 100500 раз лучше, чем совсем без прогноза.


566
4 комментария
Красиво, ждем walk-forward бэктест.
avatar

Интересная идея с рандомным разбиением недель и накоплением статистики по 100 прогонам. В теории это лучше одного классического бэктеста. Но есть ощущение, что коэффициент деградации вы выбрали произвольно (на глаз): перемножение прибыли, просадки^-1 и средней сделки + корень кубический могут красиво сглаживать сильную деградацию одной метрики за счёт другой... 

Плюс история с 27.01.2025, 25% недель в OOS при 75/25 — это совсем мало, метрики на валидации там будут сильно шумные, а про доверительные интервалы/значимость вы не пишете вроде. Надо перечитать.

По скаттеру первых двух параметров тоже хочется хоть какой‑то формальной проверки зависимости (корреляция/регрессия), а не только визуальной оценки.

Не думали посчитать, например, распределения разницы IS/OOS по каждой метрике отдельно, с интервалами, и/или добавить простой бенчмарк — «тупую» стратегию без прогноза какую-то — для сравнения? 

И кривулек не хватает, нет ничего лучше для оценки:)

avatar
Op_Man, 
перемножение прибыли, просадки^-1 и средней сделки + корень кубический могут красиво сглаживать сильную деградацию одной метрики за счёт другой
Тут была идея визуального контроля, а коэффициент деградации как довесок. Изначальная проблема с черезнедельным тестом была в том, что получалась какая-то дичь на валидации из-за календарных циклов. Ну и второй момент был в том, что хотелось увидеть распределение оптимизированных параметров, потому что закралось подозрение, что пара параметров сильно меняется из-за незначительных изменений в данных или алгоритме.

Плюс история с 27.01.2025, 25% недель в OOS при 75/25 — это совсем мало
Мало, но приходится работать с тем, что есть. Другие стратегии не связанные с утренней сессией буду тестировать на всех доступных данных.

По скаттеру первых двух параметров тоже хочется хоть какой‑то формальной проверки зависимости (корреляция/регрессия)
Визуальный контроль и мысленный эксперимент может оказаться лучше регрессии:) Если бы это была массовая автоматизированная проверка, то сделал бы регрессию.

Не думали посчитать, например, распределения разницы IS/OOS по каждой метрике отдельно, с интервалами, и/или добавить простой бенчмарк
Наверное можно, но я уже увидел всё, что хотел, а у меня ещё TODO на год вперёд:)
Михаил Михалев, ясненько, понятненько)
avatar

Читайте на SMART-LAB:
Фото
BRENT: Слишком дорого, чтобы расти дальше?
Нефть протестировала многолетние максимумы в районе $114 за баррель. Отчетливо видно, что быки не желают рисковать: под сопротивлением формируется...
Фото
Итоги первичных размещений ВДО и некоторых розничных выпусков на 5 мая 2026 г.
Следите за нашими новостями в удобном формате:  Telegram ,  Youtube ,  RuTube,   Smart-lab ,  ВКонтакте ,  Сайт
Фото
Банковский сектор: на какие бумаги стоит обратить внимание?
Эксперты отмечают нейтральную динамику акций банковского сектора в 2026 году ― в большинстве регионов эти бумаги отстают от широких рынков....
Фото
Газпром: рекордная квартальная прибыль или оставь надежду всяк сюда входящий, но сентимент разворачивается вместо цены акции?
Газпром недавно отчитался по МСФО за 2025 год и по РСБУ за 1-й квартал Рассмотрим все сразу, обновим модель + сравним прогноз-факт, как...

теги блога Михаил Михалев

....все тэги



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