Переподгонка — это настройка параметров советника настолько точно под исторические данные, что стратегия отлично выглядит в бэктесте и плохо работает на невиданных данных, поскольку использует шум вместо реальных рыночных закономерностей.
также: оверфиттинг, подгонка под кривую, смещение интеллектуального анализа данных
Обновлено · Проверено
Простыми словами
Правила подкручивают до тех пор, пока они не лягут на прошлое так плотно, что выучат его случайности вместо его закономерностей. Бэктест становится лучше, а стратегия — хуже, и в отчёте ничто эти два случая не различает.
Почему это важно
Переподгонка — это режим отказа, который производит красивые доказательства, и именно поэтому она проходит проверку, которую плохая стратегия не прошла бы. Каждый проход оптимизации улучшает отображаемый результат независимо от того, улучшает ли он стратегию, поэтому процесс, который смотрит только на отображаемый результат, не способен увидеть разницу.
✓Она объясняет самое частое разочарование от советника: превосходный бэктест, посредственный или убыточный реальный счёт и никакой ошибки, которую можно найти. Ничего не сломалось — настройка измеряла выборку.
✓Она усугубляется тем сильнее, чем больше вы работаете. Больше параметров, больше проходов оптимизации и больше стратегий-кандидатов — всё это повышает вероятность того, что победитель победил, подстроившись под шум.
✓Её нельзя обнаружить по самому победному прогону. Единственное доказательство, отделяющее настоящее преимущество от подогнанного, — результат на данных, которых настройка никогда не видела, и их нужно отложить до начала настройки.
Как проверять стратегию с его помощью
Где применяется
Оценить, является ли опубликованный бэктест советника доказательством преимущества или доказательством настройки.
Решить, сколько параметров стратегии допустимо ещё до того, как её вообще оптимизируют.
Истолковать разрыв между результатами на выборке и вне выборки в прогоне walk-forward.
Объяснить, почему стратегия, возглавившая таблицу оптимизации, ухудшается сразу после запуска.
Как выглядит надёжный результат
✓Показанное окно включает данные, оставшиеся нетронутыми, пока выбирались параметры.
✓У стратегии мало параметров, и каждый из них соответствует тому, что трейдер может объяснить без ссылки на бэктест.
✓Соседние значения параметров дают похожий результат. Преимущество, выживающее лишь при одной настройке, — свойство выборки.
✓Правила работают с теми же настройками на инструментах и периодах, по которым их не отбирали.
✓Известно, сколько стратегий было испытано до этой, ведь от победителя широкого перебора и ожидается, что он выглядит хорошо случайно.
Тревожные признаки
!Параметры неправдоподобной точности — средняя на 37 периодов, стоп в 23,7 пункта — там, где круглое значение дало бы почти то же самое, будь преимущество настоящим.
!Доля прибыльных сделок выше 90 % или коэффициент Шарпа выше 3 на многолетнем бэктесте без форвардной записи.
!Результаты, показанные только на том единственном инструменте и том единственном окне, по которым отбирались параметры.
!Поверхность результата с одиноким острым пиком вместо широкого плато.
!Ни слова о том, сколько вариантов было проверено до опубликованного.
Бэктест против реальной торговли
Реальный счёт — первая по-настоящему вневыборочная проверка, поэтому просадка появляется сразу, а не постепенно.
Подогнанная стратегия обычно сползает к безубытку минус издержки, а не к драматическому убытку, и это легко списать на плохую полосу.
Измерением служит величина разрыва между выборкой и реальным счётом. Умеренное снижение нормально для любой стратегии; пробой безубытка — это подпись.
Переоптимизация после провала восстанавливает бэктест и повторяет цикл — именно эту ловушку и создаёт процесс.
Рекомендуемый способ проверки
1Отложите вневыборочное окно до того, как тронете хоть один параметр, и загляните в него один раз, в самом конце.
2Предпочитайте немного параметров с защитимым смыслом множеству параметров с лучшими результатами.
3Смотрите на окрестность, а не на пик: берите центр широкого плато, а не вершину иглы.
4Перепроверьте готовые настройки на других инструментах и других периодах, не подстраивая их.
5Применяйте walk-forward, когда стратегии действительно нужно перенастраиваться со временем, чтобы сама перенастройка входила в предмет проверки.
Пример
Оптимизатор выдаёт десять лучших наборов параметров стратегии. Публикуют верхнюю строку; но настоящий ответ о реальности преимущества даёт форма таблицы вокруг неё.
Лучшая настройка на выборке (период 37)
PF 2,41
Соседние настройки (периоды 35–39)
PF 0,94–1,06
Один шаг в сторону уничтожает результат — пик оказался иглой, а не плато.
Та же настройка, нетронутое вневыборочное окно
PF 0,88
Настоящее преимущество ослабевает плавно по мере удаления параметров от оптимума. Подогнанное срывается с обрыва, и обрыв виден ещё до того, как потрачен хоть один вневыборочный день.
Расчёт2,41 на выборке → 0,88 вне выборки, тогда как соседи сидят на безубытке
Результат2,41 было свойством окна, а не правил
Как это читать
Переподгонку диагностируют по процессу, который дал результат, а не по самому результату. Спросите, что настраивали, на чём и что отложили.
Диапазон
Что означает
Одно окно, все параметры оптимизированы, ничего не отложено
Отчёт не имеет доказательной силы относительно будущего. Он описывает, насколько правила можно согнуть под выборку.
Вневыборочное окно показано, но используется заново после каждой правки
Резерв израсходован. Как только его результаты возвращаются в настройку, он тоже становится выборкой.
Одно нетронутое вневыборочное окно, просмотренное однажды
Минимальный стандарт. Истолковывайте разрыв, а не уровень.
Walk-forward с широким плато параметров и проверками на других инструментах
Самое сильное доказательство, доступное до реальной торговли, ведь проверена была сама перенастройка.
Считайте испытанные стратегии, а не только параметры. Проверить двести идей и опубликовать лучшую — это перебор, победитель которого и должен выглядеть удачно.
Округлите опубликованные параметры и перезапустите. Если результат в основном уцелел, точность была косметикой; если он рассыпался, точность и была преимуществом.
Оценивайте поверхность параметров, а не пик. На невиданные данные переносится именно ширина.
Карточки mt5depot указывают окно данных, модель тестера и число сделок, чтобы читатель мог задать перечисленные выше вопросы, а не верить кривой на слово.
Частые ошибки
✕Повторно использовать вневыборочное окно
Каждый раз, когда результат из отложенного окна подсказывает очередную правку, это окно становится частью обучающих данных. Через несколько кругов вневыборочного не остаётся вовсе, и процесс ощущается строже, доказывая меньше.
✕Считать высокий Шарп или высокую долю прибыльных сделок доводом против переподгонки
Это ровно те цифры, которые подгонка и раздувает. Шарп выше 3 на выборке у розничного советника скорее симптом, чем утешение.
✕Верить, что малое число параметров делает стратегию безопасной
Число параметров — один путь; отбор стратегий — другой. Выбрать лучшую из двухсот простых стратегий на одном и том же окне подгоняет выборку так же успешно, как настройка одной сложной стратегии.
✕Переоптимизировать, когда реальный результат разочаровал
Это восстанавливает бэктест и повторяет провал, ведь новая подгонка выходит из того же процесса, что и прежняя. Первый вопрос — было ли исходное преимущество вообще вневыборочным.
Подробнее
Что четырнадцать опубликованных бэктестов решают, а что нет
По 14 советникам, опубликованным здесь
Значение
Профит-фактор на выборке
1,27–1,52
Карточек с профит-фактором ниже 1,00
0
С заявленным вневыборочным блоком
11
Вневыборочная доходность
от −0,57 % до +3,01 %
Вневыборочных блоков в убытке
2
Проверенных прогонов на счёте с реальными деньгами
0
Прочтите последнюю строку раньше первой. Скользящий бэктест всё равно идёт по истории,
которую кто-то мог посмотреть, так что ничто выше не является вневыборочным в том
смысле, который что-то решает, — а три советника объявили дату начала резерва и с тех
пор не опубликовали ни одного результата, и именно так смещение отбора публикаций
выглядит изнутри.
Слабое место — размер, а не знак. Медианная запись на выборке здесь — 362 закрытых
сделок; медианный отложенный блок — 21. Прогон такой длины не отличит преимущество от
спокойного квартала, поэтому маленькие минусы (−0,57 %, −0,47 %) несут не больше
приговора, чем плюсы.
Выпадающий список Forward в Тестере стратегий (No, 1/2, 1/3, 1/4, Custom) делит интервал
за вас. Он не помешает вам перечитывать переднюю половину после каждого прохода
оптимизации, и именно это перечитывание её и расходует. Поставьте Forward в Custom с
датой, на которой вы перестали смотреть, — для десяти блоков выше это 2026-04-01, — и
резерв стоит ровно столько, сколько в него попало: 142 сделки у Cairn, 40 у следующего
по величине, однозначные числа у двух.
Часто задаваемые вопросы
Как понять, что советник переподогнан, ещё до покупки?
Смотрите на процесс, а не на кривую. Спросите, откладывалось ли какое-нибудь окно, пока выбирались параметры, круглые ли настройки или неправдоподобно точные, дают ли соседние значения похожий результат и проверялись ли правила хоть раз на инструменте, по которому их не отбирали. Вопрос, оставшийся без ответа, здесь и есть ответ.
Спасает ли меньшее число параметров от переподгонки?
Помогает, но не спасает. Отбор самой доходной стратегии из множества кандидатов на одних и тех же данных подгоняет эти данные, даже если каждый кандидат прост, поэтому число испытанных идей важно не меньше числа ручек у любой из них.
Оптимизация — это всегда плохо?
Нет — стратегии всё равно нужно задать какие-то настройки, и выбирать их по истории разумно. Оптимизацию от переподгонки отделяет то, отложено ли что-нибудь для проверки этого выбора и стоит ли выбранная настройка на широком плато, а не на игле.