Effet de levier

Modèles GARCH en R

Kris Boudt

Professor of finance and econometrics

Des rendements négatifs accroissent le levier

  • $R_t <0 $
  • $\downarrow$ valeur de marché
  • $\uparrow$ levier = dette / valeur de marché
  • $\uparrow$ volatilité
Modèles GARCH en R

Deux équations

Utilisez des équations distinctes pour la variance après un rendement inattendu négatif ou positif $e_t = R_t - \mu_t$ :

Cas où $ e_{t-1} \gt 0$

$$ \sigma^2_{t} = ??? $$

Cas où $ e_{t-1} \le 0$

$$ \sigma^2_{t} = ??? $$

Modèles GARCH en R

En cas de surprise positive

… on prend l'équation GARCH(1,1) usuelle :

Cas où $ e_{t-1} \gt 0$

$$ \sigma^2_{t} = \omega + \alpha e^{2}_{t-1} + \beta \sigma^{2}_{t-1} $$

Cas où $ e_{t-1} \le 0$

$$ \sigma^2_{t} = ??? $$

Modèles GARCH en R

En cas de surprise négative

  • La variance prédite doit être plus élevée qu'après une surprise positive.

  • Cela implique un coefficient plus grand devant l'erreur de prédiction au carré, soit $\alpha+\gamma$ au lieu de $\alpha$ avec $\gamma \geq 0$

Cas où $ e_{t-1} \gt 0$

$$ \sigma^2_{t} = \omega + \alpha e^{2}_{t-1} + \beta \sigma^{2}_{t-1} $$

Cas où $ e_{t-1} \le 0$

$$ \sigma^2_{t} = \omega + (\alpha + \gamma) e^{2}_{t-1} + \beta \sigma^{2}_{t-1} $$

Voici le modèle GJR proposé par Glosten, Jagannathan et Runkle.

Modèles GARCH en R

Comment ?

Modifiez l'argument variance.model de ugarchspec() de model = "sGARCH" à model = "gjrGARCH" :

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

$$\downarrow$$

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

Illustration sur les rendements MSFT

Estimez le modèle

garchfit <- ugarchfit(data = msftret, spec = garchspec)

Inspectez les coefficients GARCH

coef(garchfit)[2:5]
       omega       alpha1        beta1       gamma1 
2.007875e-06 3.423336e-02 9.363302e-01 5.531854e-02

Modèles GARCH en R

Visualiser la réponse de volatilité avec newsimpact()

out <- newsimpact(garchfit)
plot(out$zx, out$zy, xlab = "erreur de prédiction", ylab = "variance prédite")

Modèles GARCH en R

Estimons un modèle GJR GARCH.

Modèles GARCH en R

Preparing Video For Download...