VAR-GARCH-M
-
economics2012
- Posts: 51
- Joined: Thu Jan 19, 2012 4:41 pm
Re: VAR-GARCH-M
Oops, that is what I meant.
Thanks a lot.
Thanks a lot.
-
economics2012
- Posts: 51
- Joined: Thu Jan 19, 2012 4:41 pm
Re: VAR-GARCH-M
Dear Tom,
I do have two questions about Elder's specialized version of the VAR-GARCH-M procedure:
The first question is about computing garchp(i) below. Can you please explain to me why garchp(i) is computed as ( compute garchp(i)=||%sigma(i,i)/5.0,.20,.60|| ), why dividing by 5.0, .20,.60?
dec vect[equation] garchmeqns(%nvar)
dec vect[vect] bvec(%nvar)
dec vect[vect] garchp(%nvar)
do i=1,%nvar
compute garchmeqns(i)=%modeleqn(basevar,i)
compute bvec(i)=%eqncoeffs(garchmeqns(i))
compute garchp(i)=||%sigma(i,i)/5.0,.20,.60||
end do i
My second question is about :
compute b=0.0
function %%garchinit
compute bb=||1.0,0.0|b,1.0||
gset hh 1 gstart-1 = ||garchp(1)(1)/(1-garchp(1)(2)-garchp(1)(3))|0.0,garchp(2)(1)/(1-garchp(2)(2)-garchp(2)(3))||
gset uu 1 gstart-1 = hh(t)
end
I don't understand this line:
gset hh 1 gstart-1 = ||garchp(1)(1)/(1-garchp(1)(2)-garchp(1)(3))|0.0,garchp(2)(1)/(1-garchp(2)(2)-garchp(2)(3))||
Thanks a lot for all your help.
I do have two questions about Elder's specialized version of the VAR-GARCH-M procedure:
The first question is about computing garchp(i) below. Can you please explain to me why garchp(i) is computed as ( compute garchp(i)=||%sigma(i,i)/5.0,.20,.60|| ), why dividing by 5.0, .20,.60?
dec vect[equation] garchmeqns(%nvar)
dec vect[vect] bvec(%nvar)
dec vect[vect] garchp(%nvar)
do i=1,%nvar
compute garchmeqns(i)=%modeleqn(basevar,i)
compute bvec(i)=%eqncoeffs(garchmeqns(i))
compute garchp(i)=||%sigma(i,i)/5.0,.20,.60||
end do i
My second question is about :
compute b=0.0
function %%garchinit
compute bb=||1.0,0.0|b,1.0||
gset hh 1 gstart-1 = ||garchp(1)(1)/(1-garchp(1)(2)-garchp(1)(3))|0.0,garchp(2)(1)/(1-garchp(2)(2)-garchp(2)(3))||
gset uu 1 gstart-1 = hh(t)
end
I don't understand this line:
gset hh 1 gstart-1 = ||garchp(1)(1)/(1-garchp(1)(2)-garchp(1)(3))|0.0,garchp(2)(1)/(1-garchp(2)(2)-garchp(2)(3))||
Thanks a lot for all your help.
Re: VAR-GARCH-M
Neither of those are "computed". Those are simply guess (or pre-sample) values. The equilibrium variance for a univariate GARCH model with c+a h(t-1) + b u(t-1)^2 is c/(1-a-b). The first would be clearer if it were written equivalently as
compute garchp(i)=||%sigma(i,i)*(1-.20-.60),.20,.60||
as it is solving out for c using the observed variance in place of the (unobservable) equilibrium variance and the guess values for a and b.
The second is just directly using the c/(1-a-b) formula to compute the equilibrium variances for the pre-sample.
compute garchp(i)=||%sigma(i,i)*(1-.20-.60),.20,.60||
as it is solving out for c using the observed variance in place of the (unobservable) equilibrium variance and the guess values for a and b.
The second is just directly using the c/(1-a-b) formula to compute the equilibrium variances for the pre-sample.
-
economics2012
- Posts: 51
- Joined: Thu Jan 19, 2012 4:41 pm
Re: VAR-GARCH-M
That makes sense. Thanks a lot.
And why "1 gstart-1" are included below next to gset hh? Also, why 0.0 is added to the matrix?
gset hh 1 gstart-1 = ||garchp(1)(1)/(1-garchp(1)(2)-garchp(1)(3))|0.0,garchp(2)(1)/(1-garchp(2)(2)-garchp(2)(3))||
Thanks a lot
And why "1 gstart-1" are included below next to gset hh? Also, why 0.0 is added to the matrix?
gset hh 1 gstart-1 = ||garchp(1)(1)/(1-garchp(1)(2)-garchp(1)(3))|0.0,garchp(2)(1)/(1-garchp(2)(2)-garchp(2)(3))||
Thanks a lot
Re: VAR-GARCH-M
Those are for pre-sample values. Everything from gstart on will be set as part of the estimation process. The 0 is the 1,2 element, which is supposed to be zero since the rotation is supposed to make the residuals uncorrelated.
-
economics2012
- Posts: 51
- Joined: Thu Jan 19, 2012 4:41 pm
Re: VAR-GARCH-M
Thanks a lot.
Now I am trying to run the procedure for GARCH(2,2) as attached in the file below. Does it look right? By the end of the code:
frml garchmlogl = hh=%%garchh(t),sqrthoil=sqrt(hh(t)(1,1)),$
ux=bb*yvec(t)-%%garchmu(t),uu=%outerxx(ux),%logdensity(hh,ux)
is sqrt(hh(t)(1,1)) considered right?
Many Thanks,
Now I am trying to run the procedure for GARCH(2,2) as attached in the file below. Does it look right? By the end of the code:
frml garchmlogl = hh=%%garchh(t),sqrthoil=sqrt(hh(t)(1,1)),$
ux=bb*yvec(t)-%%garchmu(t),uu=%outerxx(ux),%logdensity(hh,ux)
is sqrt(hh(t)(1,1)) considered right?
Many Thanks,
Last edited by economics2012 on Mon May 21, 2012 2:03 pm, edited 1 time in total.
Re: VAR-GARCH-M
The (1,1) is the position in the covariance matrix (thus variance of variable 1, i.e. oil), so it always stays the same.
-
economics2012
- Posts: 51
- Joined: Thu Jan 19, 2012 4:41 pm
Re: VAR-GARCH-M
Thanks a lot.
Is the code correct as a GARCH (2,2)?
Is the code correct as a GARCH (2,2)?
-
economics2012
- Posts: 51
- Joined: Thu Jan 19, 2012 4:41 pm
Re: VAR-GARCH-M
Dear Tom,
When we tested for garch effect, the procedure we used is before garch-in-mean, correct? So, the attached file shows the existence of garch effect in the basic VAR model before using garch-in-mean model. Am I correct?
Many Thanks
When we tested for garch effect, the procedure we used is before garch-in-mean, correct? So, the attached file shows the existence of garch effect in the basic VAR model before using garch-in-mean model. Am I correct?
Many Thanks
Last edited by economics2012 on Tue May 29, 2012 10:45 pm, edited 1 time in total.
Re: VAR-GARCH-M
Your GARCH test is on the standardized residuals from the GARCH-M. And a .04 significance level on that with 6000 data points is quite good---you'll almost never get a value better than that with actual data.
-
economics2012
- Posts: 51
- Joined: Thu Jan 19, 2012 4:41 pm
Re: VAR-GARCH-M
Thanks a lot, Tom.
The results are sensitive to the number of lags I use. For instance, using 42 lags, the results are positive and significant. However when using 35 lags the results are not significant (i.e. uncertainty in oil price has no effect on stock returns).
I am trying to get the optimal number of lags using daily data. I am using the following procedure but I am getting errors. Can you please help me adjusting this procedure?
The results are sensitive to the number of lags I use. For instance, using 42 lags, the results are positive and significant. However when using 35 lags the results are not significant (i.e. uncertainty in oil price has no effect on stock returns).
I am trying to get the optimal number of lags using daily data. I am using the following procedure but I am getting errors. Can you please help me adjusting this procedure?
Re: VAR-GARCH-M
That's a really bad idea. You have plenty of data to estimate either a 35 or 42 lag model. If the residuals pass a whiteness test (at either lag), just go with what you have. However, the job of the econometrician isn't (or at least shouldn't be) to monkey with specifications until getting the result that he wants. All indications are that this elusive parameter just really isn't well-estimated. When you have 6000 data points, it's very easy for parameters to appear significant at conventional significance levels when they are really just statistical artifacts that disappear with slight changes in specification. I would suggest that you read Chapter 4 of Leamer's Specification Searches (Wiley, 1978).
-
economics2012
- Posts: 51
- Joined: Thu Jan 19, 2012 4:41 pm
Re: VAR-GARCH-M
Thanks a lot Tom for your advice. I am reading chapter 4.
I just wanted to check for the lag length in the VAR using AIC/BIC criterion.
now I need to check for daily effect by adding days of the week dummies to the mean equation and the variance equation.
Can you please help in writing the code in rats?
Many thanks for all your help.
I just wanted to check for the lag length in the VAR using AIC/BIC criterion.
now I need to check for daily effect by adding days of the week dummies to the mean equation and the variance equation.
Can you please help in writing the code in rats?
Many thanks for all your help.
-
economics2012
- Posts: 51
- Joined: Thu Jan 19, 2012 4:41 pm
Re: VAR-GARCH-M
Hi Tom,
I believe for the mean equation that is how I add the dummy variables for the days of the week (Mondays through Thursdays):
system(model=basevar)
variables oilgrow stockreturns
lags 1 to nlags
det constant sqrthoil monday tuesday wednesday thursday
end(system)
Am I correct?
I am not sure how to add the dummies to the variance equation!
Thanks
I believe for the mean equation that is how I add the dummy variables for the days of the week (Mondays through Thursdays):
system(model=basevar)
variables oilgrow stockreturns
lags 1 to nlags
det constant sqrthoil monday tuesday wednesday thursday
end(system)
Am I correct?
I am not sure how to add the dummies to the variance equation!
Thanks