Page 1 of 1

Multivariate GARCH model with dummies

Posted: Sun Aug 28, 2022 2:06 pm
by jack
Dear Tom,
How can I interpret dummy variables in a BEKK model?

Here is the code:

Code: Select all

garch(model=varmodel,mv=bekk,xreg,hmatrices=hh,variances=spillover,rvector=r,rseries=rs,stdresids=rr,$
   robusterrors,mvhseries=hhs,pmethod=simplex,piters=20,method=bfgs,iters=1000,CVCRIT=.00001)
# dumoff
And here is the result:
MV-GARCH, BEKK - Estimation by BFGS
Convergence in   117 Iterations. Final criterion was  0.0000065 <=  0.0000100

With Heteroscedasticity/Misspecification Adjusted Standard Errors
Usable Observations                      3721
Log Likelihood                     -9056.9442

    Variable                        Coeff      Std Error      T-Stat      Signif
************************************************************************************
Mean Model(TSE)
1.  TSE{1}                        0.317211398  0.017785651     17.83524  0.00000000
2.  OIL{1}                        0.016963840  0.006882086      2.46493  0.01370412
3.  Constant                      0.018157000  0.006459175      2.81104  0.00493816
Mean Model(OIL)
4.  TSE{1}                        0.004261709  0.005866570      0.72644  0.46756930
5.  OIL{1}                       -0.003310678  0.015744881     -0.21027  0.83345688
6.  Constant                     -0.005389219  0.009222372     -0.58436  0.55897568

7.  C(1,1)                        0.017506938  0.019025977      0.92016  0.35748929
8.  C(2,1)                       -2.319131099  0.114238401    -20.30080  0.00000000
9.  C(2,2)                       -0.000005407  1.148483280 -4.70779e-06  0.99999624
10. A(1,1)                        0.368041430  0.053196054      6.91859  0.00000000
11. A(1,2)                       -0.005528070  0.005345454     -1.03416  0.30106005
12. A(2,1)                        0.011120871  0.010891029      1.02110  0.30720526
13. A(2,2)                        0.215405775  0.052268746      4.12112  0.00003770
14. B(1,1)                        0.922949458  0.020708505     44.56862  0.00000000
15. B(1,2)                       -0.000268011  0.004101911     -0.06534  0.94790484
16. B(2,1)                        0.001940505  0.003715763      0.52224  0.60150600
17. B(2,2)                        0.559131954  0.012848389     43.51767  0.00000000
18. DUMOFF(1,1)                   0.109069247  0.030059017      3.62850  0.00028507
19. DUMOFF(2,1)                   2.319238402  0.115209457     20.13063  0.00000000
20. DUMOFF(2,2)                   0.000005408  1.148199716  4.70957e-06  0.99999624
What do DUMOFF(1,1), DUMOFF(2,1) and DUMOFF(2,2) mean? Do DUMOFF(1,1) and DUMOFF(2,2) have the same interpretation as in a simple GARCH model? What about DUMOFF(2,1)?

Re: Multivariate GARCH model with dummies

Posted: Mon Aug 29, 2022 7:26 am
by TomDoan
Few coefficients in a BEKK model can be "interpreted" in any simple fashion because of the complex interactions. The shift dummies have one of two meanings:

https://estima.com/ratshelp/index.html? ... BEKKoption

with the default being the COMBINED option. You would add the C and DUMOFF matrices where DUMOFF is 1 and just use the C matrix when DUMOFF is 0. The outer product of that matrix makes the variance intercept in the GARCH recursion. Offhand, it looks like the variance of variable 2 is huge when DUMOFF is 0.

Re: Multivariate GARCH model with dummies

Posted: Mon Aug 29, 2022 11:29 am
by jack
Thank you for your kind reply..
Offhand, it looks like the variance of variable 2 is huge when DUMOFF is 0.
How did you get to this conclusion? I mean both C(2,2) and DUMOFF(2,2) coefficients are insignificant and negligible so why the variance of variable 2 is huge when DUMOFF is 0?

Re: Multivariate GARCH model with dummies

Posted: Mon Aug 29, 2022 2:09 pm
by TomDoan
Both of those matrices are in Cholesky factor form, so you have to multiply them out to get the GARCH "intercept" covariance matrix. In particular, the 2,2 variance term is the sum of squares of the 2,1 and 2,2 elements. (Again, that's why you really can't interpret the individual coefficients).

Re: Multivariate GARCH model with dummies

Posted: Tue Aug 30, 2022 1:47 pm
by jack
I got the point. For a bekk(1,1) model, we have:
bekk(1,1).png
bekk(1,1).png (25.54 KiB) Viewed 58968 times
And when there is a dummy variable we just add C and dummy matrices and then multiply them out.

Re: Multivariate GARCH model with dummies

Posted: Tue Aug 30, 2022 4:01 pm
by TomDoan
Correct. c(1,1)+d(1,1) x dummy,0|c(2,1)+d(2,1) x dummy,c(2,2)+d(2,2) x dummy replaces the C matrix, and you multiply that out.

Re: Multivariate GARCH model with dummies

Posted: Sun Sep 04, 2022 2:07 pm
by jack
Please let me explain what I want to do.

There are two markets: domestic stock market and foreign (global) oil market. The weekends are different: Thursday and Friday for domestic stock market and Saturday and Sunday for foreign oil market. Let's suppose an event take place in Saturday and Sunday. What's the reaction of the domestic market to that event? Does it react to it immediately or will wait until Monday and react based on the global market reaction to the news?
I will want to test this hypothesis. If it reacts immediately, its volatility in Saturday and Sunday will be the same as in the other days. So, I define a dummy variable for Saturday and Sunday.

Here is my question. How can I test this hypothesis? Can I test it with a simple univariate GARCH model for the domestic market with a dummy variable (for Saturday and Sunday) or I need to use a multivariate (BEKK) model with the dummy variable?

Re: Multivariate GARCH model with dummies

Posted: Fri Sep 09, 2022 1:09 pm
by jack
Tom,
I run the model. But I don't know what's wrong with diagnostics tests @MVQSTAT and @MVARCHTest. I attached the data.

Here is the code:

Code: Select all

equation oileqn roilbrent
# constant
equation(ar=1,ma=2) rtseeqn rtse
group uniar1 oileqn rtseeqn
garch(model=uniar1,mv=bekk,xreg,hmatrices=hh,variances=spillover,rvector=r,rseries=rs,stdresids=rr,$
   robusterrors,mvhseries=hhs,pmethod=simplex,piters=20,method=bfgs,iters=1000,CVCRIT=.00001)
# dumoil
* Multi-variate Q test:
@MVQstat(dfc=18,lags=5)
# rr
* Multi-variate ARCH test:
@MVARCHTest(lags=5)
# rr
And here is the results:
MV-GARCH, BEKK - Estimation by BFGS
Convergence in   106 Iterations. Final criterion was  0.0000000 <=  0.0000100

With Heteroscedasticity/Misspecification Adjusted Standard Errors
Usable Observations                      3300
Log Likelihood                    -10932.7437

    Variable                        Coeff      Std Error      T-Stat      Signif
************************************************************************************
Mean Model(ROILBRENT)
1.  Constant                      0.044637478  0.030366614      1.46995  0.14157464
Mean Model(RTSE)
2.  Constant                      0.034182841  0.010468171      3.26541  0.00109307
3.  RTSE{1}                       0.389377335  0.015431286     25.23298  0.00000000
4.  Mvg Avge{1}                   0.019652451  0.003562775      5.51605  0.00000003
5.  Mvg Avge{2}                   0.005550171  0.004118036      1.34777  0.17773194

6.  C(1,1)                        0.150785991  0.086297263      1.74729  0.08058776
7.  C(2,1)                       -0.101732289  0.050809518     -2.00223  0.04526011
8.  C(2,2)                       -0.000183882  0.059640822     -0.00308  0.99754001
9.  A(1,1)                        0.212372123  0.020103109     10.56414  0.00000000
10. A(1,2)                        0.036758174  0.015971966      2.30142  0.02136800
11. A(2,1)                       -0.120655617  0.044603757     -2.70506  0.00682931
12. A(2,2)                        0.420606353  0.046739896      8.99887  0.00000000
13. B(1,1)                        0.975824242  0.002830558    344.74627  0.00000000
14. B(1,2)                       -0.007289290  0.003303767     -2.20636  0.02735897
15. B(2,1)                        0.054134984  0.027234803      1.98771  0.04684339
16. B(2,2)                        0.903462689  0.022091902     40.89565  0.00000000
17. DUMOIL(1,1)                   0.043350677  0.152088925      0.28504  0.77561728
18. DUMOIL(2,1)                   0.224378772  0.040629746      5.52252  0.00000003
19. DUMOIL(2,2)                   0.000173627  0.060448248      0.00287  0.99770823


Multivariate Q Test
Test Run Over 2 to 3301
Lags Tested         5
Degrees of Freedom  2
D of F Correction  18
Q Statistic        67.28833
Signif Level        0.00000


Multivariate ARCH Test
Statistic Degrees Signif
   169.69      45 0.00000

Re: Multivariate GARCH model with dummies

Posted: Sun Apr 16, 2023 4:46 pm
by TomDoan
1. It doesn't look like you need the 2nd MA on the second equation.
2. DFC is the degrees of freedom correction, not the degrees of freedom. 18 is completely wrong. (Should be 3 for the AR=1+MA=2).
3. See https://www.estima.com/ratshelp/diagnos ... mples.html