Statistics and Algorithms / GARCH Models / GARCH Models (Multivariate) / MV GARCH Forecasting |
There are two different schemes for calculating out-of-sample forecasts for the variances. Any of the "VECH" form models, such as DVECH and BEKK, can be forecast using a multivariate extension of the univariate forecast recursion:
\begin{equation} E\left( {vech\left( {{\bf{H}}_{t + k} } \right)\left| {\Omega _{t - 1} } \right.} \right) = {\bf{C}} + {\bf{A}}E\left( {vech\left( {{\bf{u}}_{t + k - 1} {\bf{u'}}_{t + k - 1} } \right)\left| {\Omega _{t - 1} } \right.} \right) + {\bf{B}}E\left( {vech\left( {{\bf{H}}_{t + k - 1} } \right)\left| {\Omega _{t - 1} } \right.} \right){\kern 1pt} \end{equation}
As with the univariate model, \(E\left( {vech\left( {{\bf{u}}_{t + k - 1} {\bf{u'}}_{t + k - 1} } \right)\left| {\Omega _{t - 1} } \right.} \right) = E\left( {vech\left( {{\bf{H}}_{t + k - 1} } \right)\left| {\Omega _{t - 1} } \right.} \right)\), except when \(k=0\), when both of those are observable from the estimated model.
The CC and DIAG models use the univariate models to forecast the variances, which are then converted to a full covariance matrix by using the estimated correlation pattern.
For any of those types of models, you can use the @MVGARCHFore procedure to do the calculations. This requires that you save the covariance matrices and residuals using the HMATRICES and RVECTORS options and input them to the procedure. An example is:
garch(model=bimodel,p=1,q=1,mv=cc,hmatrices=h,rvectors=a)
*
@mvgarchfore(steps=1,mv=cc) h a
Note that there are quite a few combinations of options which do not allow simple recursive forecasts. For instance, the DCC model, or VARIANCE=EXP or VARIANCE=KOUTMOS are excluded from the ones that @MVGARCHFore can handle. You also cannot do simple forecasts of asymmetric multivariate models because the sign-restricted interaction terms have no closed-form expected values—while the sign-restricted squares have 1/2 the expected value of the unrestricted squares, that’s not the case for the interactions between two different residuals. (Note that some published papers have incorrectly applied the 1/2 factor to the off-diagonal terms). For a model with no simple extrapolation, forecasts have to be approximated by simulations or bootstrapping. See GARCHMVBOOTSTRAP.RPF for an example.
The types of models which admit closed-form variance forecasts also allow for the calculation of a Variance Impulse Response Function (VIRF)—see Hafner and Herwartz(2006).
Copyright © 2025 Thomas A. Doan