Reducing Parameters in BEKK GARCH

Discussions of ARCH, GARCH, and related models
cmcknigh
Posts: 17
Joined: Tue Apr 23, 2019 12:16 pm

Reducing Parameters in BEKK GARCH

Unread post by cmcknigh »

Hello,

I have estimated a BEKK GARCH model with three exogenous time dummies. Several of the estimated parameters are either statistically insignificant, or significant but pretty much equal to zero (not economically significant). My professor suggested to try and restrict the number of parameters estimated in the model. Would anyone know how to do this properly in RATS? My BEKK GARCH code is:

Code: Select all

garch(p=1,q=1,model=basevecm,mv=bekk, xregressors, rvectors=rd,hmatrices=hh,mvhseries=hhs, $
pmethod=simplex,piters=50,method=bfgs,iters=1000, dist=t, shape=3, $
subiters=9999999)
# food profits oil
In this case, I include three time dummies, "food" "profits" and "oil". The underlying model is a VECM with four price series, and I would like to restrict the estimated parameters on the "food" "profits" and "oil" variables. Thank you!
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Re: Reducing Parameters in BEKK GARCH

Unread post by TomDoan »

That's a very complicated model to start. How much data do you have?

A t with 3 d.f. is really, really fat-tailed. I would question whether you have a sufficiently homogenous sample if you need both variance dummies and really fat tails. That sounds more like a data set which shows some major breaks.

There's no simple way of putting restrictions on the variance shift dummies---the variance constant in the GARCH recursion is a complicated matrix function of those.
cmcknigh
Posts: 17
Joined: Tue Apr 23, 2019 12:16 pm

Re: Reducing Parameters in BEKK GARCH

Unread post by cmcknigh »

Hello Tom,

I have 511 data points per series. The purpose of these variance dummies is because when I generate the dynamic variances from the original BEKK model, there were similar periods of higher variance during three time periods across each of my series (i.e. wheat, corn, ethanol, and gas). Would it be appropriate to simply omit variance shift dummies which are not statistically/economically significant? I should also mention that I included these three time dummies in the mean equation as well. Thanks for your help!
cmcknigh
Posts: 17
Joined: Tue Apr 23, 2019 12:16 pm

Re: Reducing Parameters in BEKK GARCH

Unread post by cmcknigh »

Hello Tom,

Included below is my full code and output, just to give you an idea.

Code: Select all

equation(coeffs=cv) ecteq *
# WHEAT CORN ETHANOL GAS
system(model=basevecm)
variables WHEAT CORN ETHANOL GAS
lags 1 2
det constant food profits oil
ect ecteq
end(system)
estimate(residuals=resids)

garch(p=1,q=1,model=basevecm,mv=bekk, xregressors, rvectors=rd,hmatrices=hh,mvhseries=hhs, $
pmethod=simplex,piters=50,method=bfgs,iters=1000, dist=t, shape=3, $
subiters=9999999)
# food profits oil

Code: Select all

Variable                        Coeff      Std Error      T-Stat      Signif
*************************************************************************************
Mean Model(WHEAT)
1.   D_WHEAT{1}                    0.083230549  0.037944127      2.19350  0.02827117
2.   D_CORN{1}                     0.073058889  0.024327796      3.00310  0.00267242
3.   D_ETHANOL{1}                  0.017842323  0.019134337      0.93248  0.35109021
4.   D_GAS{1}                     -0.012492644  0.023798523     -0.52493  0.59962936
5.   Constant                      0.104948278  0.019131414      5.48565  0.00000004
6.   FOOD                         -0.001506005  0.003893900     -0.38676  0.69893379
7.   PROFITS                      -0.004737527  0.003251965     -1.45682  0.14516615
8.   OIL                          -0.001910482  0.002220678     -0.86031  0.38961552
9.   EC1{1}                        0.003943665  0.000741771      5.31656  0.00000011
Mean Model(CORN)
10.  D_WHEAT{1}                    0.025334348  0.052647990      0.48120  0.63037254
11.  D_CORN{1}                    -0.060909173  0.039857408     -1.52818  0.12646861
12.  D_ETHANOL{1}                  0.048332778  0.026789925      1.80414  0.07120935
13.  D_GAS{1}                     -0.060981568  0.036060482     -1.69109  0.09081936
14.  Constant                     -0.002376544  0.011464263     -0.20730  0.83577545
15.  FOOD                         -0.004529771  0.006034386     -0.75066  0.45285739
16.  PROFITS                      -0.001436296  0.003997007     -0.35934  0.71933855
17.  OIL                          -0.004289706  0.003141086     -1.36568  0.17204065
18.  EC1{1}                       -0.000195049  0.000443374     -0.43992  0.65999498
Mean Model(ETHANOL)
19.  D_WHEAT{1}                   -0.002992224  0.054922569     -0.05448  0.95655213
20.  D_CORN{1}                     0.129000105  0.037077599      3.47919  0.00050293
21.  D_ETHANOL{1}                  0.064294129  0.038387882      1.67485  0.09396272
22.  D_GAS{1}                      0.036006360  0.034217245      1.05229  0.29266792
23.  Constant                      0.180191871  0.033487206      5.38092  0.00000007
24.  FOOD                          0.006406027  0.004095127      1.56430  0.11774598
25.  PROFITS                       0.011933062  0.005663859      2.10688  0.03512813
26.  OIL                           0.000866968  0.003926107      0.22082  0.82523166
27.  EC1{1}                        0.006911911  0.001297901      5.32545  0.00000010
Mean Model(GAS)
28.  D_WHEAT{1}                    0.147667147  0.049081613      3.00860  0.00262451
29.  D_CORN{1}                     0.071276396  0.035574964      2.00355  0.04511776
30.  D_ETHANOL{1}                 -0.007850743  0.024490857     -0.32056  0.74854529
31.  D_GAS{1}                      0.246396961  0.038930943      6.32908  0.00000000
32.  Constant                      0.029433846  0.016569407      1.77640  0.07566750
33.  FOOD                          0.003072132  0.005571044      0.55145  0.58132774
34.  PROFITS                      -0.001971605  0.003262262     -0.60437  0.54559936
35.  OIL                          -0.007184675  0.004253597     -1.68908  0.09120367
36.  EC1{1}                        0.001026039  0.000639862      1.60353  0.10881728

37.  C(1,1)                        0.006884540  0.001205356      5.71163  0.00000001
38.  C(2,1)                        0.009857515  0.004080838      2.41556  0.01571098
39.  C(2,2)                        0.012226414  0.003302851      3.70178  0.00021410
40.  C(3,1)                        0.003332039  0.004647744      0.71692  0.47342633
41.  C(3,2)                        0.001006359  0.003477614      0.28938  0.77228896
42.  C(3,3)                        0.003222800  0.007468112      0.43154  0.66607476
43.  C(4,1)                        0.003542270  0.003802220      0.93163  0.35152672
44.  C(4,2)                        0.016288951  0.003786023      4.30239  0.00001690
45.  C(4,3)                        0.001255005  0.011408124      0.11001  0.91240162
46.  C(4,4)                        0.000006120  0.016446428  3.72106e-04  0.99970310
47.  A(1,1)                       -0.026872709  0.131797342     -0.20389  0.83843621
48.  A(1,2)                       -0.116898040  0.083374403     -1.40209  0.16088972
49.  A(1,3)                       -0.182299885  0.108492508     -1.68030  0.09289910
50.  A(1,4)                       -0.026513648  0.108986051     -0.24328  0.80779190
51.  A(2,1)                        0.050970511  0.059733637      0.85330  0.39349483
52.  A(2,2)                        0.256039020  0.061454498      4.16632  0.00003096
53.  A(2,3)                        0.113840909  0.066891646      1.70187  0.08877968
54.  A(2,4)                        0.076339235  0.048017954      1.58981  0.11187853
55.  A(3,1)                        0.025187913  0.027923598      0.90203  0.36704113
56.  A(3,2)                        0.091888064  0.037033607      2.48121  0.01309381
57.  A(3,3)                        0.326604038  0.064069688      5.09764  0.00000034
58.  A(3,4)                        0.079131539  0.040349058      1.96117  0.04985868
59.  A(4,1)                       -0.060660732  0.033617838     -1.80442  0.07116534
60.  A(4,2)                       -0.095014842  0.056755873     -1.67410  0.09411152
61.  A(4,3)                       -0.089515577  0.053157577     -1.68397  0.09218815
62.  A(4,4)                       -0.347595400  0.081883648     -4.24499  0.00002186
63.  B(1,1)                        0.978967705  0.008656120    113.09544  0.00000000
64.  B(1,2)                        0.090749159  0.026862006      3.37835  0.00072923
65.  B(1,3)                       -0.073394168  0.022510119     -3.26050  0.00111217
66.  B(1,4)                        0.012204078  0.019822250      0.61568  0.53810859
67.  B(2,1)                       -0.053174514  0.010614390     -5.00966  0.00000055
68.  B(2,2)                        0.942674794  0.017151174     54.96270  0.00000000
69.  B(2,3)                        0.028214238  0.015036902      1.87633  0.06060954
70.  B(2,4)                       -0.041128842  0.018790313     -2.18883  0.02860904
71.  B(3,1)                        0.027727262  0.009533975      2.90826  0.00363448
72.  B(3,2)                       -0.050844642  0.013024098     -3.90389  0.00009466
73.  B(3,3)                        0.940576819  0.017496386     53.75835  0.00000000
74.  B(3,4)                       -0.020351171  0.012289417     -1.65599  0.09772351
75.  B(4,1)                       -0.008590384  0.010624562     -0.80854  0.41877974
76.  B(4,2)                       -0.043524580  0.018903446     -2.30247  0.02130879
77.  B(4,3)                        0.013626732  0.019226184      0.70876  0.47847400
78.  B(4,4)                        0.921379759  0.030583580     30.12662  0.00000000
79.  FOOD(1,1)                     0.012938088  0.002679189      4.82911  0.00000137
80.  FOOD(2,1)                     0.006419492  0.005818290      1.10333  0.26988404
81.  FOOD(2,2)                     0.002946039  0.004155857      0.70889  0.47839377
82.  FOOD(3,1)                     0.003390569  0.003954634      0.85737  0.39124262
83.  FOOD(3,2)                    -0.004924581  0.004121628     -1.19481  0.23215944
84.  FOOD(3,3)                    -0.003223162  0.010840520     -0.29733  0.76621808
85.  FOOD(4,1)                     0.013388053  0.005736458      2.33385  0.01960340
86.  FOOD(4,2)                     0.002736664  0.004173107      0.65579  0.51196198
87.  FOOD(4,3)                    -0.001255593  0.019596741     -0.06407  0.94891326
88.  FOOD(4,4)                    -0.000004470  0.022499551 -1.98683e-04  0.99984147
89.  PROFITS(1,1)                  0.000152760  0.002050159      0.07451  0.94060346
90.  PROFITS(2,1)                 -0.013347680  0.005140275     -2.59669  0.00941279
91.  PROFITS(2,2)                 -0.002594436  0.005269270     -0.49237  0.62245706
92.  PROFITS(3,1)                 -0.006802745  0.007110387     -0.95673  0.33870183
93.  PROFITS(3,2)                  0.014427016  0.009250622      1.55957  0.11886091
94.  PROFITS(3,3)                  0.007148365  0.009815515      0.72827  0.46644709
95.  PROFITS(4,1)                 -0.004839831  0.004089345     -1.18352  0.23660216
96.  PROFITS(4,2)                 -0.015213650  0.006179236     -2.46206  0.01381416
97.  PROFITS(4,3)                  0.002558142  0.011717920      0.21831  0.82718738
98.  PROFITS(4,4)                 -0.000007155  0.018063609 -3.96122e-04  0.99968394
99.  OIL(1,1)                     -0.005862316  0.002693753     -2.17626  0.02953556
100. OIL(2,1)                     -0.003903364  0.007102057     -0.54961  0.58258665
101. OIL(2,2)                     -0.007536514  0.008806440     -0.85580  0.39211075
102. OIL(3,1)                      0.008796591  0.005491595      1.60183  0.10919361
103. OIL(3,2)                     -0.000237308  0.019094896     -0.01243  0.99008429
104. OIL(3,3)                     -0.002692737  0.015532657     -0.17336  0.86236869
105. OIL(4,1)                     -0.002732963  0.024497754     -0.11156  0.91117250
106. OIL(4,2)                      0.000831119  0.003907957      0.21267  0.83158156
107. OIL(4,3)                     -0.002543896  0.023314164     -0.10911  0.91311225
108. OIL(4,4)                     -0.000033052  0.030607991     -0.00108  0.99913842
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Re: Reducing Parameters in BEKK GARCH

Unread post by TomDoan »

How did you come up with the dummies? A GARCH model naturally has periods of higher (and lower) variance. Estimating a GARCH model, looking at the results, coming up with dummies to "explain" certain ranges then re-estimating is double-counting the information.
cmcknigh
Posts: 17
Joined: Tue Apr 23, 2019 12:16 pm

Re: Reducing Parameters in BEKK GARCH

Unread post by cmcknigh »

Hello Tom,

Thanks for the help on this. I came up with the dummies by looking at the generated variances for each of the four series. There are obvious periods of higher variance which I wanted to explain (i.e. international economic events). However, based on your previous comment, it seems as though this is incorrect... However, I have seen a paper that did use a time dummy approach in the variance modelling component. For example, Sections 3.4 and 3.5 in this paper...https://www.sciencedirect.com/science/a ... via%3Dihub

Is there another model which may be more appropriate?
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Re: Reducing Parameters in BEKK GARCH

Unread post by TomDoan »

I am under the impression that the paper had a specific policy change period in mind from the start, which is different from having dummies suggested by the results of a preliminary estimation.

Regarding "spillover" tests, you might want to read the article in the April 2019 RATS newsletter---the detection of variance spillover might be an artifact of the choice of the BEKK model rather than something actually present in the data.
cmcknigh
Posts: 17
Joined: Tue Apr 23, 2019 12:16 pm

Re: Reducing Parameters in BEKK GARCH

Unread post by cmcknigh »

Hello Tom,

Thanks again for your input on this. Going back to my mean equation, is there a way to omit the variables which are statistically insignificant? Would it be appropriate instead to restrict the insignificant parameters to zero? Is there a way to do this in RATS? I guess it would be like some sort of asymmetric VECM.
Post Reply