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:

  1. How do I interpret the results?
  2. 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 :

lm(formula = x ~ zr - 1)

Min      1Q  Median      3Q     Max 
-1.8083 -0.4643  0.2463  0.9273  2.5340 

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 zrx and 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 [1,1].

If I run the same cointegration test using ca.jo, I get B = [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)

    [1] "Response x" "Response y"

> attributes(a@testreg)

    [1] "Response x" "Response y"

    [1] "listof"

So it's a little confusing. Anyway, thanks for the help! I really appreciate it!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.