Overfitting, или переобучение, возникает, когда модель либо правило усваивает особенности данных разработки вместо переносимой зависимости. Поэтому в торговле недостаточно лучшего исторического результата: важно, как выбрана стратегия и что она показывает на дальнейших данных.
Пётр тестирует правило покупки bitcoin. Исторический тест даёт убыток, и он меняет период средней. Затем добавляет условие, пропускающее неудачные сделки. Кривая улучшается, но, возможно, он лишь обходит уже известные случайности. QuantConnect описывает так подгонку к деталям и шуму обучающих данных. Учиться на прошлом не проблема. Проблема — принять его частные особенности за закономерность, которая сохранится дальше. [1]
Пётр мог бы удалить все условия, но вместе с ними потерять полезную зависимость. scikit-learn показывает обе крайности: слишком простая модель не улавливает связь, слишком гибкая может повторять случайные детали выборки. Число настроек само по себе не определяет переобучение. Простой подход требует такой же честной оценки на надлежащим образом отделённых данных, как сложный. Если его выбрали после просмотра итогового теста, этот тест уже повлиял на разработку. [2]
В итоге у Петра остаётся короткое правило. Оно не показывает, сколько неудачных версий он испробовал раньше. Bailey и соавторы описывают, как повторные проверки на одних данных могут давать ложные открытия. Поэтому сохраняем кандидатов, изменения и способ выбора, а не только красивый график победителя. Простой итог может быть плодом большого поиска. Однако число попыток само по себе не определяет вероятность переобучения: важны данные, их зависимости и процедура отбора. [3]
Петру нужны одни данные для разработки, другие — для дальнейшей оценки. scikit-learn объясняет это вложенной валидацией: внутри выбирают настройки, снаружи оценивают весь процесс отбора. Это похоже на подготовку к экзамену и сам экзамен. Лучший тренировочный балл не является независимой оценкой. Выбор индикаторов и подготовка входов тоже относятся к разработке. Если итоговый результат привёл к изменению правил, для новой оценки нужны другие подходящие данные; прежний экзамен уже не нетронутый. [4]
Перемешивание примеров может быть разумным при обучении на фотографиях. Для последовательных рыночных наблюдений оно может создать нереалистичный тест; scikit-learn отмечает их временную зависимость. Пётр может использовать лишь входы, доступные в соответствующий момент. Это относится и к результатам для обучения или выбора: незавершённая сделка ещё не имеет известного итога. Walk-forward Analysis движется от ранних данных к более поздним. Она тоже не даёт нового свидетельства, если её процедуру многократно переписывают под одни и те же результаты. [5]
Пётр может отделить тестовые строки, но прежде посчитать среднее всей таблицы для преобразования входов. Тест уже не будет действительно отдельным. Поэтому scikit-learn требует обучать такие преобразования только на обучающей части и затем применять к тесту. Попадание недоступной тогда информации называется утечкой данных. Это не то же самое, что Overfitting: правило может усвоить шум без будущих строк, а утечка исказить даже простую модель. Проверяется весь процесс, не только граница в таблице. [6]
В следующем периоде стратегия Петра убыточна. Переобучение — возможное объяснение, но не единственное. Могли измениться рынок, издержки или качество данных; короткий отрезок бывает сильно зависим от случая. scikit-learn предлагает кривые валидации и обучения для сравнения при изменении настроек или объёма обучающих данных. Полезно проверить и сходство результатов при близких настройках. Но каждую новую корректировку записываем как разработку. Такая диагностика сама не доказывает статистически торговое преимущество. [2]
Полезный вывод объясняет не только прибыль, но и происхождение стратегии, изменения и то, что действительно проверяли позже. Разделяйте результаты разработки и последующих проверок, сообщайте известные попытки, издержки и ограничения. NFA напоминает, что гипотетическая торговля не полностью отражает ликвидность, проскальзывание и поведение при настоящем убытке; её рекламные правила действуют для определённых участников. Дальнейшую проверку поэтому начинают с заранее записанных правил. Снижение методических ошибок полезно, но даже ещё не использованные данные не гарантируют будущую прибыль. [7]
Победитель отбора может проиграть следующий тест
Для полной картины прочитайте эту статью вместе с Backtesting, Walk-forward Analysis, Look-ahead Bias, Paper Trading, Trading Journal. На эту статью также ссылаются Technical analysis, Technical indicator, Moving average crossover, Relative Strength Index.
01Может ли простая стратегия переобучиться?+
Да. Короткое итоговое правило могло победить среди множества попыток на одних данных. Поэтому оцениваем весь поиск, а не только число настроек последней версии.
02Доказывает ли плохой результат на новых данных переобучение?+
Нет. Его могут объяснить изменения рынка, издержки, ошибки данных или короткий случайный отрезок. Разница побуждает проверить метод и условия; сама она не определяет причину или вероятность переобучения.