Documentation |
Johansen cointegration test
[h,pValue,stat,cValue,mles]
= jcitest(Y)
[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.
[h,pValue,stat,cValue,mles] = jcitest(Y) performs the Johansen cointegration test on a data matrix Y.
[h,pValue,stat,cValue,mles] = jcitest(Y,Name,Value) performs the Johansen cointegration test on a data matrix Y with additional options specified by one or more Name,Value pair arguments.
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.
'model' |
String or cell vector of strings specifying the form of the deterministic components of the VEC(q) model of y_{t}: $$\Delta {y}_{t}=C{y}_{t-1}+{B}_{1}\Delta {y}_{t-1}+\dots +{B}_{q}\Delta {y}_{t-q}+DX+{\epsilon}_{t}$$ 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 [2].
Deterministic terms outside of the cointegrating relations, c_{1} and d_{1}, are identified by projecting constant and linear regression coefficients, respectively, onto the orthogonal complement of A. | ||||||||||||
'lags' |
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). Default: 0 | ||||||||||||
'test' |
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 assess 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} > ... > λ_{d}, where d = numDims.
| ||||||||||||
'alpha' |
Scalar or vector of nominal significance levels for the tests. Values must be between 0.001 and 0.999. Default: 0.05 | ||||||||||||
'display' |
String or cell vector of strings indicating whether or not to display a summary of test results and parameter estimates in the Command Window.
Scalar or single string values are expanded to the length of any vector value (the number of tests). Vector values must have equal length. |
h |
numTests-by-numDims tabular array of Boolean decisions for the tests. Rows of h correspond to tests specified by the input arguments, and the software labels the rows t1,t2,...,tu, where u = numTests. Variables of h correspond to different, maintained cointegration ranks r = 0,...,numDims – 1, and the software labels the variables r0,r1,...,rR, where R = numDims – 1. To access results stored in h, for example, the result for test m of null rank n, use h.rn(m). 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. | ||||||||||||||||||
pValue |
numTests-by-numDims tabular array of right-tail probabilities of the test statistics. Rows of pValue correspond to tests specified by the input arguments, and the software labels the rows t1,t2,...,tu, where u = numTests. Variables of pValue correspond to different, maintained cointegration ranks r = 0,...,numDims – 1, and the software labels the variables r0,r1,...,rR, where R = numDims – 1. To access results stored in pValue, for example, the result for test m of null rank n, use pValue.rn(m). | ||||||||||||||||||
stat |
numTests-by-numDims tabular array of test statistics, determined by the test name-value pair argument. Rows of stat correspond to tests specified by the input arguments, and the software labels the rows t1,t2,...,tu, where u = numTests. Variables of stat correspond to different, maintained cointegration ranks r = 0,...,numDims – 1, and the software labels the variables r0,r1,...,rR, where R = numDims – 1. To access results stored in stat, for example, the result for test m of null rank n, use stat.rn(m). | ||||||||||||||||||
cValue |
numTests-by-numDims tabular array of critical values for right-tail probabilities, determined by the alpha name-value pair argument. 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 [3]. Rows of cValue correspond to tests specified by the input arguments, and the software labels the rows t1,t2,...,tu, where u = numTests. Variables of cValue correspond to different, maintained cointegration ranks r = 0,...,numDims – 1, and the software labels the variables r0,r1,...,rR, where R = numDims – 1. To access results stored in cValue, for example, the result for test m of null rank n, use cValue.rn(m). | ||||||||||||||||||
mles |
numTests-by-numDims tabular array of structures of maximum likelihood estimates associated with the VEC(q) model of y_{t}. Each structure contains these fields.
Rows of mles correspond to tests specified by the input arguments, and the software labels the rows t1,t2,...,tu, where u = numTests. Variables of mles correspond to different, maintained cointegration ranks r = 0,...,numDims – 1, and the software labels the variables r0,r1,...,rR, where R = numDims – 1. To access results stored in mles, for example, the result for test m of null rank n, use mles.rn(m). You can further access the fields of the structure using dot notation, for example, enter mles.rn(m).paramNames for the parameter names. |
[1] Hamilton, J. D. Time Series Analysis. Princeton, NJ: Princeton University Press, 1994.
[2] Johansen, S. Likelihood-Based Inference in Cointegrated Vector Autoregressive Models. Oxford: Oxford University Press, 1995.
[3] 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.
[4] 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.