Search
   >> Home >> Products >> Features >> Overview >> Multivariate GARCH

Multivariate GARCH


MGARCH stands for multivariate GARCH, or multivariate generalized autoregressive conditional heteroskedasticity. MGARCH allows the conditional-on-past-history covariance matrix of the dependent variables to follow a flexible dynamic structure.

Stata fits MGARCH models. mgarch implements diagonal vech and conditional correlation models. Conditional correlation models use nonlinear combinations of univariate GARCH models to represent the conditional covariances. mgarch provides estimators for three popular conditional correlation models—CCC, DCC, VCC—also known as constant, dynamic, and varying conditional correlation.

Below we analyze daily data on returns of Toyota, Nissan, and Honda stocks. We include the lag of the Nissan stock in the mean equation for Honda. We specify one ARCH term and one GARCH term for the conditional variance equation of each company.

. webuse stocks (Data from Yahoo! Finance) . mgarch ccc (toyota nissan = , noconstant) (honda = L.nissan, noconstant), arch(1) garch(1)

And the results are

Constant conditional correlation MGARCH model Sample: 1 - 2015 Number of obs = 2014 Distribution: Gaussian Wald chi2(1) = 1.81 Log likelihood = 17439.87 Prob > chi2 = 0.1781 5.02e-06 1.31e-06 3.83 0.000 2.45e-06 7.60e-06
Coef. Std. Err. z P>|z| [95% Conf. Interval]
ARCH_toyota
arch
L1. .0619604 .0087942 7.05 0.000 .044724 .0791968
 
garch
L1. .9208961 .0110996 82.97 0.000 .8991414 .9426508
 
_cons 4.43e-06 1.13e-06 3.94 0.000 2.23e-06 6.64e-06
ARCH_nissan
arch
L1. .0773095 .012328 6.27 0.000 .0531471 .1014719
 
garch
L1. .906088 .0147303 61.51 0.000 .8772171 .9349589
 
_cons 6.77e-06 1.85e-06 3.66 0.000 3.14e-06 .0000104
honda
nissan
L1. .0186628 .0138575 1.35 0.178 -.0084975 .0458231
ARCH_honda
arch
L1. .0433741 .006996 6.20 0.000 .0296622 .0570861
 
garch
L1. .9391094 .0100707 93.25 0.000 .9193712 .9588477
 
_cons
corr(toyota,nissan) .652299 .0128271 50.85 0.000 .6271583 .6774396
corr(toyota,honda) .7189531 .0108005 66.57 0.000 .6977845 .7401218
corr(nissan,honda) .628435 .0135653 46.33 0.000 .6018475 .6550225

Having estimated our model, we can now forecast the conditional variances 50 time periods into the future.

. tsappend, add(50) . predict H*, variance dynamic(2016)

We can graph the result:

Above, we fit a CCC model. We could instead fit a DCC model in which the correlation matrix at each time period is modeled as a weighted average of its own past and recent shocks.

Below we fit a bivariate model of stock returns and specify that the error term follows a multivariate Student’s t distribution:

. webuse stocks (Data from Yahoo! Finance) . mgarch dcc (toyota honda =), arch(1) garch(1) distribution(t)

And the results are

Dynamic conditional correlation MGARCH model Sample: 1 - 2015 Number of obs = 2015 Distribution: t Wald chi2(.) = . Log likelihood = 11697.67 Prob > chi2 = .
  Coef. Std. Err. z P>|z| [95% Conf. Interval]
toyota
_cons .0003445 .0002998 1.15 0.251 -.0002431 .0009321
ARCH_toyota
arch
L1. .0557317 .0096148 5.80 0.000 .0368871 .0745764
 
garch
L1. .9284291 .0121769 76.25 0.000 .9045629 .9522953
 
_cons 4.16e-06 1.25e-06 3.34 0.001 1.71e-06 6.60e-06
honda
_cons .0005349 .0003277 1.63 0.103 -.0001074 .0011771
ARCH_honda
arch
L1. .0496351 .0089487 5.55 0.000 .0320959 .0671743
 
garch
L1. .9342399 .0117626 79.42 0.000 .9111857 .9572942
 
_cons 4.89e-06 1.46e-06 3.36 0.001 2.04e-06 7.75e-06
corr(toyota,honda) .734078 .0144722 50.72 0.000 .7057129 .762443
Adjustment
lambda1 .0322827 .0162193 1.99 0.047 .0004933 .064072
lambda2 .8483622 .1025462 8.27 0.000 .6473754 1.049349
df
_cons 8.597491 1.024617 8.39 0.000 6.589279 10.6057

The DCC model reduces to the CCC model when the adjustment parameters that govern the dynamic correlation process are jointly equal to zero. We can perform a Wald test to test this hypothesis.

. test _b[Adjustment:lambda1] = _b[Adjustment:lambda2] = 0 ( 1) [Adjustment]lambda1 - [Adjustment]lambda2 = 0 ( 2) [Adjustment]lambda1 = 0 chi2( 2) = 346.91 Prob > chi2 = 0.0000

We have fit a CCC model and a DCC model. We could fit a VCC model in which the correlation matrix is modeled as a weighted average of its own past and averages of recent shocks.

To illustrate the flexibility of the conditional correlation estimators, we specify each variance equation separately in the mgarch command below. We include two ARCH terms, one GARCH term, and an independent variable in the variance equation of Honda and one ARCH term for the variance equation of Toyota.

Varying conditional correlation MGARCH model Sample: 1 - 2015 Number of obs = 2014 Distribution: Gaussian Wald chi2(.) = . Log likelihood = 11258.81 Prob > chi2 = .
  Coef. Std. Err. z P>|z| [95% Conf. Interval]
toyota
_cons .0003512 .0003839 0.91 0.360 -.0004012 .0011036
ARCH_toyota
arch
L1. .1438124 .024811 5.80 0.000 .0951837 .1924411
 
_cons .0002859 .0000107 26.81 0.000 .000265 .0003068
honda
_cons .0005797 .0003707 1.56 0.118 -.0001469 .0013064
ARCH_honda
arch
L1. .0361063 .0071381 5.06 0.000 .0221159 .0500968
L5. -.0291567 .0075789 -3.85 0.000 -.044011 -.0143024
 
garch
L1. .9771737 .0073829 132.36 0.000 .9627035 .9916438
 
nissan
L1. -22.75965 6.287332 -3.62 0.000 -35.08259 -10.43671
 
_cons -12.37179 .339467 -36.44 0.000 -13.03713 -11.70645
corr(toyota,honda) .7236678 .0127599 56.71 0.000 .6986588 .7486769
Adjustment
lambda1 .122051 .0398212 3.06 0.002 .0440029 .2000992
lambda2 .0337344 .2747157 0.12 0.902 -.5046984 .5721672

Explore more time-series features in Stata.

The Stata Blog: Not Elsewhere Classified Find us on Facebook Follow us on Twitter LinkedIn Google+ Watch us on YouTube