# Rolling period volatility forecasts

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

• @Hsk, in period 1, you have the model (i.e. its coefficients) fitted on obs. 1 to 2500 and you have the fitted values for obs. 1 to 2500. Given the fitted values and the coefficients, the forecasting becomes straightforward: you plug in what is needed. E.g. if the $\varepsilon_t \varepsilon_t'$ matrix is needed, you plug in the fitted values $\hat\varepsilon_t$ into the formula. Actually, I suppose Matlab is intelligent enough to forecast it for you if you find the right command. Just tell Matlab to forecast one step ahead. It is slightly more cumbersome in periods 2 to 25, though. – Richard Hardy May 8 '17 at 14:46
• @Hsk, I think I misunderstood your request, so let me add something. When you have the estimated model, you can filter the data using that model to produce "fitted values", which you will then use for forecasting. I suppose there is a function for filtering with DCC in Matlab (there is one in R package "rmgarch" -- it is dccfilter; better yet, R allows to do exactly what you are doing with a single function dccroll -- see this). – Richard Hardy May 8 '17 at 14:48