Rynki wchodzą po schodach, a zjeżdżają windą

Modele GARCH w R

Kris Boudt

Professor of finance and econometrics

Jak?

Zmień argument distribution.model w ugarchspec() z "norm" na "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")                         
Modele GARCH w R

Normalny model GARCH

Przy założeniach modelu

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

wynika, że

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

Modele GARCH w R

Weryfikacja założenia

  • Uwaga: normalność standaryzowanych zwrotów wynika z założenia modelu.
  • Obliczmy standaryzowane zwroty i sprawdźmy, czy założenie jest słuszne.
Modele GARCH w R

Szacowane standaryzowane zwroty

  • Wzór

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

Obliczenie w R

# Obliczenie standaryzowanych zwrotów
stdret <- residuals(garchfit, standardize = TRUE)
Modele GARCH w R

Weryfikacja założenia o normalności

library(PerformanceAnalytics)
chart.Histogram(sp500ret, methods = c("add.normal", "add.density"),
          colorset = c("gray", "red", "blue"))
Modele GARCH w R

Modele GARCH w R

ogony

Modele GARCH w R

Rozwiązanie

  • Realistyczny rozkład musi uwzględniać:

    • grube ogony: wyższe prawdopodobieństwo dużych zwrotów (dodatnich lub ujemnych) niż w rozkładzie normalnym
    • skośność: asymetrię rozkładu zwrotów
  • W rugarch umożliwia to skośny rozkład t-Studenta:

garchspec <- ugarchspec(distribution.model = "sstd")
Modele GARCH w R

Parametry skośnego rozkładu t-Studenta

  • Skośny rozkład t-Studenta ma dwa dodatkowe parametry względem normalnego:

    • Parametr stopni swobody $\nu$ (w rugarch: shape): im mniejsze $\nu$, tym grubsze ogony.
    • Parametr skośności $\xi$ (w rugarch: skew): gdy $\xi=1$: symetria. Gdy $\xi<1$: skośność ujemna. Gdy $\xi>1$: skośność dodatnia.
  • Przypadki szczególne:

    • Gdy $\nu=\infty$ i $\xi=1$: rozkład normalny.
    • Gdy $\xi=1$: rozkład t-Studenta.
Modele GARCH w R

Modele GARCH w R

Modele GARCH w R

Modele GARCH w R

Modele GARCH w R

Estymacja modelu GARCH ze skośnym rozkładem t-Studenta

Ustaw argument distribution.model na "sstd"

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

Estymacja modelu

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
Modele GARCH w R

Czas na ćwiczenia!

Modele GARCH w R

Preparing Video For Download...