VaR в управлении финансовыми рисками

Модели GARCH на Python

Chelsea Yang

Data Science Instructor

Мышление в духе управления рисками

Правило №1: никогда не теряй деньги

Правило №2: никогда не забывай правило №1

-- Warren Buffett

Карикатура на Баффета

Модели GARCH на Python

Что такое VaR

  • VaR расшифровывается как Value at Risk (стоимость под риском)

  • Три составляющих:

    1. портфель
    2. временной горизонт
    3. вероятность
Модели GARCH на Python

Примеры VaR

Однодневный 5%-й VaR в $1 млн

5%-я вероятность того, что стоимость портфеля упадёт на 1 миллион долларов или более за 1 день

Десятидневный 1%-й VaR в $9 млн

1%-я вероятность того, что стоимость портфеля упадёт на 9 миллионов долларов или более за 10 дней

Модели GARCH на Python

VaR в управлении рисками

  • Установка лимитов риска
  • Превышение VaR: убыток по портфелю превышает значение VaR

Превышения VaR

Модели GARCH на Python

Динамический VaR с GARCH

  • Более реалистичная оценка VaR с помощью GARCH

  • VaR = среднее + (волатильность GARCH) * квантиль

VaR = mean_forecast.values + np.sqrt(variance_forecast).values * quantile
Модели GARCH на Python

Вычисление динамического VaR

  • Шаг 1: построение прогноза дисперсии с помощью модели GARCH
# Specify and fit a GARCH model
basic_gm = arch_model(bitcoin_data['Return'], p = 1, q = 1, 
                      mean = 'constant', vol = 'GARCH', dist = 't')
gm_result = basic_gm.fit()
# Make variance forecast
gm_forecast = gm_result.forecast(start = '2019-01-01')
Модели GARCH на Python

Вычисление динамического VaR (продолжение)

  • Шаг 2: получение прогнозных значений среднего и волатильности с помощью модели GARCH

    mean_forecast = gm_forecast.mean['2019-01-01':]
    variance_forecast = gm_forecast.variance['2019-01-01':]
    

     

  • Шаг 3: вычисление квантиля для заданного уровня доверия

    1. Параметрический VaR
    2. Эмпирический VaR
Модели GARCH на Python

Параметрический VaR

Оценка квантилей на основе предполагаемого распределения стандартизованных остатков GARCH

# Assume a Student's t-distribution 
# ppf(): Percent point function

q_parametric = garch_model.distribution.ppf(0.05, nu)
Модели GARCH на Python

Эмпирический VaR

Оценка квантилей на основе наблюдаемого распределения стандартизованных остатков GARCH

q_empirical = std_resid.quantile(0.05)
Модели GARCH на Python

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

Модели GARCH на Python

Preparing Video For Download...