Modele GARCH: Calea înainte

Modele GARCH în R

Kris Boudt

Professor of finance and econometrics

Inventatorii modelelor GARCH

Robert Engle

Engle

Tim Bollerslev

Bollie

Modele GARCH în R

Notații (i)

  • Intrare: Serie de timp a rentabilităților

Volatilități prezise

Modele GARCH în R

Notații (ii)

  • La momentul $t-1$, realizați predicția rentabilității viitoare $R_t$, utilizând setul de informații disponibil la momentul $t-1$:

Volatilități prezise

Modele GARCH în R

Notații (iii)

  • Predicția rentabilității medii: care este cea mai bună predicție a rentabilității efective? Volatilități prezise
Modele GARCH în R

Notații (iv)

  • Apoi prezicem varianța: cât de mult poate devia rentabilitatea față de medie? Volatilități prezise
Modele GARCH în R

De la teorie la practică: Modele pentru medie

  • Avem nevoie de o ecuație care mapează rentabilitățile trecute în predicții ale mediei Volatilități prezise

Pentru modele AR(MA) ale mediei, consultați cursul Datacamp despre analiza seriilor de timp.

Modele GARCH în R

De la teorie la practică: Modele pentru varianță

  • Avem nevoie de o ecuație care mapează rentabilitățile trecute în predicții ale varianței Volatilități prezise
Modele GARCH în R

Modelul ARCH(p): Heteroscedasticitate Condițională Autoregresivă

  • Avem nevoie de o ecuație care mapează rentabilitățile trecute în predicții ale varianței Volatilități prezise
Modele GARCH în R

Modelul GARCH(1,1): ARCH Generalizat

  • Avem nevoie de o ecuație care mapează rentabilitățile trecute în predicții ale varianței Volatilități prezise
Modele GARCH în R

Restricții ale parametrilor

Pentru ca procesul GARCH să fie realist, este necesar ca:

  1. $\omega$, $\alpha$ și $\beta$ să fie $>0$: aceasta garantează că $\sigma^2_t >0$ în orice moment.

  2. $\alpha + \beta < 1$: aceasta garantează că varianța prezisă $\sigma^2_t$ revine întotdeauna la varianța pe termen lung:

    • Varianța este astfel „mean-reverting"
    • Varianța pe termen lung este egală cu $ \frac{\omega}{1-\alpha-\beta}$
Modele GARCH în R

Implementare în R - Specificarea intrărilor

  • Să ne familiarizăm cu ecuațiile GARCH folosind cod 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 în R

Implementare în R - Calculul varianțelor prezise

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

Implementare în R - Graficul volatilităților 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 în R

Volatilități prezise

Modele GARCH în R

Să exersăm!

Modele GARCH în R

Preparing Video For Download...