Ретроспективная симуляция помогает ИИ-стратегиям не переобучаться на одной траектории рынка. Проверяйте идеи на 1 000 путях и считайте VaR/CVaR.

Ретроспективная симуляция: защита от переобучения
За 5 154 000 смоделированных дневных доходностей можно увидеть то, что обычный бэктест прячет за красивой кривой капитала: стратегия часто «побеждает» просто потому, что ей повезло с единственной реализованной траекторией рынка. И если вы используете ИИ в инвестициях — от простых правил до ML-моделей — это не философия, а практическая проблема, которая напрямую влияет на деньги.
Ретроспективная симуляция (её ещё можно воспринимать как расширенный bootstrap исторических доходностей) — это метод, который отвечает на неудобный вопрос: «А что если рынок в прошлом мог пройти иначе — сохранив тот же старт и тот же финиш?» Мы не предсказываем будущее. Мы создаём множество «альтернативных прошлых», чтобы проверить, не натренировали ли мы стратегию на случайность.
Ниже — разбор подхода на понятном примере (EMA-кроссовер), плюс то, как эту идею встраивать в AI-driven алгоритмическую торговлю и риск-менеджмент портфеля в 2026 году.
Почему классический бэктест обманывает чаще, чем кажется
Ключевая мысль: рынок показал нам одну траекторию цен, но стратегию мы обычно оптимизируем так, будто другой траектории не существовало.
В статье-прототипе автор берёт индекс SENSEX и делит данные на:
- in-sample: 01.2000–11.2020
- out-of-sample: 12.2020–04.2025
На in-sample оптимизируется простая стратегия пересечения экспоненциальных средних (SEMA/LEMA). Результаты выглядят «вкусно»: 873,43% суммарной доходности на лучшей комбинации (SEMA 5, LEMA 40). Но на out-of-sample та же комбинация даёт всего 15,46% при 79,41% у buy&hold.
Это классический симптом:
- вы «подобрали ключ» к конкретной истории,
- а рынок после 2020 года сменил режим (волатильность, тренды, ликвидность, поведение участников).
Один из самых дорогих самообманов в инвестициях: «Если работало на истории, значит будет работать дальше».
Для ИИ-моделей (градиентный бустинг, LSTM/Transformer, RL) проблема усиливается: чем больше параметров и степеней свободы, тем легче переобучиться на шум.
Что такое ретроспективная симуляция и почему она полезна для ИИ
Ответ короткий: это способ создать много правдоподобных альтернативных историй рынка и прогнать по ним вашу стратегию/модель.
В разборе используется модификация Brownian bridge в непараметрическом варианте:
- берём реализованные дневные доходности in-sample,
- делаем бутстрэп с возвращением (sampling with replacement),
- генерируем траекторию цен,
- затем плавно масштабируем путь так, чтобы он сошёлся к той же финальной цене, что и реальная история.
Почему непараметрически — важно:
- параметрические модели (например, «доходности нормальны») часто ломаются именно на хвостовых событиях;
- а в реальной торговле «хвосты» и есть то, что выбивает депозиты.
Для AI-driven инвестиций это даёт практический эффект:
- вы тестируете устойчивость сигналов,
- снижаете риск «подгона под прошлое»,
- получаете больше данных для оценки риска (включая VaR/CVaR).
Миф, который стоит выбросить
Миф: «Если стратегия стабильна на walk-forward, значит всё ок».
Реальность: walk-forward проверяет устойчивость во времени, но всё равно опирается на одну историческую реализацию. Ретроспективная симуляция добавляет измерение «устойчивости к альтернативным путям», что особенно ценно для моделей, которые легко находят закономерности там, где их нет.
Практика: EMA-кроссовер как демонстрация проблемы
Суть теста:
- long, когда SEMA выше LEMA;
- short, когда SEMA ниже LEMA;
- сетка параметров: SEMA 5…100 (шаг 5), LEMA 20…300 (шаг 10), LEMA > SEMA.
На реальной in-sample траектории лучшей стала пара SEMA 5 / LEMA 40 с метриками:
- суммарная доходность: 873,43%
- максимальная просадка: -41,28%
- Sharpe (rf=0): 0,59
Но out-of-sample:
- стратегия: 15,46%, Sharpe 0,30
- buy&hold: 79,41%, Sharpe 0,56
Важный вывод для читателя, который строит ИИ-стратегии:
- даже «простая» модель может показаться сильной на истории;
- сложная ML-модель тем более нарисует убедительный equity curve;
- поэтому нужна проверка, которая наказывает за зависимость от единственного пути.
Оптимизация на 1 000 альтернативных «прошлых»
Ключевая идея: если параметр «хороший», он должен выигрывать не на одной траектории, а на многих правдоподобных.
Процедура:
- Генерируем 1 000 ретроспективных траекторий in-sample.
- Для каждой траектории оптимизируем SEMA/LEMA.
- Считаем, какие пары параметров чаще всего оказываются лучшими.
В примере наиболее частой победительницей стала SEMA 5 / LEMA 20 (в одном запуске — 47 из 1 000 путей). И это полезная мысль: мы ищем не максимальный результат на одном пути, а часто повторяющийся успех.
Но дальше — трезвость: out-of-sample с этой парой оказался ещё хуже:
- стратегия: -7,73%
- максимальная просадка: -23,70%
- Sharpe: -0,05
Это не провал метода. Это честный ответ: у простого EMA-кроссовера нет устойчивого преимущества на данном рынке в данном периоде.
Для лидогенерации в теме «ИИ в финансовых инвестициях» это, на мой взгляд, сильный момент: ретроспективная симуляция помогает быстрее выбрасывать слабые идеи, прежде чем их «упакуют» в красивую презентацию.
Риск-метрики на симуляциях: VaR и CVaR без самоуспокоения
Прямой ответ: ретроспективная симуляция даёт огромную выборку доходностей для оценки хвостового риска.
В примере:
- 1 000 путей × 5 154 дневных доходностей = 5 154 000 наблюдений.
Оценки для дневных доходностей:
- VaR 95%: -0,022113… (≈ -2,21%)
- CVaR 95% (Expected Shortfall): -0,035320… (≈ -3,53%)
- VaR 99%: ≈ -4,25%
- CVaR 99%: ≈ -5,86%
Интерпретация «по-человечески»:
- в 95% дней потери не превышают ~2,21%,
- но если этот порог пробит, средняя «плохая» потеря ближе к ~3,53%.
Также показательно, что экстремумы симуляций близки к реальным:
- минимум симуляций: около -13,31% против реального -13,15%,
- максимум симуляций: около +17,48% против реального +17,34%.
А распределение имеет тяжёлые хвосты: эксцесс (kurtosis) около 9,60 и лёгкая отрицательная асимметрия. То есть «нормальность» — опасная сказка.
Как встроить ретроспективную симуляцию в AI-процесс (и не сойти с ума)
Рабочий подход: используйте симуляции не вместо бэктеста, а как «фильтр устойчивости» перед тем, как вы тратите недели на ML.
1) Замените «лучшие параметры» на «устойчивые параметры»
Вместо: «берём максимум доходности на in-sample», берём: «параметры, которые:
- часто входят в топ,
- дают приемлемую просадку на множестве путей,
- не разваливаются при небольшом шуме».
Практически это можно оформить как скоринг:
- частота попадания в топ-10,
- медианная доходность,
- 75-й перцентиль просадки,
- штраф за оборот/комиссии.
2) Для ML-моделей используйте симуляции как стресс-валидацию
Если вы обучаете модель на реальной истории, то проверяйте её на:
- реальном out-of-sample,
- и на нескольких ретроспективных in-sample путях, где вы «ломаете» конкретные паттерны.
Если модель «магическая», она обычно умирает именно здесь.
3) Добавьте «якоря», если тестируете долгие периоды
В оригинальном подходе якорятся старт и финиш. Для более реалистичных режимов можно якорить:
- годовые уровни,
- квартальные уровни,
- или крупные режимные точки (кризисы/восстановления).
Это снижает риск получить траектории, которые математически возможны, но экономически странны.
4) Не забудьте про комиссии и проскальзывание
Ретроспективная симуляция быстро выявляет «хрупкие» стратегии, но если вы игнорируете издержки, то всё равно можете получить ложноположительный результат. Для частых сделок это критично.
Мини-FAQ: вопросы, которые обычно задают первыми
Ретроспективная симуляция — это попытка предсказать рынок?
Нет. Это проверка устойчивости: «работает ли идея не только на одной счастливой истории».
Сколько путей достаточно?
Практически: от 300 до 2 000 для первичного отбора. Дальше вы упираетесь в вычисления. Для сложных ML-моделей разумнее брать меньше путей, но тщательнее считать метрики и повторять эксперименты.
Если стратегия провалилась на out-of-sample, значит симуляция бесполезна?
Наоборот: симуляция экономит время и деньги, потому что вы раньше видите, что идея не тянет устойчивость.
Что делать дальше, если вы строите AI-стратегии в 2026
Конец года — удобный момент пересобрать процесс исследований: закрыть «игрушечные» бэктесты, поставить внятные критерии устойчивости и подготовить стратегии к режимам, которые рынок приносит внезапно. Я бы начал так:
- Возьмите 1–2 стратегии (или ML-сигнала), которые «красиво» выглядят на истории.
- Постройте ретроспективные пути и прогоните стратегию по ним.
- Сравните:
- результаты на реальной траектории,
- медианные/перцентильные результаты на симуляциях,
- VaR/CVaR и поведение в хвостах.
- Оставьте только то, что держится статистически, а не эстетически.
Если вам нужен быстрый аудит вашей стратегии/ML-сигнала на предмет переобучения, или вы хотите встроить ретроспективную симуляцию в исследовательский пайплайн (данные → обучение → валидация → риск), мы можем обсудить вашу задачу и собрать план тестирования под ваш рынок и горизонт.
Какой компонент вашей текущей системы вы проверяете хуже всего — устойчивость параметров или хвостовой риск портфеля?