Модели GARCH на Python
Chelsea Yang
Data Science Instructor
Правило №1: никогда не теряй деньги
Правило №2: никогда не забывай правило №1
-- Warren Buffett

VaR расшифровывается как Value at Risk (стоимость под риском)
Три составляющих:
Однодневный 5%-й VaR в $1 млн
5%-я вероятность того, что стоимость портфеля упадёт на 1 миллион долларов или более за 1 день
Десятидневный 1%-й VaR в $9 млн
1%-я вероятность того, что стоимость портфеля упадёт на 9 миллионов долларов или более за 10 дней

Более реалистичная оценка VaR с помощью GARCH
VaR = среднее + (волатильность GARCH) * квантиль
VaR = mean_forecast.values + np.sqrt(variance_forecast).values * quantile
# 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')
Шаг 2: получение прогнозных значений среднего и волатильности с помощью модели GARCH
mean_forecast = gm_forecast.mean['2019-01-01':]
variance_forecast = gm_forecast.variance['2019-01-01':]
Шаг 3: вычисление квантиля для заданного уровня доверия
Оценка квантилей на основе предполагаемого распределения стандартизованных остатков GARCH
# Assume a Student's t-distribution
# ppf(): Percent point function
q_parametric = garch_model.distribution.ppf(0.05, nu)
Оценка квантилей на основе наблюдаемого распределения стандартизованных остатков GARCH
q_empirical = std_resid.quantile(0.05)
Модели GARCH на Python