GJR-GARCH и ИИ: точнее прогнозируем волатильность рынка

Искусственный интеллект в финансовых инвестицияхBy 3L3C

GJR-GARCH учитывает, что падения повышают волатильность сильнее ростов. Разбираем практику в Python и как усилить модель ИИ для риск-менеджмента.

GARCHGJR-GARCHВолатильностьАлготрейдингРиск-менеджментPythonИскусственный интеллект
Share:

Featured image for GJR-GARCH и ИИ: точнее прогнозируем волатильность рынка

GJR-GARCH и ИИ: точнее прогнозируем волатильность рынка

Волатильность редко «растёт красиво» — чаще она взрывается рывками. Неделями на рынке тихо, а потом за пару сессий вы получаете движения, которые перечёркивают месяцы спокойствия. И самое неприятное: падения почти всегда делают волатильность выше, чем сопоставимые по размеру росты. Это не философия и не «ощущение рынка», а устойчивая эмпирика, известная как асимметричная волатильность (или эффект левериджа).

Для инвестора и алготрейдера это имеет прямую цену: если модель считает, что «+2% и −2% одинаковы», то в стрессовые дни она будет недооценивать риск. А значит — давать завышенный размер позиции, поздно включать хедж, неверно выставлять лимиты и стопы. В серии «Искусственный интеллект в финансовых инвестициях» я люблю разбирать именно такие моменты: где классическая математика хороша, где она слепнет, и как ИИ-надстройка помогает не только «предсказывать», но и управлять риском системно.

Ниже — практичный разбор: чем отличается GARCH от GJR-GARCH, как это связано с поведением толпы, как поставить модель в Python, и главное — как встроить её в ИИ-контур принятия решений (портфель, риск-менеджмент, алгоритмическая торговля).

Асимметричная волатильность: почему рынок боится сильнее, чем радуется

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

Причины здесь смешанные — и поведенческие, и механические:

  • Страх и принудительные продажи. Маржин-коллы, снижение риск-лимитов у фондов, вынужденное сокращение плеча — всё это усиливает амплитуду.
  • Ликвидность «испаряется» на падениях. Спреды шире, стакан тоньше, проскальзывание выше.
  • Медиа-эффект. Плохие новости распространяются быстрее и вызывают более синхронные реакции.

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

GARCH против GJR-GARCH: что именно меняется

Ответ короткий: GARCH умеет кластеризацию волатильности, а GJR-GARCH добавляет «переключатель», который усиливает эффект именно отрицательных доходностей.

GARCH(1,1): простая и сильная база

В практических задачах чаще всего начинают с GARCH(1,1):

  • волатильность сегодня зависит от вчерашнего шока (квадрата ошибки) и вчерашней волатильности;
  • модель компактная, устойчивая, интерпретируемая;
  • хорошо работает на финансовых временных рядах с меняющейся дисперсией.

Слабое место одно: положительный и отрицательный шок одинаковой величины дают одинаковое влияние на будущую дисперсию.

GJR-GARCH(1,1): «штраф» за плохие дни

В GJR-GARCH появляется параметр, который активируется, когда предыдущий шок был отрицательным. На языке интуиции:

  • если вчера рынок вырос — волатильность повышается «обычно»;
  • если вчера рынок упал — волатильность повышается сильнее, на добавочный коэффициент.

Это и есть математическое отражение рыночной психологии: плохие новости делают рынок шумнее.

Фраза, которую удобно держать в голове: «GJR-GARCH моделирует не просто риск, а риск с учётом страха».

Как применить GJR-GARCH в Python: рабочий скелет

Ответ по делу: для быстрой реализации достаточно пакета arch, лог-доходностей и корректной диагностики остатков.

Ниже — схема (без привязки к конкретному индексу: можно брать IMOEX, RTS, отдельные акции, FX, крипто).

1) Данные и доходности

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

  • берём цены закрытия;
  • считаем log(P_t / P_{t-1});
  • переводим в проценты.

2) Спецификация модели

В arch GJR-GARCH задаётся как GARCH с асимметричным лагом o=1:

  • p=1 — ARCH-часть (шоки)
  • q=1 — GARCH-часть (инерция дисперсии)
  • o=1 — асимметрия (леверидж-эффект)

Отдельно важный выбор: распределение остатков. Для финансовых доходностей «нормальное» часто проигрывает из‑за толстых хвостов, поэтому разумно начать со Student-t.

3) Фит и интерпретация

На что смотреть в результате:

  • beta обычно высокое: волатильность инерционна;
  • alpha показывает чувствительность к новым шокам;
  • gamma (асимметрия) — ключевой параметр: если значим и положителен, отрицательные шоки действительно усиливают будущую волатильность;
  • параметры распределения (например, степени свободы у t-распределения) подтверждают «толстые хвосты».

4) Диагностика остатков

После подгонки проверьте стандартизированные остатки и квадраты остатков. Цель простая: модель должна «снять» основную структуру меняющейся дисперсии. Если после стандартизации всё равно видно кластеры — спецификация слабая.

5) Rolling-прогноз: как это используют в торговле

Статический прогноз «на будущее» редко полезен в реальном трейдинге. Полезен скользящий one-step-ahead прогноз:

  1. обучаемся на окне (например, 500 торговых дней);
  2. прогнозируем волатильность на следующий день;
  3. сдвигаем окно на один день и повторяем.

Так вы получаете прогноз, который соответствует реальному процессу принятия решений: «что я знаю на момент закрытия дня t и какой риск ожидаю на t+1».

Как оценивать качество прогноза волатильности (и не обмануть себя)

Ответ: сравнивайте прогноз не с «идеальной истинной волатильностью» (её не существует), а с разумным прокси — и используйте несколько метрик.

Реализованная волатильность: что брать как «факт»

Для дневного горизонта есть две распространённые опоры:

  • квадрат фактической доходности следующего дня — честно, но очень шумно;
  • скользящая стандартная ошибка доходности за 5 дней — сглаживает шум и часто лучше подходит для мониторинга.

Метрики, которые реально помогают

  • Корреляция прогнозной и реализованной волатильности. В практическом примере на индексных данных корреляция порядка 0,74 — это сильный результат для дневного риска.
  • Проверка хвостов через VaR/ES (Value-at-Risk / Expected Shortfall). Если модель недооценивает левые хвосты, то VaR будет «ломаться» именно там, где важнее всего.
  • Режимный анализ. Отдельно оцените спокойные периоды и стресс-периоды (например, весна 2020). Симметричные модели чаще проигрывают именно на стрессе.

Где здесь ИИ: как усилить GJR-GARCH, а не заменить его «чёрным ящиком»

Моя позиция: в инвестициях лучше всего работает связка «классическая статистика + ИИ-надстройка». GJR-GARCH даёт интерпретируемую структуру риска, а ИИ помогает решать то, что модель по определению не видит.

1) ИИ как детектор режимов

Рынок живёт режимами: низкая волатильность, переход, паника, восстановление. GJR-GARCH реагирует, но не «понимает» контекст. ИИ-модуль (кластеризация, HMM, градиентный бустинг по признакам ликвидности/спредов/макро) может:

  • определить текущий режим;
  • переключать параметры (длина окна, распределение остатков, лимиты риска);
  • включать более консервативный портфельный контроль в «режиме страха».

2) ИИ для выбора спецификации и гиперпараметров

На практике вы перебираете:

  • окно обучения (250/500/750 дней),
  • распределение (Normal/t/Skew-t),
  • модель среднего (константа/ARMA),
  • наличие асимметрии.

ИИ-оптимизатор (например, байесовская оптимизация) может выбирать конфигурацию по out-of-sample метрикам VaR-нарушений и стабильности параметров.

3) ИИ как «слой решений» поверх прогноза волатильности

Прогноз волатильности сам по себе не зарабатывает. Зарабатывает дисциплина в правилах:

  • позиционирование по риску: размер позиции ∝ 1/σ;
  • динамические стопы: стоп в ATR/волатильностных единицах;
  • хеджирование: включать/усиливать защиту при росте прогнозной волатильности;
  • портфельные ограничения: risk parity, волатильностные таргеты.

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

Практический чек-лист: как внедрить GJR-GARCH в риск-контур за 7 шагов

  1. Определите горизонт (1 день, 5 дней) и точку принятия решения (закрытие/открытие).
  2. Подготовьте доходности (лог-доходности, масштабирование).
  3. Начните с GJR-GARCH(1,1) и t-распределения.
  4. Проверьте значимость gamma: если асимметрии нет — не нужно усложнять.
  5. Сделайте rolling-прогноз и отделите обучающий период от тестового.
  6. Оцените качество через VaR-backtesting и корреляцию с реализованной волатильностью.
  7. Свяжите прогноз с действиями: лимиты, таргет волатильности, хедж, динамика позиции.

Хорошее правило: если прогноз не меняет ваше решение по риску, значит, вы просто строите красивые графики.

Что делать дальше

GJR-GARCH — это сильная «рабочая лошадка» для задач риск-менеджмента и краткосрочного прогнозирования волатильности, особенно там, где падения создают непропорциональный стресс. Для темы «Искусственный интеллект в финансовых инвестициях» он удобен ещё и тем, что даёт интерпретируемый базовый слой, на который можно честно «посадить» ИИ: детекцию режимов, оптимизацию параметров, адаптивные торговые правила.

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

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