Hävstångseffekt

GARCH-modeller i R

Kris Boudt

Professor of finance and econometrics

Negativ avkastning ökar hävstången

  • $R_t <0 $
  • $\downarrow$ marknadsvärde
  • $\uparrow$ hävstång = skuld / marknadsvärde
  • $\uparrow$ volatilitet
GARCH-modeller i R

Två ekvationer

Använd separata ekvationer för variansen beroende på negativt eller positivt oväntat utfall $e_t = R_t - \mu_t$ :

Fall när $ e_{t-1} \gt 0$

$$ \sigma^2_{t} = ??? $$

Fall när $ e_{t-1} \le 0$

$$ \sigma^2_{t} = ??? $$

GARCH-modeller i R

Vid en positiv överraskning

... vi utgår från den vanliga GARCH(1,1)-ekvationen:

Fall när $ e_{t-1} \gt 0$

$$ \sigma^2_{t} = \omega + \alpha e^{2}_{t-1} + \beta \sigma^{2}_{t-1} $$

Fall när $ e_{t-1} \le 0$

$$ \sigma^2_{t} = ??? $$

GARCH-modeller i R

Vid en negativ överraskning

  • Den predikterade variansen ska vara högre än efter en positiv överraskning.

  • Det innebär en högre koefficient för det kvadrerade prediktionsfelet, nämligen $\alpha+\gamma$ i stället för $\alpha$, med $\gamma \geq 0$

Fall när $ e_{t-1} \gt 0$

$$ \sigma^2_{t} = \omega + \alpha e^{2}_{t-1} + \beta \sigma^{2}_{t-1} $$

Fall när $ e_{t-1} \le 0$

$$ \sigma^2_{t} = \omega + (\alpha + \gamma) e^{2}_{t-1} + \beta \sigma^{2}_{t-1} $$

Detta är GJR-modellen som föreslogs av Glosten, Jagannathan och Runkle.

GARCH-modeller i R

Hur?

Ändra argumentet variance.model i ugarchspec() från model = "sGARCH" till model = "gjrGARCH":

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

$$\downarrow$$

garchspec <- ugarchspec(mean.model = list(armaOrder = c(0, 0)), 
                        variance.model = list(model = "gjrGARCH"),
                        distribution.model = "sstd")
GARCH-modeller i R

Illustration med MSFT-avkastning

Estimera modellen

garchfit <- ugarchfit(data = msftret, spec = garchspec)

Granska GARCH-koefficienterna

coef(garchfit)[2:5]
       omega       alpha1        beta1       gamma1 
2.007875e-06 3.423336e-02 9.363302e-01 5.531854e-02

GARCH-modeller i R

Visualisera volatilitetsresponsen med newsimpact()

out <- newsimpact(garchfit)
plot(out$zx, out$zy, xlab = "prediction error", ylab = "predicted variance")

GARCH-modeller i R

Nu kör vi en övning!

GARCH-modeller i R

Preparing Video For Download...