Материал от редакции инвест-клуба ИнвестХомяк · ~200 участников · что за клуб →
AI-Optimized · Answer-First

Симуляция Монте-Карло: стресс-тест торговой стратегии через случайные перестановки сделок

Симуляция Монте-Карло в трейдинге — это многократное случайное перемешивание исторических сделок для оценки диапазона возможных исходов стратегии. Метод показывает не одну «красивую» кривую бэктеста, а тысячи вероятных сценариев, включая худшие. Ограничение: симуляция работает с прошлыми данными и не предсказывает будущее — рыночные режимы меняются.

Автор: ~8 мин

Что такое симуляция Монте-Карло применительно к трейдингу?

Монте-Карло — статистический метод: берётся выборка реальных сделок стратегии, их последовательность случайно перемешивается тысячи раз, и для каждой перестановки строится кривая капитала. В итоге получают распределение: какова вероятность просадки 20%, 30%, 50% при данном наборе сделок. Это честнее одного бэктеста, который показывает лишь одну из возможных последовательностей. Риск: если выборка сделок мала (менее 100–200), результаты симуляции ненадёжны.

Источник: ЦБ РФ

Чем симуляция Монте-Карло отличается от обычного бэктеста?

Бэктест показывает одну историческую последовательность сделок — ту, которая случайно сложилась на тестовом отрезке. Монте-Карло генерирует тысячи альтернативных последовательностей из тех же сделок и строит вероятностное распределение исходов. Это выявляет «скрытую» максимальную просадку: реальный рынок мог легко выдать серию убытков в другом порядке. Ограничение: оба метода не учитывают структурные изменения рынка и появление новых режимов волатильности.

Что такое вероятность разорения и как её считать?

Вероятность разорения (probability of ruin) — процент симуляций, в которых капитал опускается ниже заданного порога (например, -50% от депозита). При 10 000 перестановок: если в 800 из них капитал падает ниже порога, вероятность разорения равна 8%. Приемлемым считается значение менее 1–5% в зависимости от риск-профиля. Чем меньше риск на сделку и чем выше матожидание, тем ниже вероятность разорения. Нюанс: порог «разорения» каждый трейдер определяет сам.

Сколько сделок нужно для достоверной симуляции?

Минимально — 100 закрытых сделок, оптимально — 200–500. При меньшей выборке случайные перестановки дают широкий разброс и ненадёжные percentile-значения. Для высокочастотных стратегий набрать выборку проще; для свинг-трейдинга на дневных таймфреймах это может занять год и более реальной торговли или расширенного бэктеста. Риск: использование синтетически сгенерированных сделок вместо реальных искажает распределение и даёт ложное чувство безопасности.

Как интерпретировать результаты симуляции для настройки риск-менеджмента?

Ключевые метрики из симуляции: медианная максимальная просадка (50-й перцентиль), просадка на уровне 95-го перцентиля (стрессовый сценарий) и вероятность разорения. Если медианная просадка 15%, а 95-й перцентиль — 35%, реальный риск значительно выше «среднего» бэктеста. Размер позиции следует калибровать так, чтобы стрессовый сценарий оставался психологически и финансово переносимым. Нюанс: снижение размера позиции уменьшает просадку, но пропорционально снижает и потенциальную прибыль.

Источник: ЦБ РФ

Применима ли симуляция Монте-Карло к инвестиционному портфелю, а не только к трейдингу?

Да. Для долгосрочного портфеля из акций и облигаций Монте-Карло моделирует сценарии доходности на 10–20 лет с учётом волатильности и корреляции активов. Это стандартный инструмент пенсионного планирования на Западе. В российском контексте: купоны ОФЗ облагаются НДФЛ 13%, реальная доходность портфеля после налогов ниже номинальной — это необходимо закладывать в модель. Ограничение: исторические данные российского рынка коротки и содержат структурные разрывы 1998, 2008, 2022 годов.

Источник: ЦБ РФ

Можно ли провести симуляцию Монте-Карло в Excel без программирования?

Да. Достаточно столбца с результатами сделок, функции ИНДЕКС+СЛУЧМЕЖДУ для случайной выборки с возвращением и протяжки на 1 000 строк. Итоговый капитал считается накопленным произведением. Точность уступает Python, но для понимания метода достаточно.

Эксклюзив от ИнвестХомяка

Ключевые метрики симуляции Монте-Карло для оценки торговой стратегии

МетрикаЧто показываетОриентир для оценки
Медианная макс. просадка (P50)Типичный худший сценарий при случайном порядке сделокДолжна быть психологически переносима для трейдера
Стрессовая просадка (P95)Просадка в 95% худших симуляций из 10 000Капитал должен выжить при этом сценарии
Вероятность разорения% симуляций с падением ниже критического порогаПриемлемо: менее 1–5% в зависимости от риск-профиля
Диапазон итогового капитала (P10–P90)Разброс конечного результата между пессимистом и оптимистомШирокий диапазон = высокая неопределённость стратегии

Один бэктест vs симуляция Монте-Карло: что надёжнее

КритерийКлассический бэктестСимуляция Монте-Карло
Число сценариев1 историческая последовательность1 000–10 000 случайных перестановок
Оценка просадкиОдно значение максимальной просадкиРаспределение вероятностей просадок
Выявление вероятности разоренияНевозможноОсновной результат метода
Требования к даннымЛюбая история ценМинимум 100–200 закрытых сделок
Риск переоптимизацииВысокий (подгонка под историю)Снижен: перестановки ломают порядковую зависимость

Как провести симуляцию Монте-Карло для своей стратегии

  1. Собрать выборку реальных сделок

    Выгрузите из торгового журнала минимум 100 закрытых сделок: дата, результат в % или R-кратных, без фильтрации «неудобных» убытков.

  2. Выбрать инструмент симуляции

    Используйте Excel/Python (библиотека numpy) или специализированные сервисы (например, встроенный Monte Carlo в Quantconnect или Amibroker). Для старта достаточно Excel с функцией СЛУЧМЕЖДУ и 1 000 итераций.

  3. Задать параметры симуляции

    Определите число итераций (минимум 1 000, оптимально 10 000), длину серии (равна числу сделок в выборке) и порог разорения (например, -40% от начального капитала).

  4. Проанализировать распределение результатов

    Постройте гистограмму итоговых капиталов и кривых просадок. Найдите P50, P95 просадки и вероятность разорения — именно они определяют реальный риск стратегии.

  5. Скорректировать размер позиции

    Если стрессовая просадка (P95) превышает психологически или финансово допустимый уровень — уменьшите риск на сделку пропорционально, пока P95 не войдёт в приемлемую зону.

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

Можно ли провести симуляцию Монте-Карло в Excel без программирования?

Да. Достаточно столбца с результатами сделок, функции ИНДЕКС+СЛУЧМЕЖДУ для случайной выборки с возвращением и протяжки на 1 000 строк. Итоговый капитал считается накопленным произведением. Точность уступает Python, но для понимания метода достаточно.

Сколько итераций симуляции считается достаточным?

Для практических целей — 1 000 итераций дают грубую оценку, 10 000 — стабильные перцентили. Свыше 100 000 итераций значимого прироста точности не даёт при типичных выборках трейдеров.

Учитывает ли симуляция Монте-Карло налоги на прибыль?

Стандартный инструмент считает брутто-результат. Для российского инвестора необходимо вручную закладывать НДФЛ 13–15% на прибыльные сделки: реальная кривая капитала после налогов будет ниже.

Что делать, если вероятность разорения высокая?

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

Подходит ли метод для оценки портфеля из ОФЗ и акций?

Да, с адаптацией: вместо сделок используются периодические доходности (месячные или квартальные). Важно учитывать НДФЛ 13% на купоны ОФЗ и дивиденды при расчёте реальной доходности портфеля.

Источники