RATS 10.1
RATS 10.1

This is a family of multivariate GARCH models named after the vech operator, which this takes a symmetric matrix and returns a vector with only its lower triangle. In RATS, symmetric arrays are stored by rows:

 

(1,1)

(2,1) (2,2)

(3,1) (3,2) (3,3)

...

 

so that’s how the coefficients are arranged. The (very) rarely used "full" VECH model uses a linear recursion in "vech" form:

\begin{equation} vech\left( {{\bf{H}}_t } \right) = {\bf{C}} + {\bf{A}}vech\left( {{\bf{u}}_{t - 1} {\bf{u'}}_{t - 1} } \right) + {\bf{B}}vech\left( {{\bf{H}}_{t - 1} } \right){\kern 1pt} {\kern 1pt} \label{eq:garch_vech} \end{equation}

You implement this with the option MV=VECH. However, this has a large number of free parameters (even in a bivariate case), and it’s clearly unwieldy with more than two variables. The VECH takes a very long time to estimate, and is rarely used, so we didn’t include it in the example file.

 

The most common member of the general "VECH" family is the DVECH, described below. Another common choice is BEKK (which has restricted forms Triangular BEKK (TBEKK) and Diagonal BEKK (DBEKK)). A less common choice is EWMA (Exponential Weighted Moving Average).

 

Each of these has some restricted (in some cases very heavily restricted) mapping from free parameters to the full \(\bf{A}\) and \(\bf{B}\) matrices. You can use the VECHMAT option to create a HASH[RECT] with the matrices for a VECH representation of the model. That can be used for forecasting and variance impulse responses. Note that only these restricted VECH models allow a relatively simple forecasting formula. The elements of the HASH are "C" for the variance constant, "A" for the coefficients on the (vech'ed) outer product of the lagged residuals, "B" for the coefficients on the (vech'ed) lagged covariance matrix and "D" (if needed) for the coefficients on the (vech'ed) outer product of the sign-restricted residuals if you used asymmetry.

DVECH (Diagonal VECH)

A more feasible model is the diagonal VECH (DVECH) which is what is generally meant if someone specifies a multivariate GARCH model without any other description. On GARCH, this is chosen with MV=DVECH or MV=STANDARD and is the default if you do no other options besides picking \(p\) and \(q\). 

\begin{equation} {\bf{H}}_{ij,t} = c_{ij} + a_{ij} {\kern 1pt} {\kern 1pt} u_{i,t - 1} {\kern 1pt} {\kern 1pt} {\kern 1pt} u_{j,t - 1} + b_{ij} {\kern 1pt} {\bf{H}}_{ij,t - 1} \label{eq:garch_dvech} \end{equation}

Model \eqref{eq:garch_dvech} is known as diagonal VECH because it is \eqref{eq:garch_vech} with \(\bf{A}\) and \(\bf{B}\) constrained to be diagonal.

 

While this is the most “straightforward” extension of a univariate model, the lack of connection among the variance terms is implausible, and it may be hard for the parameter estimates to stay clear of regions where the covariance matrix is on the verge of being deficient rank at some data points.

 

This often needs a bit of help to convergence with some preliminary simplex iterations. Do not overdo this: 10 simplex iterations is usually enough. The example of this from GARCHMV.RPF is

 

garch(p=1,q=1,pmethod=simplex,piters=10) / xjpn xfra xsui

 

Since the covariance matrix is symmetric, only the lower triangle needs to be modeled. In the output, C(i,j) is the variance constant, A(i,j) is the lagged squared residual ("ARCH") coefficient and B(i,j) is the lagged variance ("GARCH") coefficient. Because the components of the covariance matrix are modeled separately, it's possible for the \(\bf{H}\) matrix to be non-positive definite for some parameters (even if all are positive). As a result, a DVECH can be hard to estimate, particularly if applied to data series which don't have relatively similar behavior.

 

Output

MV-GARCH - Estimation by BFGS

Convergence in   122 Iterations. Final criterion was  0.0000063 <=  0.0000100

 

Usable Observations                      6236

Log Likelihood                    -11835.6549

 

    Variable                        Coeff      Std Error      T-Stat      Signif

************************************************************************************

1.  Mean(XJPN)                    0.004660940  0.006798380      0.68560  0.49296810

2.  Mean(XFRA)                   -0.003498719  0.006868955     -0.50935  0.61050525

3.  Mean(XSUI)                   -0.002360634  0.008084067     -0.29201  0.77027846

 

4.  C(1,1)                        0.009016960  0.001272675      7.08504  0.00000000

5.  C(2,1)                        0.005697569  0.000749382      7.60303  0.00000000

6.  C(2,2)                        0.011503488  0.001287755      8.93298  0.00000000

7.  C(3,1)                        0.006015917  0.000806761      7.45688  0.00000000

8.  C(3,2)                        0.009933856  0.001236798      8.03192  0.00000000

9.  C(3,3)                        0.012775891  0.001565976      8.15842  0.00000000

10. A(1,1)                        0.105800775  0.007736000     13.67642  0.00000000

11. A(2,1)                        0.093889723  0.006062327     15.48741  0.00000000

12. A(2,2)                        0.128144732  0.007036947     18.21027  0.00000000

13. A(3,1)                        0.088759105  0.005470840     16.22404  0.00000000

14. A(3,2)                        0.113620201  0.005943420     19.11697  0.00000000

15. A(3,3)                        0.111522114  0.006146301     18.14459  0.00000000

16. B(1,1)                        0.883968076  0.007890261    112.03280  0.00000000

17. B(2,1)                        0.891020282  0.006097508    146.12859  0.00000000

18. B(2,2)                        0.860886644  0.007137910    120.60766  0.00000000

19. B(3,1)                        0.897670507  0.005628248    159.49376  0.00000000

20. B(3,2)                        0.874866959  0.006324082    138.33897  0.00000000

21. B(3,3)                        0.877454252  0.006493130    135.13579  0.00000000

 

 


Copyright © 2025 Thomas A. Doan