Validez vos hypothèses sur la moyenne et la variance

Modèles GARCH en R

Kris Boudt

Professor of finance and econometrics

Vérif. 1 : moyenne et écart-type des rendements standardisés

Formule des rendements standardisés

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

  • Première vérification du modèle :
    • Moyenne empirique des rendements standardisés $\approx$ 0
    • Écart-type empirique des rendements standardisés $\approx$ 1
Modèles GARCH en R

Vérif. 2 : graphique temporel des rendements standardisés

  • Deuxième vérification du modèle :
    • graphique temporel des rendements standardisés
    • les rendements standardisés doivent avoir une variabilité constante
Modèles GARCH en R

Modèles GARCH en R

Modèles GARCH en R

Vérif. 3 : pas de prévisibilité dans les rendements standardisés absolus

  • Troisième vérification du modèle :

    • vérifier l'absence de corrélation entre la valeur absolue du rendement standardisé passé et la valeur absolue courante.
    • c.-à-d. : $ Corr(|Z_{t-k}|, |Z_{t}|) \approx 0 $ pour $k>0$
  • Pourquoi ?

    • L'ampleur du rendement standardisé absolu doit être constante $\rightarrow$ pas de corrélations dans les rendements standardisés absolus.
Modèles GARCH en R

Autocorrélations

  • De telles corrélations intra-série sont des autocorrélations d'ordre k
    • $k=1$ : $Corr(|Z_{t-1}|, |Z_{t}|)$ : corrélation entre le rendement standardisé absolu courant et sa valeur précédente.
    • $k=2$ : $Corr(|Z_{t-2}|, |Z_{t}|)$ : corrélation entre le rendement standardisé absolu courant et sa valeur d'il y a deux périodes.
    • ...
  • Toutes devraient être 0. Sauf :
    • $k=0$ : $Corr(|Z_{t}|, |Z_{t}|)$ : corrélation du rendement standardisé absolu avec lui-même : égale à 1.
Modèles GARCH en R

acf()

  • En R, on calcule ces autocorrélations avec la fonction acf()
    • Entrée : série chronologique, ordre maximal
    • Sortie : le correlogramme : graphique des autocorrélations pour différents ordres $k = 0, 1, ...$.
Modèles GARCH en R

Application à MSFT

garchspec <- ugarchspec(mean.model = list(armaOrder = c(1, 0)),
                        variance.model = list(model = "gjrGARCH"),
                        distribution.model = "sstd")
garchfit <- ugarchfit(data = msftret, spec = garchspec)
stdmsftret <- residuals(garchfit, standardize = TRUE)
acf(abs(msftret), 22)
acf(abs(stdmsftret), 22)
Modèles GARCH en R

Modèles GARCH en R

Vérif. 4 : test de Ljung-Box

  • Quatrième vérification du modèle :
    • test de Ljung-Box que les k premières autocorrélations des rendements standardisés absolus $|Z_t$| sont nulles : $$ H_0: Corr(|Z_t|,|Z_{t-1}|) = Corr(|Z_t|,|Z_{t-2}|) = ... = Corr(|Z_t|,|Z_{t-k}|) = 0 $$
    • Semblable à un test $t$ pour la signification statistique des paramètres estimés, mais ici on veut 0 pour que le modèle soit bon.

Règle générale : une valeur p inférieure à 5 % indique que le modèle n'est pas valide.

Modèles GARCH en R

Test de Ljung-Box dans R

  • En R : fonction Box.test() avec 3 arguments :
    • série
    • ordre maximal pour lequel les autocorrélations sont nulles
    • type = "Ljung-Box"

Exemple :

Box.test(abs(stdmsftret), 22, type = "Ljung-Box")
  • Sortie : valeur p
    • Règle générale : une valeur p inférieure à 5 % indique que le modèle n'est pas valide.
Modèles GARCH en R

Box.test avec les rendements standardisés absolus de MSFT

Test sur les rendements standardisés absolus :

Box.test(abs(stdmsftret), 22, type = "Ljung-Box")
    Box-Ljung test
data:  abs(stdmsftret)
X-squared = 25.246, df = 22, p-value = 0.2855

Remarque : la valeur p est 28,55 % > 5 %. On ne peut pas rejeter : $$ H_0: Corr(|Z_t|,|Z_{t-1}|) = Corr(|Z_t|,|Z_{t-2}|) = ... = Corr(|Z_t|,|Z_{t-22}|) = 0 $$

Modèles GARCH en R

Diagnostiquons les rendements standardisés absolus.

Modèles GARCH en R

Preparing Video For Download...