Utan risk, ingen vinst

GARCH-modeller i R

Kris Boudt

Professor of finance and econometrics

GARCH-in-mean-modellen

  • Kvantifiera avvägningen mellan risk och avkastning.
  • Risk: $\sigma^2_t$. Avkastning: $\mu_t$.
  • GARCH-in-mean-modellen:

$$ \mu_{t} = \mu + \lambda \sigma^2_{t} $$

$\lambda > 0$ är risk/avkastnings-parametern och anger ökningen i förväntad avkastning per enhet variansrisk.

GARCH-modeller i R

Hur?

Ändra argumentet mean.model i ugarchspec() från list(armaOrder = c(0, 0)) till list(armaOrder = c(0, 0), archm = TRUE, archpow = 2):

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

Tillämpning på dagliga S&P 500-avkastningar

Skattning

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

Granskning av skattade koefficienter för medelvärdet

round(coef(garchfit)[1:2], 4)
    mu  archm 
0.0002 1.9950

Förutsagda medelvärdesavkastningar

$$ \hat{\mu}_{t} = 0.0002 + 1.9950 \hat{\sigma}^2_{t} $$

GARCH-modeller i R

Tidsserieplot över förutsagda avkastningar

  • Plotta dem i R
    plot(fitted(garchfit))
    
GARCH-modeller i R

Dagens avkastning förutsäger morgondagens

  • GARCH-in-mean-modellen använder finansteorins avvägning mellan risk och avkastning för att bygga en modell för det betingade medelvärdet.
  • Nu ska vi använda statistisk teori för att skapa en medelvärdetsmodell som utnyttjar korrelationen mellan dagens och morgondagens avkastning.
  • Den vanligaste modellen är AR(1)-modellen:
    • AR(1) står för autoregressiv modell av ordning 1.
    • Den förutsäger nästa avkastning med hjälp av avvikelsen från det långsiktiga medelvärdet $\mu$:

$$ \mu_{t} = \mu + \rho(R_{t-1} - \mu) $$

GARCH-modeller i R

En positiv autoregressiv koefficient

$$ \mu_{t} = \mu + \rho(R_{t-1} - \mu) $$

  • $\rho > 0$:
    • En högre (resp. lägre) avkastning än genomsnittet följs av en högre (resp. lägre) avkastning än genomsnittet.
    • Möjlig förklaring: marknader underreagerar på nyheter, vilket skapar momentum i avkastningarna.
  • $|\rho|<1$: Medelvärdesåtergång: Avvikelserna i $R_t$ från $\mu$ är tillfälliga.
GARCH-modeller i R

En negativ autoregressiv koefficient

$$ \mu_{t} = \mu + \rho(R_{t-1} - \mu) $$

  • $\rho < 0$:
    • En högre (resp. lägre) avkastning än genomsnittet följs av en lägre (resp. högre) avkastning än genomsnittet.
    • Möjlig förklaring: marknader överreagerar på nyheter, vilket leder till reversering i avkastningarna.
GARCH-modeller i R

Tillämpning på dagliga S&P 500-avkastningar

Specifikation och skattning av AR(1)-GJR GARCH med sst-fördelning

garchspec <- ugarchspec( 
          mean.model = list(armaOrder = c(1, 0)),
          variance.model = list(model = "gjrGARCH"),
          distribution.model = "sstd")
garchfit <- ugarchfit(data = sp500ret, spec = garchspec)

Skattningar av AR(1)-modellen

round(coef(garchfit)[1:2], 4)
     mu     ar1     
 0.0003 -0.0292
GARCH-modeller i R

MA(1)- och ARMA(1,1)-modellen

Glidande medelvärdesmodellen av ordning 1 använder avvikelsen mellan avkastningen och dess betingade medelvärde:

$$ \mu_{t} = \mu + \theta(R_{t-1} - \mu_{t-1}) $$

ARMA(1,1) kombinerar AR(1) och MA(1):

$$ \mu_{t} = \mu + \rho(R_{t-1} - \mu) + \theta(R_{t-1} - \mu_{t-1}) $$

GARCH-modeller i R

Hur?

MA(1)

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

ARMA(1, 1)

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

Din tur att ändra argumentet mean.model

GARCH-modeller i R

Preparing Video For Download...