Johansen Procedure for VAR

View source: R/ca-jo.R

ca.joR Documentation

Johansen Procedure for VAR


Conducts the Johansen procedure on a given data set. The "trace" or "eigen" statistics are reported and the matrix of eigenvectors as well as the loading matrix.

Usage, type = c("eigen", "trace"), ecdet = c("none", "const", "trend"), K = 2,
spec=c("longrun", "transitory"), season = NULL, dumvar = NULL)



Data matrix to be investigated for cointegration.


The test to be conducted, either ‘eigen’ or ‘trace’.


Character, ‘none’ for no intercept in cointegration, ‘const’ for constant term in cointegration and ‘trend’ for trend variable in cointegration.


The lag order of the series (levels) in the VAR.


Determines the specification of the VECM, see details below.


If seasonal dummies should be included, the data frequency must be set accordingly, i.e ‘4’ for quarterly data.


If dummy variables should be included, a matrix with row dimension equal to x can be provided.


Given a general VAR of the form:

\bold{X}_t = \bold{Π}_1 \bold{X}_{t-1} + … + \bold{Π}_k \bold{X}_{t-k} + \bold{μ} + \bold{Φ D}_t + \bold{\varepsilon}_t , \quad (t = 1, …, T),

the following two specifications of a VECM exist:

Δ \bold{X}_t = \bold{Γ}_1 Δ \bold{X}_{t-1} + … + \bold{Γ}_{k-1} Δ \bold{X}_{t-k+1} + \bold{Π X}_{t-k} + \bold{μ} + \bold{Φ D}_t + \bold{\varepsilon}_t


\bold{Γ}_i = - (\bold{I} - \bold{Π}_1 - … - \bold{Π}_i), \quad (i = 1, … , k-1),


\bold{Π} = -(\bold{I} - \bold{Π}_1 - … - \bold{Π}_k)

The \bold{Γ}_i matrices contain the cumulative long-run impacts, hence if spec="longrun" is choosen, the above VECM is estimated.

The other VECM specification is of the form:

Δ \bold{X}_t = \bold{Γ}_1 Δ \bold{X}_{t-1} + … + \bold{Γ}_{k-1} Δ \bold{X}_{t-k+1} + \bold{Π X}_{t-1} + \bold{μ} + \bold{Φ D}_t + \bold{\varepsilon}_t


\bold{Γ}_i = - (\bold{Π}_{i+1} + … + \bold{Π}_k), \quad(i = 1, … , k-1),


\bold{Π} = -(\bold{I} - \bold{Π}_1 - … - \bold{Π}_k).

The \bold{Π} matrix is the same as in the first specification. However, the \bold{Γ}_i matrices now differ, in the sense that they measure transitory effects, hence by setting spec="transitory" the second VECM form is estimated. Please note that inferences drawn on \bold{Π} will be the same, regardless which specification is choosen and that the explanatory power is the same, too.

If "season" is not NULL, centered seasonal dummy variables are included.

If "dumvar" is not NULL, a matrix of dummy variables is included in the VECM. Please note, that the number of rows of the matrix containing the dummy variables must be equal to the row number of x.

Critical values are only reported for systems with less than 11 variables and are taken from Osterwald-Lenum.


An object of class


Bernhard Pfaff


Johansen, S. (1988), Statistical Analysis of Cointegration Vectors, Journal of Economic Dynamics and Control, 12, 231–254.

Johansen, S. and Juselius, K. (1990), Maximum Likelihood Estimation and Inference on Cointegration – with Applications to the Demand for Money, Oxford Bulletin of Economics and Statistics, 52, 2, 169–210.

Johansen, S. (1991), Estimation and Hypothesis Testing of Cointegration Vectors in Gaussian Vector Autoregressive Models, Econometrica, Vol. 59, No. 6, 1551–1580.

Osterwald-Lenum, M. (1992), A Note with Quantiles of the Asymptotic Distribution of the Maximum Likelihood Cointegration Rank Test Statistics, Oxford Bulletin of Economics and Statistics, 55, 3, 461–472.

See Also

plotres, alrtest, ablrtest, blrtest, cajolst, cajools, lttest, and urca-class.


sjd <- denmark[, c("LRM", "LRY", "IBO", "IDE")]
sjd.vecm <-, ecdet = "const", type="eigen", K=2, spec="longrun",
sjf <- finland
sjf.vecm <-, ecdet = "none", type="eigen", K=2,
spec="longrun", season=4)

urca documentation built on Aug. 30, 2022, 1:10 a.m.

Related to in urca...