Solved – Rolling period volatility forecasts

garchvolatility-forecasting

This empirical study I am trying to replicate (ch5 Becker et al (2015) : Selecting Volatility Forecasting Models for Portfolio Allocation Purposes) has used 2500 in-sample-period's actual daily returns to calculate one-step-ahead DCC GARCH covariance matrix. I have been able to do this successfully after I estimated the DCC parameters on the basis of the 2500 sample returns. However, they have mentioned that subsequent volatility forecasts are then generated by rolling the sample period of 2500 observations forward one observation until the last forecast of volatility in t=4000 is obtained resulting in 1500 forecasts. They have also mentioned that the parameter of the volatility model is re-estimated every 25th observation. Now two things are confusing me:

1) why have they re-estimated the volatility forecasts every 25th observation? I am having trouble breaking this down in practical steps.

2) how have they calculated the rolling forecasts? I mean the DCC GARCH quasi correlation matrix depends on the previous period's quasi correlation matrix as well as the previous period's standardized error terms. To get the volatility forecast in t=2502, i have calculated the quasi correlation matrix in t=2501 but I am confused about the error terms to use. Should I be using the actual error terms in t=2501 or should I be using an alternate approach? Any insight would be much appreciated. Thanks!

PS I am using matlab for programming

Best Answer

  1. Ideally, they would have reestimated the model in every rolling window to mimic how a trader would do it in an optimal way. However, that would be computationally demanding, thus they compromise and reestimate the model only in every 25th rolling window (saving 25 times the computational time). That is, they estimate the model in the first window, then use it in windows 2 to 25 without reestimation, then reestimate the model in window 26 and use it until window 50 without reestimation, then reestimate again in window 51 and so on...

  2. In each window, pretend that you know nothing else but the current data and either the model estimated from this data (in windows 1, 26, 51, ...) or the model inherited from before (in windows 2 to 25, 27 to 50, 52 to 75, ...). You do not know the data preceding the current window nor the succeeding data. Then forecast from this model, reveal the succeeding data and validate the forecasts against it (thus validate against real data which was not used for estimating the model and/or producing the forecasts).

Related Question