Piețele urcă pe scări, dar coboară cu liftul

Modele GARCH în R

Kris Boudt

Professor of finance and econometrics

Cum?

Modificați argumentul distribution.model al funcției ugarchspec() din "norm" în "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 în R

Modelul GARCH normal

Sub ipotezele modelului

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

rezultă că

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

Modele GARCH în R

Să testăm

  • Atenție: normalitatea randamentelor standardizate decurge dintr-o ipoteză
  • Să calculăm randamentele standardizate și să verificăm dacă ipoteza este corectă.
Modele GARCH în R

Randamente standardizate estimate

  • Formulă

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

Calcul în R

# Obtain standardized returns
stdret <- residuals(garchfit, standardize = TRUE)
Modele GARCH în R

Testarea ipotezei de normalitate

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

Modele GARCH în R

cozi

Modele GARCH în R

Soluție

  • O distribuție realistă trebuie să permită:

    • cozi late: probabilitate mai mare de a observa randamente mari (pozitive sau negative) față de distribuția normală
    • asimetrie: distribuția randamentelor este asimetrică
  • În rugarch acest lucru este posibil cu distribuția student t asimetrică:

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

Parametrii distribuției student t asimetrice

  • Față de distribuția normală, distribuția student t asimetrică are doi parametri suplimentari:

    • Parametrul gradelor de libertate $\nu$ (în rugarch: shape): cu cât $\nu$ este mai mic, cu atât cozile sunt mai late.
    • Parametrul de asimetrie $\xi$ (în rugarch: skew): când $\xi=1$: simetrie. Când $\xi<1$: asimetrie negativă. Când $\xi>1$: asimetrie pozitivă.
  • Cazuri speciale:

    • Când $\nu=\infty$ și $\xi=1$: distribuție normală.
    • Când $\xi=1$: distribuție student t.
Modele GARCH în R

Modele GARCH în R

Modele GARCH în R

Modele GARCH în R

Modele GARCH în R

Estimarea modelului GARCH cu student t asimetrică

Setați argumentul distribution.model la "sstd"

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

Estimați modelul

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 în R

Să exersăm!

Modele GARCH în R

Preparing Video For Download...