Les marchés montent par les escaliers, mais descendent par l'ascenseur

Modèles GARCH en R

Kris Boudt

Professor of finance and econometrics

Comment ?

Modifiez l'argument distribution.model de ugarchspec() de "norm" à "sstd" :

garchspec <- ugarchspec( mean.model = list(armaOrder = c(0, 0)),
                         variance.model = list(model = "sGARCH"),
                         distribution.model = "norm")

$$ \downarrow$$

garchspec <- ugarchspec( mean.model = list(armaOrder = c(0, 0)),
                         variance.model = list(model = "sGARCH"),
                         distribution.model = "sstd")                         
Modèles GARCH en R

Le modèle GARCH normal

Sous les hypothèses du modèle

$$ R_{t} = \mu_{t} + e_{t} $$ $$ e_{t} \sim N(0, \sigma^{2}_{t}) $$

il en résulte que

$$ \frac{R_{t} - \mu_{t}}{\sigma_{t}} \sim N(0, 1) $$

Modèles GARCH en R

Testons

  • Attention : la normalité des rendements standardisés découle d'une hypothèse.
  • Calculons les rendements standardisés et testons la validité de cette hypothèse.
Modèles GARCH en R

Rendements standardisés estimés

  • Formule

$$ Z_{t} = \frac{R_{t} - \hat{\mu_{t}}}{ \hat{\sigma_{t}}} $$

Calcul dans R

# Obtain standardized returns
stdret <- residuals(garchfit, standardize = TRUE)
Modèles GARCH en R

Tester l'hypothèse de normalité

library(PerformanceAnalytics)
chart.Histogram(sp500ret, methods = c("add.normal", "add.density"),
          colorset = c("gray", "red", "blue"))
Modèles GARCH en R

Modèles GARCH en R

queues

Modèles GARCH en R

Solution

  • Une distribution réaliste doit tenir compte :

    • des queues épaisses : probabilité plus élevée d'observer de grands rendements (positifs ou négatifs) que sous la normale ;
    • de l'asymétrie : dissymétrie de la distribution des rendements.
  • Dans rugarch, cela est possible avec la distribution skewed student t :

garchspec <- ugarchspec(distribution.model = "sstd")
Modèles GARCH en R

Paramètres de la distribution skewed student t

  • Par rapport à la normale, la distribution skewed student t a deux paramètres supplémentaires :

    • Paramètre des degrés de liberté $\nu$ (dans rugarch : shape) : plus $\nu$ est faible, plus les queues sont épaisses.
    • Paramètre d'asymétrie $\xi$ (dans rugarch : skew) : quand $\xi=1$ : symétrie. Quand $\xi<1$ : asymétrie négative. Pour $\xi>1$ : asymétrie positive.
  • Cas particuliers :

    • Quand $\nu=\infty$ et $\xi=1$ : distribution normale.
    • Quand $\xi=1$ : distribution student t.
Modèles GARCH en R

Modèles GARCH en R

Modèles GARCH en R

Modèles GARCH en R

Modèles GARCH en R

Estimation d'un modèle GARCH avec skewed student t

Définissez l'argument distribution.model à "sstd"

garchspec <- ugarchspec(mean.model = list(armaOrder = c(0,0)),
                        variance.model = list(model = "sGARCH"),
                        distribution.model = "sstd")

Estimez le modèle

garchfit <- ugarchfit(data = sp500ret, spec = garchspec)
coef(garchfit)
          mu        omega       alpha1        beta1         skew        shape 
5.669200e-04 6.281258e-07 7.462984e-02 9.223701e-01 9.436331e-01 6.318621e+00
Modèles GARCH en R

Passons à la pratique !

Modèles GARCH en R

Preparing Video For Download...