Here is a snippet from an example in the package urca:-

> library(urca)
> example(ca.jo)

ca.jo> data(denmark)

ca.jo> sjd <- denmark[, c("LRM", "LRY", "IBO", "IDE")]

ca.jo> sjd.vecm <- ca.jo(sjd, ecdet = "const", type="eigen", K=2, spec="longrun",
ca.jo+ season=4)

ca.jo> summary(sjd.vecm)

# Johansen-Procedure # 

Test type: maximal eigenvalue statistic (lambda max) , without linear   trend and constant in cointegration 

Eigenvalues (lambda):
[1] 4.331654e-01 1.775836e-01 1.127905e-01 4.341130e-02 4.456251e-16

Values of teststatistic and critical values of test:

          test 10pct  5pct  1pct
r <= 3 |  2.35  7.52  9.24 12.97
r <= 2 |  6.34 13.75 15.67 20.20
r <= 1 | 10.36 19.77 22.00 26.81
r = 0  | 30.09 25.56 28.14 33.24

Eigenvectors, normalised to first column:
(These are the cointegration relations)

            LRM.l2     LRY.l2     IBO.l2     IDE.l2   constant
LRM.l2    1.000000  1.0000000  1.0000000   1.000000  1.0000000
LRY.l2   -1.032949 -1.3681031 -3.2266580  -1.883625 -0.6336946
IBO.l2    5.206919  0.2429825  0.5382847  24.399487  1.6965828
IDE.l2   -4.215879  6.8411103 -5.6473903 -14.298037 -1.8951589
constant -6.059932 -4.2708474  7.8963696  -2.263224 -8.0330127

Weights W:
   (This is the loading matrix)

           LRM.l2      LRY.l2       IBO.l2        IDE.l2      constant
    LRM.d -0.21295494 -0.00481498  0.035011128  2.028908e-03  5.124468e-13
    LRY.d  0.11502204  0.01975028  0.049938460  1.108654e-03 -1.187639e-13
    IBO.d  0.02317724 -0.01059605  0.003480357 -1.573742e-03 -3.622640e-14
    IDE.d  0.02941109 -0.03022917 -0.002811506 -4.767627e-05 -5.543456e-14

My query is with reference to the 2 matrices. I understand that the first one gives the cointegrating relationships while the second one gives the speed of mean reversion. Why does it show LRM.l2,LRY.l2,IBO.l2,IDE.l2 in the first matrix ? Should it not say LRM / LRY / IBO / IDE , why does it say lag 2 ? Similarly for the second matrix ? I am new to this kind of analysis and am confused by the names.


1 Answer 1


Consider a VAR with k I(1) variables $\mathbf{X_t}$ and $p$ lags . If there is cointegration the VAR can be written

$$\mathbf{X_t} = \sum_{i=1}^p \mathbf{\Pi_iX_t + \varepsilon_t} $$

subject to certain restrictions on the $\mathbf{\Pi_i}$. These restrictions can be resolved by writing the VAR in VECM format. There are two VECM formats. In urca the first is called by ca.jo using spec="longrun". This formulation was usually used by Johansen and others when the methodology was being developed. It is still valid today but the second is more usual in many test books. The first is given by is given by

$$\mathbf{\Delta X_t} = \sum_{i=1}^{p-1} \mathbf{\Gamma_i \Delta X_t + \mathbf{\Pi X_{t-p}} + \mathbf{\varepsilon_t}}$$

The restrictions on the $\mathbf{\Pi_i}$ matrices, due to cointegration are accounted for by the fact that $\mathbf{\Pi}$ is not of full rank.

The weights W is an estimate of the $\mathbf{\Pi}$ matrix in this formulation. The 2 in the titles is the value of p in the example.

The second formulation uses spec="transitory" option in the ca.jo function

$$\mathbf{\Delta X_t} = \mathbf{\Pi X_{t-1}} + \sum_{i=1}^{p-1} \mathbf{\Theta_i \Delta X_t + \mathbf{\varepsilon_t}}$$

The estimate of $\mathbf{\Pi}$, trace statistics, maximum eigenvalue statistics and inference in general is the same in both formulations. The short-term adjustment matrices differ. I presume that Bernhard Pfaff choose the first formulation as default because it was used in many of the published papers.

I have left out many details in this explanation. If you would like more details I would recommend that you consult Pfaff, Bernhard (2008), Analysis of Integrated and Cointegrated Time Series with R, Springer. This was written by the author of the package and is a useful reference for a user.


Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.