Page 1 of 1

Granger Causality Test in VECM

Posted: Sun Jun 08, 2014 4:14 am
by jeanne
Dear all,

I am estimating the follwoing VECM where x is a spot price and y the corresponding futures price.

Code: Select all

@JOHMLE(LAGS=10,det=rc,cv=cvector)
# x y 

equation(coeffs=cvector) eq
# x y constant

system(model=vecm)
variables x y 
lags 1 to 10
ect eq
end(system)

estimate

I would now like to use Granger causality tests to examine the coefficients on the error correction term(s) and the coefficients on the lagged spot and futures prices.

I tried to use this test from the UG:
linreg fm1
# constant fm1{1 to 8} gdph{1 to 8}
exclude(title="Granger Causality Test")
# gdph{1 to 8}
... and got this error message:
## REG1. Cannot Execute Unless Preceded by a Completed Regression
How can I adapt it to the VECM output, which is "split" into two sections, one for x and one for y being the dependent variable?

Thank you very much!
Best,
Jeanne

Re: Granger Causality Test in VECM

Posted: Sun Jun 08, 2014 8:18 am
by TomDoan
Given the cointegrating vector, the equations can be estimated one-at-a-time, and you can do the causality inference on that basis.

Why are you estimating the cointegrating vector? Shouldn't it be 1,-1 if it's anything? However, as you have it written, you would do:

Code: Select all

set z = cvector(1)*x+cvector(2)*y+cvector(3)
set dx = x-x{1}
set dy = y-y{1}
*
linreg dy
# dy{1 to 9} dx{1 to 9} z{1}
and do a joint test of the dx and z lags.

Re: Granger Causality Test in VECM

Posted: Mon Jun 09, 2014 1:23 am
by jeanne
Thank you very much! That works fine - but the results seem a bit odd.
How can I use the cointegrating vector (1; -1) as you suggested instead?

Re: Granger Causality Test in VECM

Posted: Mon Jun 09, 2014 7:21 am
by TomDoan
Use

set z = y-x

with everything else the same.