Modele GARCH: droga naprzód

Modele GARCH w R

Kris Boudt

Professor of finance and econometrics

Twórcy modeli GARCH

Robert Engle

Engle

Tim Bollerslev

Bollie

Modele GARCH w R

Notacja (i)

  • Dane wejściowe: szereg czasowy stóp zwrotu

Przewidywana zmienność

Modele GARCH w R

Notacja (ii)

  • W chwili $t-1$ prognozuje się przyszłą stopę zwrotu $R_t$, korzystając ze zbioru informacji dostępnego w chwili $t-1$:

Przewidywana zmienność

Modele GARCH w R

Notacja (iii)

  • Prognozowanie średniej stopy zwrotu: jaka jest najlepsza możliwa prognoza rzeczywistej stopy zwrotu? Przewidywana zmienność
Modele GARCH w R

Notacja (iv)

  • Następnie przewidujemy wariancję: jak bardzo stopa zwrotu może odbiegać od średniej? Przewidywana zmienność
Modele GARCH w R

Od teorii do praktyki: modele dla średniej

  • Potrzebujemy równania, które mapuje przeszłe stopy zwrotu na prognozę średniej Przewidywana zmienność

Modele AR(MA) dla średniej – zob. kurs DataCamp o analizie szeregów czasowych.

Modele GARCH w R

Od teorii do praktyki: modele dla wariancji

  • Potrzebujemy równania, które mapuje przeszłe stopy zwrotu na prognozy wariancji Przewidywana zmienność
Modele GARCH w R

Model ARCH(p): Autoregressive Conditional Heteroscedasticity

  • Potrzebujemy równania, które mapuje przeszłe stopy zwrotu na prognozy wariancji Przewidywana zmienność
Modele GARCH w R

Model GARCH(1,1): uogólniony ARCH

  • Potrzebujemy równania, które mapuje przeszłe stopy zwrotu na prognozy wariancji Przewidywana zmienność
Modele GARCH w R

Ograniczenia parametrów

Aby proces GARCH był realistyczny, wymagamy:

  1. $\omega$, $\alpha$ i $\beta$ są $>0$: gwarantuje to, że $\sigma^2_t >0$ w każdym momencie.

  2. $\alpha + \beta < 1$: gwarantuje to, że prognozowana wariancja $\sigma^2_t$ zawsze wraca do wariancji długookresowej:

    • Wariancja jest zatem „powracająca do średniej"
    • Wariancja długookresowa wynosi $ \frac{\omega}{1-\alpha-\beta}$
Modele GARCH w R

Implementacja w R – określenie danych wejściowych

  • Zapoznajmy się z równaniami GARCH przy użyciu kodu R:

$$ \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
Modele GARCH w R

Implementacja w R – obliczanie prognozowanych wariancji

# 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]
}
Modele GARCH w R

Implementacja w R – wykres zmienności GARCH

# 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)
Modele GARCH w R

Przewidywana zmienność

Modele GARCH w R

Czas na ćwiczenia!

Modele GARCH w R

Preparing Video For Download...