Validera dina antaganden om medelvärde och varians

GARCH-modeller i R

Kris Boudt

Professor of finance and econometrics

Kontroll 1: Medelvärde och standardavvikelse för standardiserade avkastningar

Beräkna standardiserade avkastningar

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

  • Första kontrollen av modellens giltighet:
    • Stickprovets medelvärde för standardiserade avkastningar $\approx$ 0
    • Stickprovets standardavvikelse för standardiserade avkastningar $\approx$ 1
GARCH-modeller i R

Kontroll 2: Tidsserieplot över standardiserade avkastningar

  • Andra kontrollen av modellens giltighet:
    • tidsserieplot över standardiserade avkastningar
    • standardiserade avkastningar ska ha konstant variabilitet
GARCH-modeller i R

GARCH-modeller i R

GARCH-modeller i R

Kontroll 3: Ingen förutsägbarhet i de absoluta standardiserade avkastningarna

  • Tredje kontrollen av modellens giltighet:

    • verifiera att det inte finns någon korrelation mellan den tidigare absoluta standardiserade avkastningen och den aktuella.
    • det innebär: $ Corr(|Z_{t-k}|, |Z_{t}|) \approx 0, $ för $k>0$
  • Varför?

    • Storleken på den absoluta standardiserade avkastningen ska vara konstant $\rightarrow$ inga korrelationer i de absoluta standardiserade avkastningarna.
GARCH-modeller i R

Autokorrelationer

  • Sådana korrelationer inom en tidsserie kallas autokorrelationer av ordning k
    • $k=1$: $Corr(|Z_{t-1}|, |Z_{t}|)$: Korrelation mellan den aktuella absoluta standardiserade avkastningen och dess föregående värde.
    • $k=2$: $Corr(|Z_{t-2}|, |Z_{t}|)$: Korrelation mellan den aktuella absoluta standardiserade avkastningen och dess värde två perioder tillbaka.
    • ...
  • Alla dessa ska vara 0. Undantag:
    • $k=0$: $Corr(|Z_{t}|, |Z_{t}|)$: Korrelation av den absoluta standardiserade avkastningen med sig själv: lika med 1.
GARCH-modeller i R

acf()

  • I R beräknar vi autokorrelationer med autokorrelationsfunktionen acf()
    • Indata: tidsserie, maximal ordning
    • Utdata: korrelogrammet: ett diagram som visar autokorrelationernas värden för olika ordningar $k = 0, 1, ...$.
GARCH-modeller i R

Tillämpning på 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)
GARCH-modeller i R

GARCH-modeller i R

Kontroll 4: Ljung-Box-testet

  • Fjärde kontrollen av modellens giltighet:
    • Ljung-Box-testet, som prövar om de första k autokorrelationerna i de absoluta standardiserade avkastningarna $|Z_t$| är noll: $$ H_0: Corr(|Z_t|,|Z_{t-1}|) = Corr(|Z_t|,|Z_{t-2}|) = ... = Corr(|Z_t|,|Z_{t-k}|) = 0 $$
    • Liknar ett $t$-test för statistisk signifikans hos de skattade parametrarna, men här vill vi ha 0 för att modellen ska vara giltig.

Tumregel: ett p-värde under 5 % indikerar att modellen inte är giltig.

GARCH-modeller i R

Ljung-Box-testet i R

  • I R: funktionen Box.test() med 3 argument:
    • serie
    • maximal ordning för vilken autokorrelationerna är noll
    • type = "Ljung-Box"

Exempel:

Box.test(abs(stdmsftret), 22, type = "Ljung-Box")
  • Utdata: p-värde
    • Tumregel: ett p-värde under 5 % indikerar att modellen inte är giltig.
GARCH-modeller i R

Box.test med absoluta standardiserade MSFT-avkastningar

Test på absoluta standardiserade avkastningar:

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

Obs: p-värdet är 28,55 % > 5 %. Vi kan inte förkasta att: $$ H_0: Corr(|Z_t|,|Z_{t-1}|) = Corr(|Z_t|,|Z_{t-2}|) = ... = Corr(|Z_t|,|Z_{t-22}|) = 0 $$

GARCH-modeller i R

Nu kör vi en övning!

GARCH-modeller i R

Preparing Video For Download...