Many thanks Achim, much appreciated.

A simple, naive implementation of granger testing (see the R code below) 
which does not explicitly accont for collinearities appears to give the 
same results as the implementation in MSBVAR, so presumably, they do 
something similar.

> granger <-function(d, L, k = 1) 
> {
> #d is a bivariate time-series:  regress d[,k] on L lags of d[,1] and
> #d[,2]. This is a modified version for R, in which the command
> #ts.matrix was
> substituted by ts.intersect.
> names.d <- dimnames(d)[[2]]
> D <- d
> for(i in 1:L) 
> {
> D <-ts.intersect(D, lag(d,  - i))
> }
> dimnames(D)[[2]] <- paste(rep(names.d, L + 1), "_", rep(0:L, times =
> rep(2, L+ 1)), sep = "")
> y  <- D[, k]
> n  <- length(y)
> x1 <- D[,  - (1:2)]
> x0 <- x1[, ((1:L) * 2) - (k %% 2)]
> z1 <- lm(y ~ x1)
> z0 <- lm(y ~ x0)
> S1 <- sum(z1$resid^2)
> S0 <- sum(z0$resid^2)
> ftest <- ((S0 - S1)/L)/(S1/(n - 2 * L - 1))
> list(ftest = ftest, p.val = 1 - pf(ftest, L, n - 2 * L - 1), R2 =
> summary(z1)$r.squared)
> }
> 
> gr<-function(d,L) 
> # this loops grangers' p.val for L days, 
> {
>       m<-matrix(nrow=L)
>       for(i in 1:L)
>       {
> m[i]<-granger(d,i)$p.val-granger(array(c(d[,2],d[,1]),dim(d)),
>               i)$p.val
>       }
>       m
> }






Achim Zeileis <Achim.Zeileis@wu-wien.ac.at> 
17/08/2008 23:33

To
tolga.i.uzuner@jpmorgan.com
cc
R-help@R-project.org
Subject
Re: grangertest/lmtest ... what am I doing wrong ?






On Sun, 17 Aug 2008, tolga.i.uzuner@jpmorgan.com wrote:

> Dear Achim, R Users,
>
> What am I doing wrong in this example ?

The Granger test of x and y with lag k tests the significance of the x 
variables in
   y ~ Lags(y, 1:k) + Lags(x, 1:k)
If x is already a lag of y (as in your example), this is not really 
meaningful. In the "lmtest" implementation, it leads to collinearities. 
I'm not sure what MSBVAR does to resolve that.
Z

> a<-zoo(rnorm(100),order.by=1:100)
> b<-lag(a)
> regr<-na.exclude(merge(a,b))
> plot(regr)
> grangertest(regr[,1],regr[,2],3)
>
>> a<-zoo(rnorm(100),order.by=1:100)
>> b<-lag(a)
>> regr<-na.exclude(merge(a,b))
>> plot(regr)
>> grangertest(regr[,1],regr[,2],3)
> Error in solve(vc[ovar, ovar]) : subscript out of bounds
>>
>
> This works fine in granger.test from the MSBVAR package:
>
>> a<-zoo(rnorm(100),order.by=1:100)
>> b<-lag(a)
>> regr<-na.exclude(merge(a,b))
>> plot(regr)
>> granger.test(regr,3)
>        F-statistic   p-value
> b -> a 1.259314e+34 0.0000000
> a -> b 6.167865e-01 0.6059222
>>
>
> Thanks in advance,
> Tolga
>
> Generally, this communication is for informational purposes only
> and it is not intended as an offer or solicitation for the purchase
> or sale of any financial instrument or as an official confirmation
> of any transaction. In the event you are receiving the offering
> materials attached below related to your interest in hedge funds or
> private equity, this communication may be intended as an offer or
> solicitation for the purchase or sale of such fund(s).  All market
> prices, data and other information are not warranted as to
> completeness or accuracy and are subject to change without notice.
> Any comments or statements made herein do not necessarily reflect
> those of JPMorgan Chase & Co., its subsidiaries and affiliates.
>
> This transmission may contain information that is privileged,
> confidential, legally privileged, and/or exempt from disclosure
> under applicable law. If you are not the intended recipient, you
> are hereby notified that any disclosure, copying, distribution, or
> use of the information contained herein (including any reliance
> thereon) is STRICTLY PROHIBITED. Although this transmission and any
> attachments are believed to be free of any virus or other defect
> that might affect any computer system into which it is received and
> opened, it is the responsibility of the recipient to ensure that it
> is virus free and no responsibility is accepted by JPMorgan Chase &
> Co., its subsidiaries and affiliates, as applicable, for any loss
> or damage arising in any way from its use. If you received this
> transmission in error, please immediately contact the sender and
> destroy the material in its entirety, whether in electronic or hard
> copy format. Thank you.
> Please refer to http://www.jpmorgan.com/pages/disclosures for
> disclosures relating to UK legal entities.



Generally, this communication is for informational purposes only
and it is not intended as an offer or solicitation for the purchase
or sale of any financial instrument or as an official confirmation
of any transaction. In the event you are receiving the offering
materials attached below related to your interest in hedge funds or
private equity, this communication may be intended as an offer or
solicitation for the purchase or sale of such fund(s).  All market
prices, data and other information are not warranted as to
completeness or accuracy and are subject to change without notice.
Any comments or statements made herein do not necessarily reflect
those of JPMorgan Chase & Co., its subsidiaries and affiliates.

This transmission may contain information that is privileged,
confidential, legally privileged, and/or exempt from disclosure
under applicable law. If you are not the intended recipient, you
are hereby notified that any disclosure, copying, distribution, or
use of the information contained herein (including any reliance
thereon) is STRICTLY PROHIBITED. Although this transmission and any
attachments are believed to be free of any virus or other defect
that might affect any computer system into which it is received and
opened, it is the responsibility of the recipient to ensure that it
is virus free and no responsibility is accepted by JPMorgan Chase &
Co., its subsidiaries and affiliates, as applicable, for any loss
or damage arising in any way from its use. If you received this
transmission in error, please immediately contact the sender and
destroy the material in its entirety, whether in electronic or hard
copy format. Thank you.
Please refer to http://www.jpmorgan.com/pages/disclosures for
disclosures relating to UK legal entities.
	[[alternative HTML version deleted]]

