Ověřte předpoklady o střední hodnotě a rozptylu

GARCH modely v R

Kris Boudt

Professor of finance and econometrics

Kontrola 1: Průměr a směrodatná odchylka standardizovaných výnosů

Vzorec standardizovaných výnosů

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

  • První kontrola platnosti modelu:
    • Výběrový průměr standardizovaných výnosů $\approx$ 0
    • Výběrová směrodatná odchylka standardizovaných výnosů $\approx$ 1
GARCH modely v R

Kontrola 2: Graf časové řady standardizovaných výnosů

  • Druhá kontrola platnosti modelu:
    • graf časové řady standardizovaných výnosů
    • standardizované výnosy by měly mít konstantní variabilitu
GARCH modely v R

GARCH modely v R

GARCH modely v R

Kontrola 3: Žádná předvídatelnost absolutních standardizovaných výnosů

  • Třetí kontrola platnosti modelu:

    • ověřte, že neexistuje korelace mezi minulým a aktuálním absolutním standardizovaným výnosem.
    • to znamená: $ Corr(|Z_{t-k}|, |Z_{t}|) \approx 0, $ pro $k>0$
  • Proč?

    • Velikost absolutního standardizovaného výnosu by měla být konstantní $\rightarrow$ žádné korelace v absolutních standardizovaných výnosech.
GARCH modely v R

Autokorelace

  • Takovéto korelace v rámci časové řady se nazývají autokorelace řádu k
    • $k=1$: $Corr(|Z_{t-1}|, |Z_{t}|)$: Korelace aktuálního absolutního standardizovaného výnosu s předchozí hodnotou.
    • $k=2$: $Corr(|Z_{t-2}|, |Z_{t}|)$: Korelace aktuálního absolutního standardizovaného výnosu s hodnotou před dvěma obdobími.
    • ...
  • Všechny by měly být 0. Výjimka:
    • $k=0$: $Corr(|Z_{t}|, |Z_{t}|)$: Korelace absolutního standardizovaného výnosu se sebou samým: rovná se 1.
GARCH modely v R

acf()

  • V R lze autokorelace vypočítat pomocí funkce acf()
    • Vstup: časová řada, maximální řád
    • Výstup: korelogram: graf zobrazující hodnoty autokorelace pro různé řády $k = 0, 1, ...$.
GARCH modely v R

Aplikace na 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 modely v R

GARCH modely v R

Kontrola 4: Ljung-Boxův test

  • Čtvrtá kontrola platnosti modelu:
    • Ljung-Boxův test, že prvních k autokorelací v absolutních standardizovaných výnosech $|Z_t$| je nula: $$ H_0: Corr(|Z_t|,|Z_{t-1}|) = Corr(|Z_t|,|Z_{t-2}|) = ... = Corr(|Z_t|,|Z_{t-k}|) = 0 $$
    • Podobné jako $t$-test pro statistickou významnost odhadovaných parametrů, zde však požadujeme hodnotu 0 pro platný model.

Heuristické pravidlo: p-hodnota nižší než 5 % naznačuje, že použitý model není platný.

GARCH modely v R

Ljung-Boxův test v R

  • V R: funkce Box.test() se 3 argumenty:
    • řada
    • maximální řád, pro který jsou autokorelace nulové
    • type = "Ljung-Box"

Příklad:

Box.test(abs(stdmsftret), 22, type = "Ljung-Box")
  • Výstup: p-hodnota
    • Heuristické pravidlo: p-hodnota nižší než 5 % naznačuje, že použitý model není platný.
GARCH modely v R

Box.test na absolutních standardizovaných výnosech MSFT

Test na absolutních standardizovaných výnosech:

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

Poznámka: p-hodnota je 28,55 % > 5 %. Nelze zamítnout: $$ H_0: Corr(|Z_t|,|Z_{t-1}|) = Corr(|Z_t|,|Z_{t-2}|) = ... = Corr(|Z_t|,|Z_{t-22}|) = 0 $$

GARCH modely v R

Pojďme diagnostikovat absolutní standardizované výnosy.

GARCH modely v R

Preparing Video For Download...