Modèles GARCH en Python
Chelsea Yang
Data Science Instructor
Règle no 1 : Ne perdez jamais d'argent
Règle no 2 : N'oubliez jamais la règle no 1
-- Warren Buffett

VaR signifie Value at Risk
Trois éléments :
_VaR à 1 jour, 5 % : 1 million $ _
Probabilité de 5 % que la valeur du portefeuille baisse d'au moins 1 million $ sur 1 jour
VaR à 10 jours, 1 % : 9 millions $
Probabilité de 1 % que la valeur du portefeuille baisse d'au moins 9 millions $ sur 10 jours

Estimation de VaR plus réaliste avec GARCH
VaR = moyenne + (vol GARCH) * quantile
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')
Étape 2 : utiliser GARCH pour obtenir la moyenne et la volatilité prospectives
mean_forecast = gm_forecast.mean['2019-01-01':]
variance_forecast = gm_forecast.variance['2019-01-01':]
Étape 3 : obtenir le quantile selon le niveau de confiance
Estimer les quantiles selon la distribution supposée par GARCH des résidus normalisés
# Assume a Student's t-distribution
# ppf(): Percent point function
q_parametric = garch_model.distribution.ppf(0.05, nu)
Estimer les quantiles selon la distribution observée des résidus GARCH normalisés
q_empirical = std_resid.quantile(0.05)
Modèles GARCH en Python