img
  • 06.07.2026

Переоптимизация: почему стратегия блестит на истории и сливает в реале

Оптимизатор перебрал сотни комбинаций, лучшая показала +300% на истории — а в реальной торговле счёт ушёл в минус. Разбираем переоптимизацию: как стратегия выучивает шум вместо закономерности, по каким признакам это видно (результат на пике вместо плато, мало сделок, идеальная кривая) и как проверять честно — тест вне выборки, walk-forward, устойчивость к параметрам.

Знакомый сценарий: оптимизатор перебрал несколько сотен комбинаций параметров, лучшая показала +300% на истории. Стратегия уходит в реальную торговлю — и через пару недель счёт в минусе. Тест не «сломался» и рынок не «сошёл с ума». Скорее всего, это переоптимизация.

Что такое переоптимизация

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

Такая стратегия ничего не «знает» о рынке. Она выучила наизусть прошлое — и рассыпается на любых новых данных. Чем больше параметров и чем больше прогонов оптимизатора, тем выше шанс получить именно такой результат.

Признаки, что стратегия подогнана

  • Результат живёт на пике, а не на плато. Лучший сет параметров даёт +300%, а соседний (чуть сдвинутое значение) — уже −20%. Реальная закономерность устойчива к небольшим изменениям параметров; шум — нет.
  • Мало сделок. На 30–50 сделках статистика почти ничего не значит: несколько удачных случайностей делают любую кривую красивой.
  • Вся доходность — на паре сделок. Убираешь одну-две лучшие — и от результата ничего не остаётся.
  • Слишком идеальная кривая. Ровный рост почти без просадок на волатильном рынке — повод не радоваться, а насторожиться.
  • Нет ответа «почему это работает». Если у стратегии нет внятной причины зарабатывать (поведение участников, структура рынка, издержки других), скорее всего, её и нет.

Как проверять стратегию честно

Тест вне выборки (out-of-sample). Базовая гигиена: история делится на две части. На первой стратегия настраивается, на второй — только проверяется, без права что-либо подкрутить. Результат на второй части и есть честная оценка.

Walk-forward. Более строгий вариант: окно «настроились на этом участке — проверили на следующем» скользит по всей истории. Стратегия многократно встречает данные, которых «не видела». Если результат держится от окна к окну — это признак закономерности, а не подгонки.

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

Честные условия симуляции. Комиссии, проскальзывание, фандинги, ликвидность. Без них даже правильная методика проверяет стратегию в сказочном мире — а торговать ей предстоит в настоящем.

Где это уже встроено

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

Ранний доступ открыт: xtester.pw.

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

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

Что лучше: простое разделение истории или walk-forward?
Разделение — необходимый минимум, walk-forward — более строгая проверка устойчивости во времени. Если стратегия претендует на реальные деньги, walk-forward стоит потраченного времени.

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