Overfitting — подстройка модели или правил принятия решений под особенности доступной выборки разработки в ущерб способности обобщать связь на другие данные. Это относится и к отбору кандидатов; качество нельзя оценивать только по результату, который одновременно определил победителя.
QuantConnect описывает Overfitting как слишком тесную подстройку под ограниченную обучающую выборку, захватывающую её детали и шум в ущерб результатам на новых данных. Наше разграничение: проблема не в самом обучении на истории, а в принятии свойства конкретной выборки за переносимую закономерность. В торговле переобученным может оказаться и составленный вручную набор условий, а не только сложная автоматическая модель. Поэтому красивая кривая или хорошая оценка на данных разработки ещё не являются независимым подтверждением процедуры. [QuantConnect — Optimization Parameters]
Документация scikit-learn показывает различие между слишком простой моделью, неспособной уловить связь, и моделью, чувствительной к конкретным обучающим выборкам. Наш вывод: одного числа параметров недостаточно для установления переобучения. Упрощение или ограничение гибкости модели может помочь, но может и удалить полезную связь. Решение должно основываться на заранее заданной оценке на подходящих отдельных данных. Даже последующий выбор простейшего варианта по уже просмотренному тесту не возвращает тесту независимую роль. [scikit-learn — Validation and Learning Curves]
Бейли и соавторы обращают внимание на ложные открытия при многократной проверке стратегий на одних данных. Наш методический вывод: записывать следует не только параметры победителя, но и прежних кандидатов, изменения правил и критерий отбора. Даже простая итоговая стратегия может быть результатом обширного поиска. Давление отбора не видно из её последнего описания. Вероятность переобучения нельзя определить только по числу вариантов; важны также данные, их зависимости и способ поиска. [Bailey et al. — The Probability of Backtest Overfitting]
Пример вложенной валидации в scikit-learn отделяет внутренний выбор параметров от внешней оценки всей процедуры отбора. Использование одних результатов для выбора и представления качества даёт чрезмерно оптимистичную оценку. Наше требование — описать эту границу до эксперимента и включить в отбор предварительную обработку и выбор показателей. Если мы затем меняем замысел по внешнему результату, эта информация тоже вошла в разработку. Вложенная структура не разрешает повторно настраивать процедуру по тому же окончательному тесту. [scikit-learn — Nested versus Non-nested Cross-validation]
Документация scikit-learn предупреждает, что обычное разбиение с предположением независимых наблюдений может исказить оценку обобщения для зависимых во времени данных. Поэтому наша проверка торгового теста сохраняет порядок информации и выясняет, были ли каждый вход решения и каждый целевой результат, использованный для обучения или выбора правила, уже доступны в соответствующий момент. Последующий период не должен выбирать правило для более раннего момента. Walk-forward Analysis помогает описать эту последовательность, но повторные изменения её протокола по тем же результатам снова являются разработкой, а не новым независимым доказательством. [scikit-learn — Cross-validation: Evaluating Estimator Performance]
scikit-learn требует обучать преобразования, например нормализацию или отбор признаков, только на обучающей части и затем применять их к тестовой. Наше разграничение: утечка недоступной информации и переобучение связаны, но не тождественны. Стратегия может подстроиться под шум и без доступа к будущим строкам; утечка, в свою очередь, может создать оптимистичную оценку даже у простой модели. Поэтому мы проверяем не только разбиение таблицы, но и весь путь от подготовки данных до итогового решения. [scikit-learn — Common Pitfalls: Data Leakage]
Кривые валидации и обучения в scikit-learn сравнивают поведение на обучающей и валидационной частях при изменении настроек или объёма данных. Наша граница интерпретации: худший последующий результат сам по себе не доказывает единственную причину. На рынке могут измениться среда, качество данных или издержки исполнения; на короткий отрезок может повлиять случайность. Мы изучаем устойчивость соседних настроек и различия условий, но записываем каждый новый поиск после просмотра результатов. Диагностика не выдаётся за автоматическую статистическую сертификацию. [scikit-learn — Validation and Learning Curves]
NFA предупреждает, что гипотетические результаты не являются реальной торговлей и не отражают полностью ликвидность, проскальзывание и реакцию на настоящий убыток. Поэтому наш отчёт разделяет результаты разработки и последующие результаты, указывает все известные попытки, издержки и ограничения данных. Правила любой дальнейшей проверки должны быть записаны до её начала. Меньший риск методической ошибки не равен доказанному торговому преимуществу. Даже ранее неиспользованные данные не гарантируют результат в будущих рыночных условиях. [NFA — Use of Promotional Material Containing Hypothetical Performance Results]
Победитель отбора может проиграть последующий тест
Для полной картины прочитайте эту статью вместе с Backtesting, Walk-forward Analysis, Look-ahead Bias, Paper Trading, Trading Journal. На эту статью также ссылаются Technical analysis, Technical indicator, Moving average crossover, Relative Strength Index.
01Может ли переобучиться и простая стратегия?+
Да. Простое итоговое правило могло быть отобрано среди множества попыток по одним данным. Важен весь процесс поиска, а не только число параметров опубликованной версии.
02Доказывает ли каждый плохой последующий результат переобучение?+
Нет. Он может быть связан и с изменением рынка, издержками, ошибочными данными или коротким случайным отрезком. Нужно проверить методику и условия; одна разница результатов не определяет причину или вероятность переобучения.