Проверка стратегий

Переоптимизация бэктеста: как сохранить независимый тест

Когда проверочная выборка перестаёт быть независимой и как не превратить её в ещё один этап подгонки.

Хронологические участки разработки, проверки и отложенного теста

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

Удачное разделение истории не доказывает будущую прибыль. Задача проверки скромнее: уменьшить вероятность принять случайную закономерность из прошлого за устойчивое торговое правило. Для этого нужен воспроизводимый эксперимент, а не только красивая кривая капитала.

Запишите границы поиска параметров

Начните с гипотезы и небольшого числа разрешённых изменений. Например: «Стратегия пытается следовать за продолжительными движениями; сравниваю три длины средней, сохраняя выход и размер позиции». Такой поиск легче проверить, чем бесконечное улучшение итоговой доходности.

Посчитайте варианты честно. Четыре порога входа, пять расстояний стопа и три временных фильтра дают 4 × 5 × 3 = 60 комбинаций. Если затем вы сменили рынок или исключили неудобный месяц, это тоже часть исследования. Победитель получен всей последовательностью решений, а не единственным независимым тестом.

У каждого изменения должна быть причина, связанная с исходной гипотезой. Объяснение «так результат выше» сообщает о подборе по истории, но не объясняет экономический смысл нового фильтра. Сохраняйте и неудачные идеи: они показывают реальный масштаб поиска.

Разделите данные по времени

Условные 30 месяцев можно распределить так: 18 на разработку, шесть на промежуточную проверку и шесть на финальный отложенный тест. Получится 60%, 20% и 20%. Это пример планирования, а не универсальная пропорция. Редкая стратегия может дать слишком мало сделок; у частой многие сделки могут зависеть от одного рыночного движения.

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

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

Сравнивайте область параметров, а не победителя

Учебный пример с одинаковой моделью затрат: вариант A дал 18% на разработке и −4% на промежуточной проверке; B — 12% и 3%; C — 10% и 2%. Выбор A только из-за максимальных 18% игнорирует его поведение на следующем участке.

Но B тоже не становится правильным автоматически. Нужны заранее выбранная цель, просадка, число сделок и объяснение правил. Допустим, соседние значения длины для B дали 2,5%, 3% и 2,8% на промежуточной проверке. Такая окрестность локально устойчивее отдельного пика 3% среди крупных убытков. Будущую прибыль это всё равно не устанавливает.

Сохраните всю небольшую сетку. Устойчивый участок — диагностический признак, а не повод расширять поиск до появления приятной картинки. До финального теста сформулируйте, какой исход заставит вас отвергнуть гипотезу, а не добавить очередное исключение.

Исключите информацию из будущего

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

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

Специализированные средства, например lookahead analysis в Freqtrade, помогают искать определённые ошибки реализации. Успешная диагностика не исключает все проблемы данных. Отдельно проверяйте пропуски, корректировки цен и состав активов в истории.

Зафиксируйте эксперимент перед продолжением

  • Записаны гипотеза и критерий отказа от неё.
  • Сохранены семейства параметров и отвергнутые версии.
  • Участки разработки, проверки и финального теста различаются.
  • Комиссии, объёмы и допущения исполнения согласованы.
  • Учтены прогрев индикаторов и пересечение временных границ.
  • Проверены соседние параметры и разные состояния рынка.
  • Следующее наблюдение в Paper будет идти без изменения выбранной версии.

При walk-forward заранее заданную процедуру настройки повторяют только на предыдущих данных, затем соединяют следующие за ними проверочные участки. Выбирать после просмотра самые удачные участки нельзя. Общую последовательность объясняет руководство по бэктесту.

Clerix показывает связанный процесс правил, Backtest, Paper и аналитики. Движки тестирования и live-исполнение находятся в разработке. Изучите возможности Clerix со своим планом эксперимента: наличие оптимизатора или walk-forward нельзя предполагать по одной иллюстрации процесса.

Вопросы об отложенной выборке

Достаточно разделить историю 70/30?

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

Можно улучшать стратегию после неудачного теста?

Можно, но это новое исследование. Сохраните неудачный итог и отметьте период как просмотренный. Повторная проверка на нём уже не является независимым подтверждением.

Положительный финальный тест разрешает запуск?

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

Редакция Clerix

Редакционные материалы Clerix о правилах стратегий, методах проверки и ограничениях торговых симуляций.

Посмотреть, как работает Clerix