I'm trying to implement cointegration tests using the R urca package. I've figured out the Johansen test (ca.jo), but I'm having trouble with the Philips-Ouliaris test (ca.po). I have two questions:
- How do I interpret the results?
- How do I get the cointegrating vectors (the B matrix)?
I understand how the test itself works, but I find the ca.po routine confusing. To give an example: First, I create a bivariate time series with a known cointegrating relation:
> x = cumsum(rnorm(100,1)) > y = -1*x + rnorm(n=100,mean=.1,sd=.1) > z = zoo(cbind(x,y))
In this case, the cointegrating vector,
B, should be close to
[1,1]. I run the test and, as expected, get a significant test statistic:
> a = ca.po(z, lag='long', demean='none', type='Pz')
The test statistic is 165.8306 and the 1% critical value is 55.1911. Good news. However, when I inspect the test object, I have trouble finding the cointegrating vector. Shouldn't it be in the
a@testreg slot? Here is what I find:
> a@testreg Response x : Call: lm(formula = x ~ zr - 1) Residuals: Min 1Q Median 3Q Max -1.8083 -0.4643 0.2463 0.9273 2.5340 Coefficients: Estimate Std. Error t value Pr(>|t|) zrx 1.6255 0.9331 1.742 0.0847 . zry 0.6111 0.9342 0.654 0.5146 Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 1.059 on 97 degrees of freedom Multiple R-squared: 0.9998, Adjusted R-squared: 0.9998 F-statistic: 2e+05 on 2 and 97 DF, p-value: < 2.2e-16
There is also another regression with
y on the left-hand side. Anyway, I am wondering what
zry correspond to? Are they elements of a vector
zr? I thought that the regression should only include
B2, and my cointegrating vector would be
[1, -B2]. Also, it is clear that these values do not really correspond to the true cointegrating vector
If I run the same cointegration test using ca.jo, I get
[1,1] without any trouble. Therefore, I am wondering how to interpret this ca.po test? Finally, I also was wondering how to access elements of the test regression in the ca.po object? For example,
> names(a@testreg)  "Response x" "Response y" > attributes(a@testreg) $names  "Response x" "Response y" $class  "listof"
So it's a little confusing. Anyway, thanks for the help! I really appreciate it!