Marknaden tar trapporna upp, men hissen ner

GARCH-modeller i R

Kris Boudt

Professor of finance and econometrics

Hur?

Ändra argumentet distribution.model i ugarchspec() från "norm" till "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")                         
GARCH-modeller i R

Den normala GARCH-modellen

Under modellens antaganden

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

gäller att

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

GARCH-modeller i R

Låt oss testa

  • Förbehåll: att de standardiserade avkastningarna är normalfördelade följer av ett antagande
  • Låt oss beräkna de standardiserade avkastningarna och testa om antagandet stämmer.
GARCH-modeller i R

Skattade standardiserade avkastningar

  • Formel

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

Beräkning i R

# Obtain standardized returns
stdret <- residuals(garchfit, standardize = TRUE)
GARCH-modeller i R

Testa normalitetsantagandet

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

GARCH-modeller i R

svansar

GARCH-modeller i R

Lösning

  • En realistisk fördelning behöver kunna hantera

    • tjocka svansar: högre sannolikhet för stora (positiva eller negativa) avkastningar än under normalfördelningen
    • skevhet: asymmetri i avkastningsfördelningen
  • I rugarch är detta möjligt med den skeva student-t-fördelningen:

garchspec <- ugarchspec(distribution.model = "sstd")
GARCH-modeller i R

Parametrar för den skeva student-t-fördelningen

  • Jämfört med normalfördelningen har den skeva student-t-fördelningen två extra parametrar:

    • Frihetsgradsparameter $\nu$ (i rugarch: shape): ju lägre $\nu$, desto tjockare svansar.
    • Skevhetsparameter $\xi$ (i rugarch: skew): när $\xi=1$ är fördelningen symmetrisk. När $\xi<1$: negativ skevhet. När $\xi>1$: positiv skevhet.
  • Specialfall:

    • När $\nu=\infty$ och $\xi=1$: normalfördelning.
    • När $\xi=1$: student-t-fördelning.
GARCH-modeller i R

GARCH-modeller i R

GARCH-modeller i R

GARCH-modeller i R

GARCH-modeller i R

GARCH-modellskattning med skev student-t

Sätt argumentet distribution.model till "sstd"

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

Skatta modellen

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
GARCH-modeller i R

Nu kör vi en övning!

GARCH-modeller i R

Preparing Video For Download...