Михаил Михалев
Михаил Михалев личный блог
04 мая 2026, 17:07

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

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

До этого момента у меня были 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 раз лучше, чем совсем без прогноза.



Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.

4 Комментария
  • Alexey Manin
    04 мая 2026, 22:07
    Красиво, ждем walk-forward бэктест.
  • Op_Man
    04 мая 2026, 22:58

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

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

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

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

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

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн