Johansen cointegration test
[h,pValue,stat,cValue,mles] = jcitest(Y,Name,Value)
Johansen tests assess the null hypothesis H(r) of cointegration rank less than or equal to r among the numDims-dimensional time series in Y against alternatives H(numDims) (trace test) or H(r+1) (maxeig test). The tests also produce maximum likelihood estimates of the parameters in a vector error-correction (VEC) model of the cointegrated series.
numObs-by-numDims matrix representing numObs observations of a numDims-dimensional time series yt, with the last observation the most recent. Y cannot have more than 12 columns. Observations containing NaN values are removed. Initial values for lagged variables in VEC model estimation are taken from the beginning of the data.
Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.
String or cell vector of strings specifying the form of the deterministic components of the VEC(q) model of yt:
If r < numDims is the cointegration rank, then C = AB′ where A is a numDims-by-r matrix of error-correction speeds and B is a numDims-by-r matrix of basis vectors for the space of cointegrating relations. X contains any exogenous terms representing deterministic trends in the data. For maximum likelihood estimation, it is assumed that εt ~ NID(0,Q), where Q is the innovations covariance matrix.
Values of model are those considered by Johansen :
Deterministic terms outside of the cointegrating relations, c1 and d1, are identified by projecting constant and linear regression coefficients, respectively, onto the orthogonal complement of A.
Scalar or vector of nonnegative integers indicating the number q of lagged differences in the VEC(q) model of y(t).
Lagging and differencing a time series reduce the sample size. Absent any presample values, if y(t) is defined for t = 1:N, then the lagged series y(t−k) is defined for t = k+1:N. Differencing reduces the time base to k+2:N. With q lagged differences, the common time base is q+2:N and the effective sample size is T = N−(q+1).
String or cell vector of strings indicating the type of test to be performed. Values are trace or maxeig. The default value is trace. Both tests asses the null hypothesis H(r) of cointegration rank less than or equal to r. Statistics are computed using the effective sample size T and ordered estimates of the eigenvalues of C = AB′, λ1 > ... > λnumDims.
Scalar or vector of nominal significance levels for the tests. Values must be between 0.001 and 0.999.
String or cell vector of strings indicating whether or not to display a summary of test results and parameter estimates in the Command Window. Values are:
Scalar or single string values are expanded to the length of any vector value (the number of tests). Vector values must have equal length.
Boolean decisions for the tests. Values of h equal to 1 (true) indicate rejection of the null of cointegration rank r in favor of the alternative. Values of h equal to 0 (false) indicate a failure to reject the null.
Right-tail probabilities of the test statistics.
Test statistics, determined by the test parameter.
Critical values for right-tail probabilities, determined by the alpha parameter. jcitest loads tables of critical values from the file Data_JCITest.mat, then linearly interpolates test-critical values from the tables. Tabulated values were computed using methods described in .
Structures of maximum likelihood estimates associated with the VEC(q) model of y(t). Each structure has these fields:
Load data on term structure of interest rates in Canada:
load Data_Canada Y = Data(:,3:end); names = series(3:end); plot(dates,Y) legend(names,'location','NW') grid on
Test for cointegration:
[h,pValue,stat,cValue,mles] = jcitest(Y,'model','H1'); h,pValue
************************ Results Summary (Test 1) Data: Y Effective sample size: 40 Model: H1 Lags: 0 Statistic: trace Significance level: 0.05 r h stat cValue pValue eigVal ---------------------------------------- 0 1 37.6886 29.7976 0.0050 0.4101 1 1 16.5770 15.4948 0.0343 0.2842 2 0 3.2003 3.8415 0.0737 0.0769 h = r0 r1 r2 t1 true true false pValue = r0 r1 r2 t1 0.0050497 0.034294 0.073661
Plot estimated cointegrating relations :
YLag = Y(2:end,:); T = size(YLag,1); B = mles.r2.paramVals.B; c0 = mles.r2.paramVals.c0; plot(dates(2:end),YLag*B+repmat(c0',T,1)) grid on
Time series in Y might be stationary in levels or first differences (i.e., I(0) or I(1)). Rather than pretesting series for unit roots (using, e.g., adftest, pptest, kpsstest, or lmctest), the Johansen procedure formulates the question within the model. An I(0) series is associated with a standard unit vector in the space of cointegrating relations, and its presence can be tested using jcontest.
If jcitest fails to reject the null of cointegration rank r = 0, the inference is that the error-correction coefficient C is zero, and the VEC(q) model reduces to a standard VAR(q) model in first differences. If jcitest rejects all cointegration ranks r less than numDims, the inference is that C has full rank, and y(t) is stationary in levels.
The parameters A and B in the reduced-rank VEC(q) model are not uniquely identified, though their product C = AB′ is. jcitest constructs B = V(:,1:r) using the orthonormal eigenvectors V returned by eig, then renormalizes so that V'*S11*V = I, as in .
To test linear constraints on the error-correction speeds A and the space of cointegrating relations spanned by B, use jcontest.
 Hamilton, J. D. Time Series Analysis. Princeton, NJ: Princeton University Press, 1994.
 Johansen, S. Likelihood-Based Inference in Cointegrated Vector Autoregressive Models. Oxford: Oxford University Press, 1995.
 MacKinnon, J. G., A. A. Haug, and L. Michelis. "Numerical Distribution Functions of Likelihood Ratio Tests for Cointegration." Journal of Applied Econometrics. v. 14, 1999, pp. 563–577.
 Turner, P. M. "Testing for Cointegration Using the Johansen Approach: Are We Using the Correct Critical Values?" Journal of Applied Econometrics. v. 24, 2009, pp. 825–831.