Comment implémenter des modèles GARCH en Python

Modèles GARCH en Python

Chelsea Yang

Data Science Instructor

Forfait Python « arch »

from arch import arch_model

1 Kevin Sheppard. (2019, March 28). bashtage/arch: Release 4.8.1 (Version 4.8.1). Zenodo. http://doi.org/10.5281/zenodo.2613877
Modèles GARCH en Python

Flux de travail

Développer un modèle GARCH en trois étapes :

  1. Spécifier le modèle
  2. Ajuster le modèle
  3. Produire une prévision
Modèles GARCH en Python

Spécification du modèle

Hypothèses du modèle :

  • Distribution : "normal" (par défaut), "t", "skewt"
  • Modèle de moyenne : "constant" (par défaut), "zero", "AR"
  • Modèle de volatilité : "GARCH" (par défaut), "ARCH", "EGARCH"

 

basic_gm = arch_model(sp_data['Return'], p = 1, q = 1, 
                      mean = 'constant', vol = 'GARCH', dist = 'normal')
Modèles GARCH en Python

Ajustement du modèle

Afficher les résultats d'ajustement après chaque n itérations :

gm_result = gm_model.fit(update_freq = 4)

Processus d'ajustement du modèle

Désactiver l'affichage :

gm_result = gm_model.fit(disp = 'off')
Modèles GARCH en Python

Résultats ajustés : paramètres

Estimé par « maximum de vraisemblance »

print(gm_result.params)
mu          0.077239
omega       0.039587
alpha[1]    0.167963
beta[1]     0.786467
Name: params, dtype: float64
Modèles GARCH en Python

Résultats ajustés : résumé

print(gm_result.summary())

Résumé des résultats d'ajustement

Modèles GARCH en Python

Résultats ajustés : graphiques

gm_result.plot()

Graphiques des estimations du modèle

Modèles GARCH en Python

Prévision du modèle

# Prévision à 5 périodes
gm_forecast = gm_result.forecast(horizon = 5)
# Afficher la dernière ligne de la prévision de variance
print(gm_forecast.variance[-1:])
                 h.1       h.2       h.3       h.4       h.5
Date                                                        
2019-10-10  0.994079  0.988366  0.982913  0.977708  0.972741

h.1 sur la ligne « 2019-10-10 » : prévision à 1 pas faite avec les données jusqu'à cette date incluse

Modèles GARCH en Python

Passons à la pratique !

Modèles GARCH en Python

Preparing Video For Download...