GARCH-modeller: Vägen framåt

GARCH-modeller i R

Kris Boudt

Professor of finance and econometrics

Uppfinnarna av GARCH-modeller

Robert Engle

Engle

Tim Bollerslev

Bollie

GARCH-modeller i R

Notation (i)

  • Indata: Tidsserie av avkastningar

Förutsagda volatiliteter

GARCH-modeller i R

Notation (ii)

  • Vid tidpunkt $t-1$ gör du en prognos om den framtida avkastningen $R_t$, med hjälp av den informationsmängd som finns tillgänglig vid tidpunkt $t-1$:

Förutsagda volatiliteter

GARCH-modeller i R

Notation (iii)

  • Prognos av medelavkastningen: vad är den bästa möjliga prognosen av den faktiska avkastningen? Förutsagda volatiliteter
GARCH-modeller i R

Notation (iv)

  • Därefter förutsäger vi variansen: hur långt kan avkastningen avvika från sitt medelvärde? Förutsagda volatiliteter
GARCH-modeller i R

Från teori till praktik: Modeller för medelvärdet

  • Vi behöver en ekvation som mappar historiska avkastningar till en prognos av medelvärdet Förutsagda volatiliteter

För AR(MA)-modeller för medelvärdet, se DataCamps kurs om tidsserieanalys.

GARCH-modeller i R

Från teori till praktik: Modeller för variansen

  • Vi behöver en ekvation som mappar historiska avkastningar till prognoser av variansen Förutsagda volatiliteter
GARCH-modeller i R

ARCH(p)-modellen: Autoregressive Conditional Heteroscedasticity

  • Vi behöver en ekvation som mappar historiska avkastningar till prognoser av variansen Förutsagda volatiliteter
GARCH-modeller i R

GARCH(1,1)-modellen: Generalized ARCH

  • Vi behöver en ekvation som mappar historiska avkastningar till prognoser av variansen Förutsagda volatiliteter
GARCH-modeller i R

Parameterbegränsningar

För att GARCH-processen ska vara realistisk krävs att:

  1. $\omega$, $\alpha$ och $\beta$ är $>0$: detta säkerställer att $\sigma^2_t >0$ alltid gäller.

  2. $\alpha + \beta < 1$: detta säkerställer att den förutsagda variansen $\sigma^2_t$ alltid återgår till den långsiktiga variansen:

    • Variansen är därför "medelvärdesåtergående"
    • Den långsiktiga variansen är $ \frac{\omega}{1-\alpha-\beta}$
GARCH-modeller i R

R-implementering – Ange indata

  • Låt oss bekanta oss med GARCH-ekvationerna med hjälp av R-kod:

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

# Set parameter values
alpha <- 0.1
beta <- 0.8
omega <- var(sp500ret) * (1 - alpha - beta)
# Then: var(sp500ret) = omega / (1 - alpha - beta)
# Set series of prediction error
e <- sp500ret - mean(sp500ret) # Constant mean
e2 <- e ^ 2
GARCH-modeller i R

R-implementering – Beräkna förutsagda varianser

# We predict for each observation its variance. 
nobs <- length(sp500ret)
predvar <- rep(NA, nobs)
# Initialize the process at the sample variance
predvar[1] <- var(sp500ret)
# Loop starting at 2 because of the lagged predictor
for (t in 2:nobs){
   predvar[t] <- omega + alpha * e2[t - 1] + beta * predvar[t-1]
}
GARCH-modeller i R

R-implementering – Graf över GARCH-volatiliteter

# Volatility is sqrt of predicted variance
predvol <- sqrt(predvar)
predvol <- xts(predvol, order.by = time(sp500ret))
# We compare with the unconditional volatility
uncvol <- sqrt(omega / (1 - alpha-beta))
uncvol <- xts(rep(uncvol, nobs), order.by = time(sp500ret))
# Plot
plot(predvol)
lines(uncvol, col = "red", lwd = 2)
GARCH-modeller i R

Förutsagda volatiliteter

GARCH-modeller i R

Nu kör vi en övning!

GARCH-modeller i R

Preparing Video For Download...