Переподгонка бэктеста (overfitting) возникает, когда исследовательский процесс подстраивает свои решения слишком близко к историческим наблюдениям, из-за чего правило выглядит необычайно успешным на той самой выборке, где оно отбиралось. Причина не ограничивается сложными моделями. Простое пересечение скользящих средних тоже можно переподгнать, если протестировать достаточно активов, временных периодов, размеров стопов и метрик, а затем опубликовать лишь самую удачную комбинацию.
Считайте количество сделанных выборов
Предположим, исследователь пробует десять индикаторов, несколько пороговых значений, четыре актива, два таймфрейма и несколько диапазонов дат. Даже если в каждом прогоне используется разумное правило, число возможностей найти привлекательный исторический исход оказывается намного больше, чем показывает финальный скриншот. Решения, принятые после просмотра результатов, также имеют значение: изменение условий выхода, исключение сложного рыночного периода или выбор метрики, выставляющей стратегию в лучшем свете, — всё это меняет ход эксперимента.
Ведите журнал экспериментов с датами. Фиксируйте каждую протестированную версию стратегии, набор параметров, набор данных, метрику и причину изменения направления, включая разочаровывающие результаты. Если более ранний эксперимент побудил вас выбрать новую гипотезу, укажите эту связь. Не удаляйте неудачные прогоны из описания лишь потому, что итоговая конфигурация выглядит аккуратно.
Используйте хронологию, не считая её панацеей
Перед оптимизацией разделите данные по времени. Используйте более ранние наблюдения для реализации и сравнения правил, а более поздний интервал зарезервируйте для ограниченной оценки. Не перемешивайте бары временного ряда случайным образом между обучающей и тестовой выборками: соседние бары обладают общим контекстом, и случайное разбиение может позволить информации из более позднего режима повлиять на ранние решения. Зафиксируйте границу и метод отбора до открытия результатов на контрольной выборке (holdout).
Контрольная выборка обеспечивает ограниченную защиту только до тех пор, пока остаётся невидимой. Если вы запустите на ней отобранную конфигурацию, изучите её сделки, измените порог и запустите снова, эти наблюдения уже повлияют на скорректированное правило. Отметьте данный сегмент как использованный. Подлинно более поздняя выборка или перспективное наблюдение могут ответить на новый вопрос, хотя ни то, ни другое не гарантирует, что будущие условия окажутся сопоставимыми.
Walk-forward оценка повторяет циклы хронологической подгонки и оценки в окнах, однако и ей можно злоупотребить. Выбор длины окон, графика переобучения и финальной метрики после просмотра множества траекторий создаёт ещё один скрытый поиск. Записывайте процедуру полностью и сравнивайте её с простым бенчмарком. Сообщайте число окон и любой режим, в котором метод показал сбой.
Разберите одно разбиение PBO вручную
В исследовании вероятности переподгонки бэктеста Бейли, Борвейна, Лопеса де Прадо и Чжу представлена комбинаторно-симметричная кросс-валидация (CSCV): ряд доходностей кандидатов делится на чётное число блоков, половина многократно используется для выбора лучшего кандидата, а затем этот выбор ранжируется на оставшейся половине. Ниже приведён намеренно упрощённый учебный пример с четырьмя блоками равной длины, где в качестве фиксированного критерия оценки взята средняя доходность. Все приведённые значения вымышлены и выражены в процентах за блок; ни одно из них не является биржевыми данными.
| Кандидат | Блоки 1–2: среднее при отборе | Блоки 3–4: среднее при оценке | Ранг оценки (от худшего к лучшему) |
|---|---|---|---|
| A | 7.0% | −4.0% | 1 of 4 |
| B | 2.1% | 2.1% | 4 of 4 |
| C | 1.0% | 1.0% | 3 of 4 |
| D | 1.5% | 0.5% | 2 of 4 |
Кандидат A побеждает на первой половине, но финиширует последним на дополнительной половине. При N = 4 кандидатах его относительный ранг вне выборки равен ω = 1/(N + 1) = 0.20. Логит равен λ = ln(ω/(1 − ω)) = ln(0.20/0.80) ≈ −1.386, что ниже нуля, так как выбранный победитель в этом разбиении ранжируется ниже медианы кандидатов. Это лишь одно иллюстративное разбиение; оценка PBO — это доля всех заданных разбиений CSCV с λ < 0. В расчёте используется средняя доходность исключительно для наглядности арифметики; в реальном исследовании необходимо зафиксировать метрику эффективности и последовательно применять её к каждому объединённому набору блоков.
PBO — это диагностика относительного отбора, а не вероятность того, что реальная криптостратегия понесёт убытки. Симметричные комбинации блоков помогают изучить, как меняются ранги кандидатов при перекомпоновке частей внутри и вне выборки, но они не воссоздают единый хронологический путь развёртывания. Сохраняйте более поздний нетронутый хронологический тест или перспективную запись демо-торговли (paper trading) для ответа на этот отдельный вопрос и помечайте любую контрольную выборку как израсходованную, как только она повлияла на решение.
В исследовании сниженного коэффициента Шарпа (Deflated Sharpe Ratio) рассматриваются смещение отбора и ненормальное распределение доходностей при интерпретации коэффициента Шарпа. Это отдельная корректировка: она не устраняет заглядывание вперёд (look-ahead), пропущенные исполнения или дефекты набора данных. Её вывод зависит от выборки доходностей и предположений о числе и взаимозависимости испытаний, поэтому не передавайте в неё только победившую конфигурацию в отрыве от истории исследований.
Анализируйте полное распределение и механику
Показывайте не только одну максимальную доходность. Включайте количество сделок, траекторию просадки, серии убытков, экспозицию, время нахождения в рынке, издержки и вариативность по протестированным настройкам. Проверяйте, не обеспечили ли единичные аномально крупные сделки большую часть результата. Тестируйте умеренно различающиеся допущения по транзакционным издержкам. Если результат исчезает при небольшой корректировке параметров или более реалистичных затратах, прямо укажите на эту чувствительность. Качественный отчёт содержит полный набор кандидатов, критерий отбора и правило разрешения ничьих, структуру блоков, число исходов разбиения, модель издержек, а также худший и медианный ранг оценки. Читатели должны видеть, как часто победитель оказывался лишь «менее плохим», чем альтернативы, а не выводить уверенность из единственного скорректированного статистического показателя.
Отдельно проверяйте причинно-следственную синхронизацию и происхождение данных. Стратегия может выглядеть великолепно из-за использования информации, недоступной в момент принятия решения, либо из-за ошибок в метках времени, экспирации контрактов или пропущенных интервалах. Устранение такой ошибки реализации не снимает проблему предвзятости отбора. Проверке подлежат как сами данные, так и решения исследователя.
Чётко формулируйте, что представляет собой результат инструмента
SuperQuant предоставляет детерминированный журнал и рабочий процесс хронологической диагностики, но входящие в комплект исторические ряды являются синтетическими. Приложение помогает наглядно показать, как ведёт себя настроенное правило в такой среде; оно не может гарантировать доходность на реальной биржевой истории или подтвердить исполнение в реальном времени. Повторный запуск одного и того же синтетического набора данных во множестве конфигураций по-прежнему создаёт проблему отбора, даже если программное обеспечение работает корректно.
Используйте процесс проведения бэктеста, заранее объявляйте метод отбора в рабочем листе гипотезы стратегии, а также ознакомьтесь с материалами об ошибке заглядывания вперёд и поиске параметров скользящих средних. Сохраняйте историю версий и условие признания ошибки рядом с каждым результатом. Этот материал представляет собой руководство по исследованиям, а не инвестиционную рекомендацию или утверждение о том, что какой-либо метод устраняет неопределённость.