Волатильность и экстремальные значения

Количественное управление рисками на Python

Jamsheed Shorish

Computational Economist

Допущения теста Чоу

  • Тест Чоу: определяет статистическую значимость возможного структурного сдвига
  • Требует: заранее заданной точки структурного сдвига
  • Требует: линейной зависимости (например, факторной модели) $$ \log(\text{Population}_t) = \alpha + \beta * \text{Year}_t + u_t $$

График роста населения Китая с указанием точки структурного сдвига

Количественное управление рисками на Python

Признаки структурного сдвига

  • Визуализация тренда не всегда позволяет обнаружить точку сдвига
  • Альтернатива: анализ волатильности, а не тренда
    • Структурные изменения часто сопровождаются ростом неопределённости => волатильность
    • Позволяет применять более сложные модели (например, модели стохастической волатильности)

График ежемесячной волатильности с возможными точками структурного сдвига

Количественное управление рисками на Python

Волатильность на основе скользящего окна

  • Скользящее окно: вычисляет волатильность во времени и обнаруживает изменения
  • Напоминание: 30-дневное скользящее окно

    • Создайте скользящее окно с помощью метода ".rolling()"
    • Вычислите волатильность скользящего окна (удалите недоступные даты)
    • Рассчитайте нужную сводную статистику, например .mean(), .min() и др.

     

rolling = portfolio_returns.rolling(30)

volatility = rolling.std().dropna()
vol_mean = volatility.resample("M").mean()
Количественное управление рисками на Python

Волатильность на основе скользящего окна

  • Визуализируйте полученную волатильность (дисперсию или стандартное отклонение)
import matplotlib.pyplot as plt
vol_mean.plot(
  title="Monthly average volatility"
).set_ylabel("Standard deviation")
plt.show()

График среднемесячной волатильности

Количественное управление рисками на Python

Волатильность на основе скользящего окна

  • Визуализируйте полученную волатильность (дисперсию или стандартное отклонение)
  • Резкие изменения волатильности => возможные точки структурного сдвига
  • Используйте предполагаемые точки сдвига в линейной модели волатильности
    • Вариант теста Чоу
  • Ориентир для применения моделей ARCH, стохастической волатильности и др.
vol_mean.pct_change().plot(
  title="$\Delta$ average volatility"
).set_ylabel("% $\Delta$ stdev")
plt.show()

График процентного изменения ежемесячной волатильности

Количественное управление рисками на Python

Экстремальные значения

  • VaR, CVaR: максимальный убыток и ожидаемый дефицит при заданном доверительном уровне
  • Визуализировать изменения максимального убытка через VaR?
    • Полезно для больших наборов данных
    • Малые наборы данных: недостаточно информации
  • Альтернатива: поиск убытков, превышающих заданный порог
  • Пример: $\text{VaR}_{95}$ — максимальный убыток в 95% случаев
    • Значит, в 5% случаев убытки могут превысить $\text{VaR}_{95}$
  • Бэктестинг: применение исторических данных постфактум для оценки качества риск-метрики
    • Широко используется в корпоративном риск-менеджменте
Количественное управление рисками на Python

Бэктестинг

  • Допустим, $\text{VaR}_{95} = 0.03$
  • Убытки свыше 3% считаются экстремальными значениями
  • Бэктестинг: около 5% (100% − 95%) прошлых убытков должны превышать 3%
    • Больше 5%: распределение с более широкими («жирными») хвостами
    • Меньше 5%: распределение с более узкими хвостами
  • CVaR для бэктестинга: лучше учитывает хвост распределения, чем VaR

График убытков и порогового значения 95% VaR

Количественное управление рисками на Python

Давайте потренируемся!

Количественное управление рисками на Python

Preparing Video For Download...