VAR(1)-BEKK-GARCH(1,1) Model

Discussions of ARCH, GARCH, and related models

Re: VAR(1)-BEKK-GARCH(1,1) Model

Unread postby TomDoan » Thu Feb 14, 2019 12:19 am

jack wrote:Dear Tom,

1. Suppose I have daily data for two markets: exchange rate and stock market.
Suppose that a shock occurs in one of these markets (exchange rate, fore example) and the other market (stock market) reacts but after a month (or even later) to that news or shock (for any reason). Can a GARCH-BEKK model with daily data capture this reaction of the second market to the first market's shock? (a12 or b12 ≠0 )


That seems a bit far-fetched, but if you're talking about a volatility effect, then no. You could put a long lag into a mean model if it's a level effect.

jack wrote:2. When I want to look at autocorrelations of residuals, which residuals I should use: stdseries=zu option OR rseries=rs option (and its standardized form)?


Standardized. The raw residuals will be dominated by the high variance parts of the sample.

jack wrote:3. How I can determine DFC for @regcorrs after a VAR-BEKK model? (univariate standardized residuals and univariate squared standardized residuals) (in the arch-garch course (1ed) you used dfc=2 for squared standardized residuals of a MV-GARCH Diagonal Model with three variable).


Degrees of freedom corrections in general are only an attempt to give a more conservative view of the test statistic---it's only for the Ljung-Box Q statistic for an ARMA model where there is an actual asymptotic result. For @MVQSTAT, the DFC that would be suggested is the number of lag coefficients in the model (typically NxNxlags). The fact that it's BEKK doesn't change that.
TomDoan
 
Posts: 7385
Joined: Wed Nov 01, 2006 5:36 pm

Re: VAR(1)-BEKK-GARCH(1,1) Model

Unread postby ABDHUT123 » Sat Apr 20, 2019 2:29 am

Is it possible to get the conditional variance equation in a trivariate BEKK model in RATS
Attachments
conditional variance equation.PNG
conditional variance equation.PNG (74.36 KiB) Viewed 17881 times
ABDHUT123
 
Posts: 13
Joined: Thu Aug 02, 2018 9:37 am

Re: VAR(1)-BEKK-GARCH(1,1) Model

Unread postby TomDoan » Sat Apr 20, 2019 7:13 am

It's possible. In practice, it's a waste of paper.

viewtopic.php?f=11&t=846&p=15694
TomDoan
 
Posts: 7385
Joined: Wed Nov 01, 2006 5:36 pm

Re: VAR(1)-BEKK-GARCH(1,1) Model

Unread postby curiousresearcher » Fri May 24, 2019 7:26 am

TomDoan wrote:It depends upon what "doesn't converge" means. If it didn't converge in the standard number of iterations without any nasty looking messages, then just increase the ITERATIONS option. If it gives you a message that the estimation stalled, then it's possible that you're trying to fit a GARCH model to a data set that isn't well explained by a GARCH model. If you can post the output that you're getting, I can probably help you more.


Hi, for my oil prices and sectoral stock market analysis, for two sectors i am getting no convergence issues. What should i do in this case ? Data is attached

Commands used:

garch(p=1,q=1,mv=bekk, pmethod=simplex, piters=10) / RIT RBRENT
garch(p=1,q=1,mv=bekk, pmethod=simplex, piters=10) / RMETAL RBRENT

I am using daily returns data .

MV-GARCH, BEKK - Estimation by BFGS
NO CONVERGENCE IN 71 ITERATIONS. FINAL NORMED GRADIENT 0.00003
ESTIMATION POSSIBLY HAS STALLED OR MACHINE ROUNDOFF IS MAKING FURTHER PROGRESS DIFFICULT
TRY DIFFERENT SETTING FOR EXACTLINE, DERIVES OR ALPHA ON NLPAR
RESTARTING ESTIMATION FROM LAST ESTIMATES OR DIFFERENT INITIAL GUESSES/PMETHOD OPTION MIGHT ALSO WORK

Usable Observations 993
Log Likelihood -3822.9895

Variable Coeff Std Error T-Stat Signif
************************************************************************************
1. Mean(RIT) 0.095281010 0.040286720 2.36507 0.01802655
2. Mean(RBRENT) 0.040053073 0.051438217 0.77866 0.43617784

3. C(1,1) 0.713492444 0.014909417 47.85516 0.00000000
4. C(2,1) -0.131400151 0.019148189 -6.86228 0.00000000
5. C(2,2) -0.139367607 0.019703816 -7.07313 0.00000000
6. A(1,1) 0.434163351 0.042347746 10.25234 0.00000000
7. A(1,2) 0.043712949 0.032439769 1.34751 0.17781568
8. A(2,1) -0.154098514 0.034545262 -4.46077 0.00000817
9. A(2,2) 0.174221263 0.017772214 9.80301 0.00000000
10. B(1,1) 0.760407569 0.015056796 50.50261 0.00000000
11. B(1,2) -0.001793662 0.006426949 -0.27908 0.78017994
12. B(2,1) 0.076636570 0.008542320 8.97140 0.00000000
13. B(2,2) 0.977216761 0.002635335 370.81315 0.00000000


MV-GARCH, BEKK - Estimation by BFGS
NO CONVERGENCE IN 79 ITERATIONS. FINAL NORMED GRADIENT 0.00000
ESTIMATION POSSIBLY HAS STALLED OR MACHINE ROUNDOFF IS MAKING FURTHER PROGRESS DIFFICULT
TRY DIFFERENT SETTING FOR EXACTLINE, DERIVES OR ALPHA ON NLPAR
RESTARTING ESTIMATION FROM LAST ESTIMATES OR DIFFERENT INITIAL GUESSES/PMETHOD OPTION MIGHT ALSO WORK

Usable Observations 993
Log Likelihood -4052.5506

Variable Coeff Std Error T-Stat Signif
************************************************************************************
1. Mean(RMETAL) 0.019665097 0.050183782 0.39186 0.69516047
2. Mean(RBRENT) 0.059342416 0.051294665 1.15689 0.24731626

3. C(1,1) -0.194495308 0.051952432 -3.74372 0.00018132
4. C(2,1) 0.172827697 0.028015758 6.16895 0.00000000
5. C(2,2) 0.000030214 0.310644711 9.72628e-05 0.99992240
6. A(1,1) 0.254330859 0.021985268 11.56824 0.00000000
7. A(1,2) 0.006438636 0.022886778 0.28133 0.77846068
8. A(2,1) -0.071780207 0.024196247 -2.96658 0.00301128
9. A(2,2) 0.165354566 0.005403083 30.60374 0.00000000
10. B(1,1) 0.956794227 0.007940352 120.49771 0.00000000
11. B(1,2) -0.003683154 0.003819523 -0.96430 0.33489716
12. B(2,1) 0.028917814 0.006399546 4.51873 0.00000622
13. B(2,2) 0.982374215 0.001702984 576.85457 0.00000000
Attachments
pre_returns.xlsx
(3.8 MiB) Downloaded 634 times
curiousresearcher
 
Posts: 41
Joined: Sun May 19, 2019 9:56 pm

Re: VAR(1)-BEKK-GARCH(1,1) Model

Unread postby TomDoan » Fri May 24, 2019 7:58 am

That looks like it's pretty close to working. If you add

nlpar(derives=second)

before the GARCH instructions (which forces it to use more accurate numerical derivatives), it looks like it will work.
TomDoan
 
Posts: 7385
Joined: Wed Nov 01, 2006 5:36 pm

Re: VAR(1)-BEKK-GARCH(1,1) Model

Unread postby curiousresearcher » Sat May 25, 2019 8:25 am

TomDoan wrote:That looks like it's pretty close to working. If you add

nlpar(derives=second)

before the GARCH instructions (which forces it to use more accurate numerical derivatives), it looks like it will work.


Thanks it worked.
curiousresearcher
 
Posts: 41
Joined: Sun May 19, 2019 9:56 pm

Re: VAR(1)-BEKK-GARCH(1,1) Model

Unread postby hungufm » Thu Jul 18, 2019 8:47 pm

Hi Tom,

Could you please show me how to save GARCH variance series as a new variable when estimating M-GARCH type models?

I have read through the GARCH instructions. But I cannot make GARCH variance series for univariate GARCH? Or bivariate GARCH.

Thanks in advance
hungufm
 
Posts: 13
Joined: Tue Dec 11, 2018 6:00 am

Re: VAR(1)-BEKK-GARCH(1,1) Model

Unread postby sandra_suresh80 » Fri Jul 19, 2019 1:30 am

hI Tom,

I am using bivariate BEKK-GARCH Model to check volatility spillover across commodity and stock market. I am running the model separately for each commodity with stock index. Can you please guide me on what are the tests i am supposed to run before running the BEKK model also how to run the diagnostic test for the same. I will post the results of the model I had run for one commodity and stock market.


OPEN DATA "C:\Users\ItzmeSandra\Desktop\new commodity prices\aluminium prices.xlsx"
DATA(FORMAT=XLSX,ORG=COLUMNS,LEFT=2) 1 2952 AL NSE500
set dal = 100* log(al/al{1})
set dnse = 100* log(nse500/nse500{1}
GARCH(P=1,Q=1,MV=BEKK,METHOD=BHHH) / DAL DNSE

MV-GARCH, BEKK - Estimation by BHHH
Convergence in 48 Iterations. Final criterion was 0.0000096 <= 0.0000100

Usable Observations 2951
Log Likelihood -9707.2100

Variable Coeff Std Error T-Stat Signif
************************************************************************************
1. Mean(DAL) -0.007834183 0.025370655 -0.30879 0.75748192
2. Mean(DNSE) 0.056852098 0.018113943 3.13858 0.00169767

3. C(1,1) 0.357537345 0.021378061 16.72450 0.00000000
4. C(2,1) -0.004354554 0.018625963 -0.23379 0.81514843
5. C(2,2) 0.098246127 0.010122502 9.70572 0.00000000
6. A(1,1) 0.261766589 0.011285652 23.19464 0.00000000
7. A(1,2) -0.030701020 0.010936228 -2.80728 0.00499623
8. A(2,1) 0.053839178 0.012188423 4.41724 0.00001000
9. A(2,2) 0.245321857 0.009486458 25.86022 0.00000000
10. B(1,1) 0.932511870 0.006088815 153.15161 0.00000000
11. B(1,2) 0.008957318 0.005491892 1.63101 0.10288871
12. B(2,1) -0.010095742 0.003514202 -2.87284 0.00406799
13. B(2,2) 0.966757649 0.002195412 440.35356 0.00000000
sandra_suresh80
 
Posts: 2
Joined: Thu Jul 18, 2019 1:43 am

Re: VAR(1)-BEKK-GARCH(1,1) Model

Unread postby TomDoan » Fri Jul 19, 2019 9:03 am

hungufm wrote:Hi Tom,

Could you please show me how to save GARCH variance series as a new variable when estimating M-GARCH type models?

I have read through the GARCH instructions. But I cannot make GARCH variance series for univariate GARCH? Or bivariate GARCH.

Thanks in advance


The variances themselves are the diagonals of what's returned using the HMATRICES option. So, in the GARCHMV.RPF example, after

garch(p=1,q=1,mv=dcc,variances=koutmos,hmatrices=hh) / $
xjpn xfra xsui

you could so something like

set jpnvar = hh(t)(1,1)
set fravar = hh(t)(2,2)
set suivar = hh(t)(3,3)

to get the three variances.
TomDoan
 
Posts: 7385
Joined: Wed Nov 01, 2006 5:36 pm

Re: VAR(1)-BEKK-GARCH(1,1) Model

Unread postby TomDoan » Fri Jul 19, 2019 9:19 am

sandra_suresh80 wrote:hI Tom,

I am using bivariate BEKK-GARCH Model to check volatility spillover across commodity and stock market. I am running the model separately for each commodity with stock index. Can you please guide me on what are the tests i am supposed to run before running the BEKK model also how to run the diagnostic test for the same. I will post the results of the model I had run for one commodity and stock market.


OPEN DATA "C:\Users\ItzmeSandra\Desktop\new commodity prices\aluminium prices.xlsx"
DATA(FORMAT=XLSX,ORG=COLUMNS,LEFT=2) 1 2952 AL NSE500
set dal = 100* log(al/al{1})
set dnse = 100* log(nse500/nse500{1}
GARCH(P=1,Q=1,MV=BEKK,METHOD=BHHH) / DAL DNSE

MV-GARCH, BEKK - Estimation by BHHH
Convergence in 48 Iterations. Final criterion was 0.0000096 <= 0.0000100

Usable Observations 2951
Log Likelihood -9707.2100

Variable Coeff Std Error T-Stat Signif
************************************************************************************
1. Mean(DAL) -0.007834183 0.025370655 -0.30879 0.75748192
2. Mean(DNSE) 0.056852098 0.018113943 3.13858 0.00169767

3. C(1,1) 0.357537345 0.021378061 16.72450 0.00000000
4. C(2,1) -0.004354554 0.018625963 -0.23379 0.81514843
5. C(2,2) 0.098246127 0.010122502 9.70572 0.00000000
6. A(1,1) 0.261766589 0.011285652 23.19464 0.00000000
7. A(1,2) -0.030701020 0.010936228 -2.80728 0.00499623
8. A(2,1) 0.053839178 0.012188423 4.41724 0.00001000
9. A(2,2) 0.245321857 0.009486458 25.86022 0.00000000
10. B(1,1) 0.932511870 0.006088815 153.15161 0.00000000
11. B(1,2) 0.008957318 0.005491892 1.63101 0.10288871
12. B(2,1) -0.010095742 0.003514202 -2.87284 0.00406799
13. B(2,2) 0.966757649 0.002195412 440.35356 0.00000000


Diagnostics are pretty much the same regardless of the type of multivariate GARCH model:

https://estima.com/docs/RATS%2010%20Use ... f#page=333

Preliminaries generally involve graphing the data to make sure there are no serious problems, such as clear structural breaks, and seeing whether there is a need for a dynamic model to get rid of serial correlation---stock market returns usually don't show that, but commodities might.

I would strongly recommend that you read the April 2019 newsletter article on tests for spillover.
TomDoan
 
Posts: 7385
Joined: Wed Nov 01, 2006 5:36 pm

Re: VAR(1)-BEKK-GARCH(1,1) Model

Unread postby 1003064 » Wed Jul 24, 2019 2:21 am

Hi,

Just a quick question.

When I estimate a VAR(1)-BEKK-GARCH(1,1) model, am I estimating these jointly, i.e. would it be equivalent to estimating the VAR, storing the residuals and then estimating a GARCH separately?

I am simply using the wizard to estimate this.

Thanks
1003064
 
Posts: 2
Joined: Mon Jul 22, 2019 3:07 am

Re: VAR(1)-BEKK-GARCH(1,1) Model

Unread postby TomDoan » Wed Jul 24, 2019 7:04 am

What you are describing after the i.e. would be the opposite of jointly---that would be sequentially, or a two-step estimator. They are estimated jointly, that is, the likelihood if maximized including both the lag coefficients in the VAR and the parameters of the GARCH model.
TomDoan
 
Posts: 7385
Joined: Wed Nov 01, 2006 5:36 pm

Re: VAR(1)-BEKK-GARCH(1,1) Model

Unread postby sandra_suresh80 » Wed Jul 24, 2019 2:26 pm

TomDoan wrote:
sandra_suresh80 wrote:hI Tom,

I am using bivariate BEKK-GARCH Model to check volatility spillover across commodity and stock market. I am running the model separately for each commodity with stock index. Can you please guide me on what are the tests i am supposed to run before running the BEKK model also how to run the diagnostic test for the same. I will post the results of the model I had run for one commodity and stock market.


OPEN DATA "C:\Users\ItzmeSandra\Desktop\new commodity prices\aluminium prices.xlsx"
DATA(FORMAT=XLSX,ORG=COLUMNS,LEFT=2) 1 2952 AL NSE500
set dal = 100* log(al/al{1})
set dnse = 100* log(nse500/nse500{1}
GARCH(P=1,Q=1,MV=BEKK,METHOD=BHHH) / DAL DNSE

MV-GARCH, BEKK - Estimation by BHHH
Convergence in 48 Iterations. Final criterion was 0.0000096 <= 0.0000100

Usable Observations 2951
Log Likelihood -9707.2100

Variable Coeff Std Error T-Stat Signif
************************************************************************************
1. Mean(DAL) -0.007834183 0.025370655 -0.30879 0.75748192
2. Mean(DNSE) 0.056852098 0.018113943 3.13858 0.00169767

3. C(1,1) 0.357537345 0.021378061 16.72450 0.00000000
4. C(2,1) -0.004354554 0.018625963 -0.23379 0.81514843
5. C(2,2) 0.098246127 0.010122502 9.70572 0.00000000
6. A(1,1) 0.261766589 0.011285652 23.19464 0.00000000
7. A(1,2) -0.030701020 0.010936228 -2.80728 0.00499623
8. A(2,1) 0.053839178 0.012188423 4.41724 0.00001000
9. A(2,2) 0.245321857 0.009486458 25.86022 0.00000000
10. B(1,1) 0.932511870 0.006088815 153.15161 0.00000000
11. B(1,2) 0.008957318 0.005491892 1.63101 0.10288871
12. B(2,1) -0.010095742 0.003514202 -2.87284 0.00406799
13. B(2,2) 0.966757649 0.002195412 440.35356 0.00000000


Diagnostics are pretty much the same regardless of the type of multivariate GARCH model:

https://estima.com/docs/RATS%2010%20Use ... f#page=333

Preliminaries generally involve graphing the data to make sure there are no serious problems, such as clear structural breaks, and seeing whether there is a need for a dynamic model to get rid of serial correlation---stock market returns usually don't show that, but commodities might.

I would strongly recommend that you read the April 2019 newsletter article on tests for spillover.


Hi Tom,
I wanted to ask that when i check for structural break for instance I might get two different break dates for stock and commodity market. In that case suppose I wish to include dummy variable for the break period, how do i divide the data into two as there are two different break dates for each of the series.
Also could you tell me how to include the dummy variable in the mean equation of a VAR- BEKK- GARCH model.
sandra_suresh80
 
Posts: 2
Joined: Thu Jul 18, 2019 1:43 am

Re: VAR(1)-BEKK-GARCH(1,1) Model

Unread postby TomDoan » Wed Jul 24, 2019 5:47 pm

Are you talking about an actual break (process is different on (1,T0) than on (T0+1,end)) or are you talking about an outlier? A structural break in the mean of a return series seems somewhat odd, though I guess it's possible.

If it's an actual structural break, you probably want to include the dummies in each mean equation (thus there would be three different ranges) as otherwise you can run into problems with the lagged "other" variables in an equation when the "other" series has just had a transition.
TomDoan
 
Posts: 7385
Joined: Wed Nov 01, 2006 5:36 pm

Re: VAR(1)-BEKK-GARCH(1,1) Model

Unread postby jack » Thu Jan 20, 2022 5:07 pm

Dear Tom.
https://www.sciencedirect.com/science/article/pii/S0140988320303054, authors estimate Partial co-volatility spillovers for a VAR(1)-DBEKK(1,1) model. They estimate it as A(i,i)*A(j,j)*e(j,t-1) where e(j,t-1) is the mean return shock. I know how to get A but what about the mean return shock e(j,t-1)? How can I get it when I estimate a DBEKK model?
jack
 
Posts: 123
Joined: Tue Sep 27, 2016 11:44 am

PreviousNext

Return to ARCH and GARCH Models

Who is online

Users browsing this forum: No registered users and 2 guests

cron