# [R-sig-finance] Puzzled on a granger causality situation

Ajay Narottam Shah ajayshah at mayin.org
Thu Aug 11 07:28:46 CEST 2005

```This is not really an R question, but it will be great if someone can
help me understand the situation it will be great. :-)

I am doing a simple granger causality test in a bivariate setting,
with two variables named "fii" and "rM".

On one hand, when I use grangertest() from lmtest, I get:

Model 1: fii ~ Lags(fii, 1:5) + Lags(rM, 1:5)
Model 2: fii ~ Lags(fii, 1:5)
Res.Df  Df      F  Pr(>F)
1    634
2    639   5 2.5439 0.02718 *

Model 1: rM ~ Lags(rM, 1:5) + Lags(fii, 1:5)
Model 2: rM ~ Lags(rM, 1:5)
Res.Df  Df      F Pr(>F)
1    634
2    639   5 1.2481 0.2850

which seems to suggest that `rM' does granger-cause `fii' but not the
over way around.

But, when I look at OLS estimates of a model explaining `rM', I get
something different. I am using the variable names like `rM.l2' for
"rM lagged by 2", and so on.

Call:
lm(formula = rM ~ rM.l1 + rM.l2 + rM.l3 + rM.l4 + rM.l5 + fii.l1 +
fii.l2 + fii.l3 + fii.l4 + fii.l5)

Residuals:
Min       1Q   Median       3Q      Max
-11.0345  -0.7043   0.1124   0.8122   8.1185

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept)  8.914e-02  6.871e-02   1.297  0.19499
rM.l1        1.199e-01  4.034e-02   2.972  0.00307 **
rM.l2       -1.618e-01  4.077e-02  -3.969 8.03e-05 ***
rM.l3        5.857e-02  4.124e-02   1.420  0.15601
rM.l4        7.337e-02  4.070e-02   1.803  0.07192 .
rM.l5       -4.726e-02  4.065e-02  -1.163  0.24546
fii.l1       3.785e-04  1.874e-04   2.019  0.04389 *
fii.l2       8.979e-05  1.909e-04   0.470  0.63822
fii.l3      -6.184e-05  1.890e-04  -0.327  0.74366
fii.l4       1.075e-04  1.902e-04   0.565  0.57218
fii.l5      -2.272e-04  1.858e-04  -1.223  0.22186
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.388 on 634 degrees of freedom
Multiple R-Squared: 0.05906,	Adjusted R-squared: 0.04422
F-statistic:  3.98 on 10 and 634 DF,  p-value: 2.707e-05

Here I see that the coefficient of fii.l1 is teetering on the edge of
significance (t=2.019).

My question is: Why is it that grangertest(), which is a joint test
of fii.l1=fii.l2=fii.l3=fii.l4=fii.l5=0, giving a different answer
from just looking at the coefficient fii.l1?

Finally, an R question: in the context of lm(), how does one do a test
of a set of general linear restrictions?

--
Ajay Shah                                                   Consultant
ajayshah at mayin.org                      Department of Economic Affairs
http://www.mayin.org/ajayshah           Ministry of Finance, New Delhi

```