The recursive nature of the GARCH variance
Under the GARCH(1,1) equation the predicted variance is determined by the squared surprise in return and the previous variance prediction:
You can implement this using a loop (refer to the slides if you don't remember the loop structure from the video).
Let's do this for the S&P 500 daily returns. The variables omega
, alpha
, beta
, nobs
, e2
and predvar
are already loaded in your R environment.
This exercise is part of the course
GARCH Models in R
Exercise instructions
- Compute the predicted variances.
- Use
predvar
to define the series of predicted annualized volatilityann_predvol
. - Plot the predicted annualized volatility for the years 2008-2009 to see the dynamics around the financial crisis.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# Compute the predicted variances
predvar[1] <- var(sp500ret)
for(t in 2:nobs){
predvar[t] <- ___ + ___ * e2[t-1] + ___ * predvar[___]
}
# Create annualized predicted volatility
ann_predvol <- xts(___(252) * sqrt(___), order.by = time(sp500ret))
# Plot the annual predicted volatility in 2008 and 2009
___(___["2008::2009"], main = "Ann. S&P 500 vol in 2008-2009")