Granger causality test in GARCH model
Granger causality test in GARCH model
My task is so:
I want to test Garnger causality between two variables. They are cointegrated so I should estimate a VECM. But at the same time, there are some ARCH effects in the data because they are daily ( and MVACRCH test shows this fact). Granger causality test will not be valid in the presence of ARCH effects (please correct me if I am wrong). Therefore, I have to account for ARCH effects in my VECM. I should estimate a MV GARCH VECM. But, I cannot estimate a proper MV GARCH VECM. I tied many models (BEKK, CC,DCC,...) . Please guide me how I can perform Granger causality test in the presence of ARCH effects? I am really confused and disappointed.
I want to test Garnger causality between two variables. They are cointegrated so I should estimate a VECM. But at the same time, there are some ARCH effects in the data because they are daily ( and MVACRCH test shows this fact). Granger causality test will not be valid in the presence of ARCH effects (please correct me if I am wrong). Therefore, I have to account for ARCH effects in my VECM. I should estimate a MV GARCH VECM. But, I cannot estimate a proper MV GARCH VECM. I tied many models (BEKK, CC,DCC,...) . Please guide me how I can perform Granger causality test in the presence of ARCH effects? I am really confused and disappointed.
Granger causality test in GARCH model
If the equation errors demonstrate heteroscedasticity, then the least squares estimates of the EC model are consistent but the covariance matrix isn't. However, if you estimate the mean model in the context of a GARCH variance model, and the GARCH variance model is wrong, the covariance matrix will again be inconsistent. The fact that you reject homoscedasticity in favor of ARCH cannot be interpreted as meaning that any particular GARCH model is appropriate; it simply means that the residuals aren't homoscedastic.John wrote:My task is so:
I want to test Garnger causality between two variables. They are cointegrated so I should estimate a VECM. But at the same time, there are some ARCH effects in the data because they are daily ( and MVACRCH test shows this fact). Granger causality test will not be valid in the presence of ARCH effects (please correct me if I am wrong). Therefore, I have to account for ARCH effects in my VECM. I should estimate a MV GARCH VECM. But, I cannot estimate a proper MV GARCH VECM. I tied many models (BEKK, CC,DCC,...) . Please guide me how I can perform Granger causality test in the presence of ARCH effects? I am really confused and disappointed.
If all you're trying to do is a causality test, then estimate the EC model by least squares and compute Eicker-White standard errors to deal with heteroscedasticity of unknown form (ROBUSTERRORS option) and then jointly test the lagged differences and the loading on the error correction term.
Granger causality test in GARCH model
Tom, how can I do this test in a bekk vecm model?then jointly test the lagged differences and the loading on the error correction term
I tried so attempts at RATS but I could not perform the test.
Granger causality test in GARCH model
I'm not sure if got your point correct. I used below code (from VARCAUSE.RPF) for estimation a VECM with RPOBUSTERRORS but RATS stopped working:then estimate the EC model by least squares and compute Eicker-White standard errors to deal with heteroscedasticity of unknown form (ROBUSTERRORS option)
Code: Select all
* estimating a VECM model
linreg(define=cointeq) lf
# lsb
system(model=varmodel)
variables lf lsb
lags 1 to 4
det constant
ect cointeq
end(system)
estimate(sigma,resids=resids)
sur(model=varmodel,robust)I want to do Ganger test in a DCC VECM. I used below code for performing Garanger causality test in a DCC VECM but got the error "## SR6. Missing a Necessary Parameter. Check Instruction Syntax":then jointly test the lagged differences and the loading on the error correction term.
Code: Select all
System(model=vecmmodel)
Var dlf
Lags 1 to 3
Det constant dlsb{1 to 3} ect{1}
End(system)
garch(model=vecmmodel,mv=dcc,hmatrices=hh,variances=spillover,rvector=r,stdresids=unresids,$
distribt=t,pmethod=simplex,piters=20,method=bfgs,iters=500,CVCRIT=.00001)
compute ntotal=%nregsystem,mcorr=%nreg,loglunr=%logl
compute logdetunr=%logdet
System(model=vecmmodel)
Var dlf
Lags 1 to 3
Det constant
End(system)
garch(model=vecmmodel,mv=dcc,hmatrices=hh,variances=spillover,rvector=r,stdresids=resresids,$
distribt=t,pmethod=simplex,piters=20,method=bfgs,iters=500,CVCRIT=.00001)
compute loglres=%logl
compute logdetres=%logdet
* Using RATIO
*
ratio(degrees=ntotal-%nregsystem,mcorr=mcorr)
# unresids
# resresids
Granger causality test in GARCH model
Causality tests can be done an equation at a time if you're using a linear model.
and the analogous test for the other direction. Note that you have to test both the lags and the loading on the error correction term. The test on the lagged differences alone has no real point.
You can't use RATIO to do a LR test on the output from a GARCH---that's specific to situations where the covariance matrix forms a sufficient statistic for the log likelihood (such as a simple VAR). You can do a likelihood ratio test by comparing the log likelihoods of a restricted and unrestricted model (assuming you can get both to converge, which seems like it's not likely), or you can do Wald tests (one each way) on the coefficients from the unrestricted GARCH model using TEST. You can use the Regression Tests wizard on the Statistics menu (exclusion restrictions) to select the coefficients that need to be tested for each test.
Code: Select all
linreg(robusterrors) dlf
# constant dlf{1 2 3} dlsg{1 2 3} ect{1}
exclude(title="Test for SG-->LF")
# dlsg{1 2 3} ect{1}
You can't use RATIO to do a LR test on the output from a GARCH---that's specific to situations where the covariance matrix forms a sufficient statistic for the log likelihood (such as a simple VAR). You can do a likelihood ratio test by comparing the log likelihoods of a restricted and unrestricted model (assuming you can get both to converge, which seems like it's not likely), or you can do Wald tests (one each way) on the coefficients from the unrestricted GARCH model using TEST. You can use the Regression Tests wizard on the Statistics menu (exclusion restrictions) to select the coefficients that need to be tested for each test.
Granger causality test in GARCH model
Dear Tom,
Thank you for all your help and guidance.
"... that [robust errors] doesn't correct for GARCH effects, since it will only handle heteroscedasticity conditional on the regressors (lags of Y and X). If you're sure that you have GARCH effects, the simplest thing to do is to just estimate the MV-GARCH model, and do the tests afterwards using the TEST instruction".
My understanding from your above statement is that the results of causality test with Eicker-White standard errors in a typical model (like mine) with heteroscedastici errors aren't really very robust. Im concerend with this subject because I want to do nonlinear causality test according to the results of linear Granger causality (C. Hiemstra and J. D. Jones. Testing for linear and nonlinear Granger causality in the stock price-volume relation. Journal of Finance, 49(5):1639–1664, 1994). Therefore if the results of linear Granger causality are incorrect, the implications of nonlinear causality will also be incorrect.
So, my question is that how much one can rely on the results of linear Granger causality test with Eicker-White standard errors while there is clear evidence regarding heteroscedasticity of residuals? Can anyone criticize there results?
And my second question is that if one cannot estimate a well-behaved MV GARCH model how can Eicker-White standard errors guarantee handling of the heteroscedasticity of residuals?
Thank you for all your help and guidance.
I'm still skeptical about the robustness of the results of Granger causality test with Eicker-White standard errors because you have said in another post (VAR, Granger Causality and ARCH effects) that:TomDoan wrote: If all you're trying to do is a causality test, then estimate the EC model by least squares and compute Eicker-White standard errors to deal with heteroscedasticity of unknown form (ROBUSTERRORS option) and then jointly test the lagged differences and the loading on the error correction term.
"... that [robust errors] doesn't correct for GARCH effects, since it will only handle heteroscedasticity conditional on the regressors (lags of Y and X). If you're sure that you have GARCH effects, the simplest thing to do is to just estimate the MV-GARCH model, and do the tests afterwards using the TEST instruction".
My understanding from your above statement is that the results of causality test with Eicker-White standard errors in a typical model (like mine) with heteroscedastici errors aren't really very robust. Im concerend with this subject because I want to do nonlinear causality test according to the results of linear Granger causality (C. Hiemstra and J. D. Jones. Testing for linear and nonlinear Granger causality in the stock price-volume relation. Journal of Finance, 49(5):1639–1664, 1994). Therefore if the results of linear Granger causality are incorrect, the implications of nonlinear causality will also be incorrect.
So, my question is that how much one can rely on the results of linear Granger causality test with Eicker-White standard errors while there is clear evidence regarding heteroscedasticity of residuals? Can anyone criticize there results?
And my second question is that if one cannot estimate a well-behaved MV GARCH model how can Eicker-White standard errors guarantee handling of the heteroscedasticity of residuals?
Re: Granger causality test in GARCH model
That's all assuming that you can find an appropriate GARCH model. If you can't, you're worse off.
Regarding Hiemstra-Jones, forget you ever read about it. It's simply wrong.
Regarding Hiemstra-Jones, forget you ever read about it. It's simply wrong.
Re: Granger causality test in GARCH model
Thank you for your reply Tom.
Diks and Panchenko (2005, 2006) demonstrate that the relationship tested by Hiemstra and
Jones test is not generally compatible with Granger causality, leading to the possibility of spurious
rejections of the null hypothesis. And As an alternative Diks and Panchenko (2006) developed a new test
statistic that overcomes these limitations.
What about using Diks and Panchenko (2006) statistics for performing nonlinear Granger causality test?
Which test do you recommend for doing nonlinear Granger causality?
Diks and Panchenko (2005, 2006) demonstrate that the relationship tested by Hiemstra and
Jones test is not generally compatible with Granger causality, leading to the possibility of spurious
rejections of the null hypothesis. And As an alternative Diks and Panchenko (2006) developed a new test
statistic that overcomes these limitations.
What about using Diks and Panchenko (2006) statistics for performing nonlinear Granger causality test?
Which test do you recommend for doing nonlinear Granger causality?
Re: Granger causality test in GARCH model
None. This is a flawed literature. Figure out what specifically you want to test and test it.
Re: Granger causality test in GARCH model
VAR lag selection for Granger causality:
Dear Tom,
I can see that in some papers like this (Hiemstra and Jones 1994, The Journal of Finance) and this (Fujihara and Mougoue 1997, The Journal of Futures Markets) there has been used many lags for performing linear Granger causality. Do you recommend using those numbers of lags for doing this test? I don't know what rationale is for using so many lags. It seems somehow strange because no economic theory can justify this procedure.
Dear Tom,
I can see that in some papers like this (Hiemstra and Jones 1994, The Journal of Finance) and this (Fujihara and Mougoue 1997, The Journal of Futures Markets) there has been used many lags for performing linear Granger causality. Do you recommend using those numbers of lags for doing this test? I don't know what rationale is for using so many lags. It seems somehow strange because no economic theory can justify this procedure.
Re: Granger causality test in GARCH model
The Hiemstra-Jones paper has around 10000 data points, so 34 lags really isn't that many. However, AIC (which is what they used) tends to select lag lengths which are too long and will really have a tendency to overdo the lag length when the data have GARCH properties. If you choose a large lag length and reject non-causality, it's safe to assume that that isn't because the lag length is too long. However, their "interesting" result is that they did not find causality from volume to prices (but found it using their flawed non-linear causality test). Choosing too long a lag length will reduce the power of the test, so it's important to check any failure to reject by seeing if it's sensitive to the number of lags chosen.
Re: Granger causality test in GARCH model
You mean that the results of the Granger causaity test in this case (rejectiing non-causality) isn't necessarily coreect?TomDoan wrote: If you choose a large lag length and reject non-causality, it's safe to assume that that isn't because the lag length is too long.
Re: Granger causality test in GARCH model
No. Exactly the opposite. If you reject non-causality with long lags, it's almost certainly a good rejection because long lags tend to reduce power.