Обсуждение статьи "Единый пайплайн валидации для защиты от переобучения бэктеста"

 

Опубликована статья Единый пайплайн валидации для защиты от переобучения бэктеста:

В статье объясняется, почему стандартный метод пошагового тестирования (walk-forward) и k-блочная кросс-валидация завышают результаты на финансовых данных, а затем показано, как это исправить. Валидация внутри валидации (V-in-V) обеспечивает строгое разбиение данных и пошаговое тестирование с фиксированным началом (anchored) между окнами. Комбинаторно очищенная кросс-валидация (CPCV) устраняет утечки данных с помощью очистки и эмбарго, одновременно агрегируя результативность на уровне траекторий бэктеста. Комбинаторно симметричная кросс-валидация (CSCV) измеряет вероятность переобучения бэктеста (PBO). Практикующие специалисты получают целостную систему для оценки устойчивости к рыночным режимам и надежности отбора кандидатов.

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

А затем при переходе к реальной торговле стратегия сразу же проваливается.

Этот результат настолько распространен, что в сообществе количественных исследователей для него сложилось собственное устоявшееся выражение. Причиной почти всегда является одна из форм переобучения: алгоритм запомнил исторический шум конкретного набора данных, а не устойчивую рыночную структуру, применимую к будущим данным. Менее известно, что переобучение не является единым явлением. Оно возникает по нескольким различным каналам, каждый из которых требует отдельной меры противодействия. Специалист, применяющий лишь одну меру защиты — чаще всего простое разбиение на обучающую и тестовую выборки, — по-прежнему остается уязвимым к остальным рискам.

В статье рассматриваются три наиболее строгих инструмента борьбы с переобучением при разработке алгоритмических стратегий: валидация внутри валидации (V-in-V), сформулированная Тимоти Мастерсом; комбинаторно очищенная кросс-валидация (CPCV), разработанная Маркосом Лопесом де Прадо; и комбинаторно симметричная кросс-валидация (CSCV), представленная Бейли и Лопесом де Прадо. Каждый из них устраняет отдельный тип методологического сбоя. В совокупности они образуют комплексную защиту от наиболее существенных форм статистического самообмана в количественных исследованиях.


Автор: Patrick Murimi Njoroge

 
Хотя техническая глубина этой статьи заслуживает похвалы — особенно внимание, уделенное CPCV и процессам очистки/заморозки данных — существует значительный «разрыв в реализации», в который попадут большинство розничных трейдеров. Основная проблема с «унифицированным конвейером валидации», реализуемым вручную, заключается в том, что он вводит новый уровень переобучения со стороны аналитиков. Когда трейдер сам отвечает за настройку разделов данных, окон очистки и длительности эмбарго, он часто (бессознательно) подстраивает эти параметры до тех пор, пока «проверенные» результаты не начнут выглядеть благоприятно. Это и есть переобучение, только на более высоком уровне абстракции. Кроме того, реализация этих сложных статистических методов непосредственно в MQL5 сопряжена с высоким риском ошибок. Единственная ошибка в логике очистки или небольшое перекрытие закрепленных окон продвижения вперед может привести к катастрофической утечке данных, создавая ложное чувство безопасности. В институциональном мире мы отходим от «ручных конвейеров» и переходим кстудиям автоматизированного тестирования . Цель заключается не просто в наличии конвейера, а в создании стандартизированной, проверенной на практике среды, в которой человеческий фактор полностью исключен из процесса валидации. Без такой автоматизации и стандартизации даже самый «унифицированный» конвейер — всего лишь ещё один инструмент для p-хакинга.
 

Ой, я опоздал со своими соображениями — Уоррен Гиддингс уже высказал дельные замечания. ;-)

В частности, я хотел бы отметить, что в статье осталась за кадром одна очень важная метаоптимизация — а именно настройка размеров окна в выборке и шага продвижения. Ведь метод walkforward не ограничивается только методами rolling и anchored, существует ещё и оптимизация cluster walkforward.

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

 
Отличная работа! Спасибо!
 
Warren Giddings отходим от «ручных конвейеров» и переходим кстудиям автоматизированного тестирования . Цель заключается не просто в наличии конвейера, а в создании стандартизированной, проверенной на практике среды, в которой человеческий фактор полностью исключен из процесса валидации. Без такой автоматизации и стандартизации даже самый «унифицированный» конвейер — всего лишь ещё один инструмент для p-хакинга.
Здравствуйте, Уоррен,

спасибо за ваш отзыв. Я полностью согласен со всеми поднятыми вами вопросами, и создание такого автоматизированного конвейера и является целью моей серии статей

«План развития машинного обучения для MetaTrader 5». Эта статья была призвана открыть глаза читателям, которые никогда особо не задумывались о том виде переобучения, который я рассмотрел в этой статье, — именно поэтому я и выделил её в отдельную статью, отличающуюся от остальных статей серии «План развития машинного обучения».

 
Stanislav Korotky #:

Ой, я опоздал со своими мыслями — Уоррен Гиддингс уже высказал дельные замечания. ;-)

В частности, я хотел бы отметить, что в статье осталась за кадром одна очень важная метаоптимизация — а именно настройка размеров окна внутри выборки и шага продвижения. Ведь метод walkforward не ограничивается только rolling и anchored, существует также оптимизация cluster walkforward.

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

Здравствуйте, Станислав,

Совершенно верно. Как я уже говорил Уоррену, эта статья задумана как введение в концепции, которые мы можем использовать для смягчения переобучения. Более подробно они будут рассмотрены в моей серии статей «Blueprint по машинному обучению в MetaTrader 5 ».
 
Vasiliy Sokolov #:
Отличная работа! Спасибо!
Не за что! Спасибо, что нашли время прочитать это.
 
Полный исторический массив данных
│
├── ВНЕШНЯЯ ОБУЧАЮЩАЯ ВЫБОРКА (~60%)         ← Здесь проводится полный исследовательский поиск
│
├── ВНУТРЕННЯЯ ВАЛИДАЦИОННАЯ ВЫБОРКА (~20%)  ← Здесь проводится предварительный отбор кандидатов
│                                              (число рассматриваемых кандидатов намеренно ограниченно)
│
└── ФИНАЛЬНАЯ ТЕСТОВАЯ ВЫБОРКА (~20%)        ← Открывается только один раз – после полной фиксации решения

Это кот Шредингера, у которого вероятность 50/50 быть рабочей торговой стратегией. Пока кот находится в суперпозиции (не проведена финальная тестовая выборка), ТС рабочая и нерабочая одновременно.

Но как только тест проведен - это подгонка.


Да, это плохо соотносится с классической логикой. Ведь если ТС рабочая, то как ее финальный тест может сделать ее автоматически нерабочей?! У меня нет хорошего аргумента на этот логичный вопрос.

Но проведение финального теста, похоже, все же походит на приговор для ТС.


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


В общем, очень сумбурно и фундаментально.

 
fxsaber #:

В общем, очень сумбурно и фундаментально.

Статью пока только начал читать. Но где про горизонт робастности ТС?
Говоря про прибыльную торговую систему, необходимо ставить цель: какую хочется получить прибыль и к какой дате.
Предлагаемые методики для выполнения какой цели? Или речь про торговый грааль?