Перейти к содержимому
Бэктест-инструменты 2 мин чтения Опубликовано 4 августа 2026

Переоптимизация: как обмануть самого себя

Переоптимизация (кривая подгонка) — самый коварный самообман в бэктесте: вы честно работаете, а в итоге настраиваете стратегию на шум прошлого.

Редакция ForexSignalTrader Проверка фактов и оценка по методике · кто это

Переоптимизация (кривая подгонка) — самый коварный самообман в бэктесте: вы честно работаете, а в итоге настраиваете стратегию на шум прошлого. Разбираем, как это происходит и как защититься.

Что это и как работает

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

Как распознать

Признаки: очень высокая доходность при подозрительно малой просадке; результат резко ухудшается при малейшем изменении параметров (нет «плато» устойчивости); отличная история и провальный форвард; множество тонко настроенных параметров. Чем чувствительнее результат к параметрам, тем вероятнее подгонка. Полезный тест: сдвиньте каждый параметр на шаг в обе стороны — если результат обваливается, вы стоите на пике, а не на плато.

Как защититься

Разделяйте данные: оптимизируйте на одной части (in-sample), проверяйте на другой (out-of-sample). Применяйте walk-forward. Выбирайте параметры из широкого устойчивого диапазона, а не одиночный пик. Минимизируйте число параметров. Завершайте форвард-тестом. Относитесь к идеальной кривой с подозрением, а не с гордостью.

Как это выглядит на практике

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

Частые ошибки

  • Брать «самый прибыльный» набор параметров из оптимизации
  • Крутить десяток параметров на коротком куске истории
  • Радоваться острому пику вместо поиска плато
  • Пропускать проверку на out-of-sample, потому что «и так красиво»

Итог

Переоптимизация обманывает не рынок, а вас: она превращает шум прошлого в ложную уверенность. Защита — честная методика проверки на новых данных. Инструменты для этого — в нашем каталоге бэктест-сервисов.

Как выглядит переоптимизация изнутри

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

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

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

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

Второй элемент защиты — ограничение числа параметров заранее. Три-четыре, каждый с объяснимым смыслом. Если для приемлемого результата требуется шесть, это сигнал о том, что базовая идея слабая, и добавление настроек её не спасёт, а только скроет проблему до реального счёта.

И третий — форвард-тест. Даже безупречно проведённая оптимизация с проверкой вне выборки не отвечает на вопрос об условиях исполнения. Месяц работы на демо у своего брокера стоит ноль и показывает расхождение, которое никакой бэктест не воспроизведёт.

Признаки, что вы переоптимизировали

  • Оптимум узкий: сдвиг параметра на шаг заметно ухудшает результат.
  • Число правил и исключений выросло, каждое убирает конкретные убытки из истории.
  • Больше пяти-шести оптимизируемых параметров.
  • Результат на проверочной части выборки существенно хуже, чем на оптимизационной.
  • Стратегия работает только на одном инструменте и одном периоде.
  • Каждое улучшение получено подбором, а не изменением логики.

И про признак, который заметен со стороны: если для объяснения стратегии нужно перечислить шесть условий и четыре исключения, она описывает историю, а не рынок. Работающие правила формулируются коротко, и это не эстетическое требование — короткие правила проверяемы.

И про полезное упражнение: перед оптимизацией запишите, какой результат вы считаете достаточным для запуска. Цифра, названная заранее, останавливает бесконечный поиск лучших параметров — без неё процесс продолжается до тех пор, пока результат не станет красивым, то есть подогнанным.

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

Практические ограничители при настройке

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

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

Частые вопросы

Сколько параметров — уже много?

Чем меньше, тем лучше; каждый лишний параметр — новая возможность подогнать шум.

Что такое плато устойчивости?

Диапазон параметров, где результат стабилен, а не единичная вершина.

Оптимизировать вообще нельзя?

Можно, но с разделением данных и выбором устойчивых значений.

Как понять, что я переоптимизировал?

Отличная история и слабый out-of-sample — почти всегда именно это.

Помогает ли простота стратегии?

Да: чем меньше параметров и чем понятнее логика, тем меньше места для случайной подгонки под шум прошлого.

Материал носит образовательный характер и не является индивидуальной инвестиционной рекомендацией (не ИИР).

Материал носит информационный характер и не является индивидуальной инвестиционной рекомендацией. Редакционная политика

Читайте также