MVGARCHFORE Procedure |
@MVGARCHFore computes out-of-sample variance forecasts for many of the standard multivariate GARCH models. This applies to the model most recently estimated with GARCH.
@MVGARCHFore( options) h u
Parameters
|
h |
(input and output) is the SERIES[SYMM] which has the in-sample estimates of the covariances (produced with the HMATRICES option on GARCH), and will be extended to hold the forecasts of the covariances |
|
u |
(input) is the SERIES[VECT] of the residuals. This is produced by the RVECTORS option on GARCH. |
Options
MV=[STANDARD]/BEKK/DIAGONAL/CC/DCC/VECH
This should be the same choice that you made on the GARCH instruction. Note that DCC has no simple extrapolation formula. You also can't apply this if you used the VARIANCES=EXP or VARIANCES=VARMA with CC or DIAG.
STEPS=number of out-of-sample forecast steps
ACCUMULATE/[NOACCUMULATE]
If ACCUMULATE, returns the partial sums of the forecasts (which would be the forecast of the variance of multiple step returns if the raw data are period-to-period returns).
Example
This estimates a CC-GARCH model with a bivariate dynamic model for the mean. One step forecasts of the variance (done with @MVGARCHFORE) and the mean (done with FORECAST) are computed and an upper .05 limit on the next period's values is computed using those. (The full example is TSAY3P546.RPF in the Tsay, 3rd edition examples).
garch(model=bimodel,p=1,q=1,mv=cc,hmatrices=h,rvectors=a)
*
@mvgarchfore(steps=1,mv=cc) h a
forecast(model=bimodel,steps=1,results=rhat)
*
compute q1=rhat(1)(2276)+%invnormal(.05)*sqrt(h(2276)(1,1))
compute q2=rhat(2)(2276)+%invnormal(.05)*sqrt(h(2276)(2,2))
compute rho=h(2276)(1,2)/sqrt(h(2276)(1,1)*h(2276)(2,2))
compute q12=sqrt(q1^2+q2^2+2*rho*q1*q2)
disp "Bivariate Model"
disp "VaR on Cisco" @20 -10000*q1
disp "VaR on Intel" @20 -10000*q2
disp "VaR Overall" @20 10000*q12
Copyright © 2026 Thomas A. Doan