К содержанию
RU
Начать бесплатно
← К обзору блога

Переобучение стратегии: когда бэктест слишком хорош

автор: Sebastian Saupe · Опубликовано 15 октября 2026 г. · Обновлено 15 октября 2026 г.

Переобучение стратегии: когда бэктест слишком хорош

Перед тобой бэктест, который выглядит так, будто никогда не знал убытка. Кривая растёт почти без перерывов, показатели сильные, и всё же остаётся вопрос: нашла эта стратегия настоящее преимущество или её просто крутили так долго, пока она не стала подходить к прошлому? Именно этот вопрос стоит за понятием переоптимизации. В конце этой статьи ты будешь знать, что означают переоптимизация и подгонка под кривую, почему число оптимизированных параметров меняет риск, и какие инструменты предлагает против этого StrategyQuant X: Cross Checks, мультирыночный анализ, симуляция Монте-Карло, опциональный плагин Overfit Risk Score и анализ после оптимизации. В конце также прямо сказано, что эти проверки могут тебе показать, а что нет.

Что означают переоптимизация и подгонка под кривую

Переоптимизация означает подгонку стратегии точно под те исторические данные, на которых она построена. Документация StrategyQuant описывает это как главную опасность для стратегий, которые строятся методами генерации в стиле машинного обучения. Это не значит, что стратегии, собранные вручную, автоматически были бы безопасны, такого утверждения источник не делает, предупреждение относится прямо к такому способу построения.

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

Почему больше оптимизированных параметров повышает риск

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

Переобучение возникает не в одном месте, а из-за сочетания данных, числа параметров, бэктеста и будущей рыночной ситуации.
Переобучение возникает не в одном месте, а из-за сочетания данных, числа параметров, бэктеста и будущей рыночной ситуации.

Что видно при взгляде на данные вне выборки

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

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

StrategyQuant X предлагает несколько инструментов против переобучения: вместе они показывают больше, чем каждый по отдельности.
StrategyQuant X предлагает несколько инструментов против переобучения: вместе они показывают больше, чем каждый по отдельности.

Cross Checks: встроенная проверка на устойчивость

Cross Checks описаны в документации как неотъемлемая часть StrategyQuant X. Тесты на устойчивость и защита от переоптимизации должны помочь убедиться, что у стратегии есть реальное преимущество, а не только хороший вид. Это описание производителя о назначении инструмента, а не независимое измерение на конкретной стратегии. Инструмент тебе что-то показывает, но он не решает этот вопрос за тебя.

Перекрёстные проверки объединяют несколько тестов на устойчивость в одном месте программы.
Перекрёстные проверки объединяют несколько тестов на устойчивость в одном месте программы.

Несколько рынков как дополнительная проверка

Ещё одна проверка из документации состоит в том, чтобы посмотреть, работает ли сгенерированная стратегия также на нескольких рынках, а не только на том, для которого она строилась. Это один из описанных способов исключить переоптимизацию при анализе стратегии в StrategyQuant X. Для этого ты настраиваешь дополнительные рынки и следуешь описанному мультирыночному рабочему процессу с медианными сниппетами в базе данных. Здесь тоже действует правило: пройденная мультирыночная проверка не доказывает, что стратегия свободна от переоптимизации. Это дополнительная проверка в других условиях, и не более того.

Симуляция Монте-Карло: много прогонов, один взгляд на разброс

Анализ Монте-Карло в StrategyQuant основан на том, что одна и та же симуляция повторяется много раз с небольшими случайными изменениями. В документации сказано: чем больше повторов ты запускаешь, тем надёжнее становится возникающее из этого статистическое распределение. Важно при этом: этот метод работает с прошлыми, смоделированными данными о сделках. Это не предсказание будущих результатов стратегии, а картина того, насколько сильно прошлый результат зависит от небольших случайностей.

Overfit Risk Score для фильтров

Описанный плагин может при каждом применении фильтров рассчитывать Overfit Risk Score, с уровнями низкий, средний и высокий. Основой служат число активных фильтров, доля отфильтрованных сделок и то, используются ли так называемые hindsight-фильтры, то есть фильтры, которые задним числом подогнаны под уже известные результаты. Этот инструмент принадлежит автору из команды StrategyQuant, который пишет под корпоративным адресом, и потому считается официальным вкладом, а не документированной ключевой особенностью программы. Даже низкий балл не доказывает, что стратегия не содержит переоптимизации, он оценивает только логику фильтров, которую ты только что применил.

Способ построения: Random Generation, Data Mining и классический метод

В документации Random Generation описывается как режим построения, который должен быть менее подвержен переоптимизации, потому что стратегия после построения дальше не оптимизируется и не дорабатывается. Так написано в разделе о преимуществах этого режима. Это не означает, что Random Generation исключает переоптимизацию, а только то, что отсутствует определённый шаг, на котором она иначе может возникнуть.

Кроме того, документация различает классический, собранный вручную подход без Data Mining, как при построении стратегии в AlgoWizard, и Data Mining, при котором тестируется большое число правил, чтобы найти стратегию с самой высокой наблюдённой исторической производительностью. Это различие задумано как рамка, а не как пошаговое руководство. Источник не говорит, что Data Mining автоматически несёт больше риска переоптимизации, чем классический способ построения, для этого не хватает доказательств.

Анализ после оптимизации: Optimization Profile и Parameter Permutation

Optimization Profile и System Parameter Permutation оба предполагают, что сначала был проведён прогон оптимизации. Затем методы оценивают результаты всех прогонов этой оптимизации. Они не заменяют out-of-sample тест, они добавляются после него и показывают тебе, насколько чувствителен результат к небольшим изменениям параметров.

Что показывают эти проверки и что они не показывают

Cross Checks, мультирыночный анализ и симуляция Монте-Карло вместе дают заметно более полную картину, чем один отдельный бэктест. И всё же остаётся граница, которую ни одна из этих проверок не может отменить: каждая из них работает с прошлыми или смоделированными данными. Ни одна из них не может заранее подтвердить тебе, как поведёт себя стратегия в реальных, будущих рыночных условиях. Чистый бэктест, пройденный Cross Check или стабильное распределение Монте-Карло это признаки, которые могут поддержать твою оценку. Доказательством будущих результатов не является ничто из этого.

Когда в следующий раз ты сидишь перед безупречной кривой, стоит задать вопрос, сколько параметров было оптимизировано, работает ли стратегия на нескольких рынках и что распределение Монте-Карло говорит о разбросе. Одного ответа редко хватает, несколько точек зрения вместе скорее.

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

Эта статья служит обучению и не является инвестиционным консультированием. Прошлые результаты ничего не гарантируют на будущее.

А как это делаешь ты? Расскажи в сообществе. Бесплатно, на твоём языке.

Зарегистрируйся бесплатно