Modelos GARCH: o caminho adiante

Modelos GARCH em R

Kris Boudt

Professor of finance and econometrics

Inventores dos modelos GARCH

Robert Engle

Engle

Tim Bollerslev

Bollie

Modelos GARCH em R

Notação (i)

  • Entrada: série temporal de retornos

Volatilidades previstas

Modelos GARCH em R

Notação (ii)

  • No tempo $t-1$, você faz a previsão do retorno futuro $R_t$ usando o conjunto de informações disponível em $t-1$:

Volatilidades previstas

Modelos GARCH em R

Notação (iii)

  • Prevendo o retorno médio: qual é a melhor previsão do retorno real? Volatilidades previstas
Modelos GARCH em R

Notação (iv)

  • Em seguida prevemos a variância: quão distante o retorno pode ficar da média? Volatilidades previstas
Modelos GARCH em R

Da teoria à prática: modelos para a média

  • Precisamos de uma equação que mapeie os retornos passados para uma previsão da média Volatilidades previstas

Para modelos AR(MA) da média, veja o curso da DataCamp sobre análise de séries temporais.

Modelos GARCH em R

Da teoria à prática: modelos para a variância

  • Precisamos de uma equação que mapeie os retornos passados para previsões da variância Volatilidades previstas
Modelos GARCH em R

Modelo ARCH(p): Heterocedasticidade Condicional Autorregressiva

  • Precisamos de uma equação que mapeie os retornos passados para previsões da variância Volatilidades previstas
Modelos GARCH em R

Modelo GARCH(1,1): ARCH Generalizado

  • Precisamos de uma equação que mapeie os retornos passados para previsões da variância Volatilidades previstas
Modelos GARCH em R

Restrições dos parâmetros

Para tornar o processo GARCH realista, precisamos que:

  1. $\omega$, $\alpha$ e $\beta$ sejam $>0$: isso garante que $\sigma^2_t >0$ sempre.

  2. $\alpha + \beta < 1$: isso garante que a variância prevista $\sigma^2_t$ sempre volte à variância de longo prazo:

    • A variância é, portanto, "reversora à média"
    • A variância de longo prazo é $ \frac{\omega}{1-\alpha-\beta}$
Modelos GARCH em R

Implementação em R - Especificar as entradas

  • Vamos nos familiarizar com as equações GARCH usando código em 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
Modelos GARCH em R

Implementação em R - calcular variâncias previstas

# 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]
}
Modelos GARCH em R

Implementação em R - Gráfico das volatilidades 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)
Modelos GARCH em R

Volatilidades previstas

Modelos GARCH em R

Vamos praticar!

Modelos GARCH em R

Preparing Video For Download...