Test Cointegrating Vectors
Tests on B answer questions about the space of cointegrating relations. The column vectors in B, estimated by jcitest
, do not uniquely define the cointegrating relations. Rather, they estimate a space of cointegrating relations, given by the span of the vectors. Tests on B allow you to determine if other potentially interesting relations lie in that space. When constructing constraints, interpret the rows and columns of the n-by- r matrix B as follows:
Row i of B contains the coefficients of variable in each of the r cointegrating relations.
Column j of B contains the coefficients of each of the n variables in cointegrating relation j.
One application of jcontest
is to pretest variables for their order of integration. At the start of any cointegration analysis, trending variables are typically tested for the presence of a unit root. These pretests can be carried out with combinations of standard unit root and stationarity tests such as adftest
, pptest
, kpsstest
, or lmctest
. Alternatively, jcontest
lets you carry out stationarity testing within the Johansen framework. To do so, specify a cointegrating vector that is 1 at the variable of interest and 0 elsewhere, and then test to see if that vector is in the space of cointegrating relations. The following tests all of the variables in Y
a single call:
load Data_Canada Y = Data(:,3:end); % Interest rate data [h0,pValue0] = jcontest(Y,1,'BVec',{[1 0 0]',[0 1 0]',[0 0 1]'})
h0 = 1x3 logical array
1 1 1
pValue0 = 1×3
10-3 ×
0.3368 0.1758 0.1310
The second input argument specifies a cointegration rank of 1, and the third and fourth input arguments are a parameter/value pair specifying tests of specific vectors in the space of cointegrating relations. The results strongly reject the null of stationarity for each of the variables, returning very small p-values.
Another common test of the space of cointegrating vectors is to see if certain combinations of variables suggested by economic theory are stationary. For example, it may be of interest to see if interest rates are cointegrated with various measures of inflation (and, via the Fisher equation, if real interest rates are stationary). In addition to the interest rates already examined, Data_Canada.mat
contains two measures of inflation, based on the CPI and the GDP deflator, respectively. To demonstrate the test procedure (without any presumption of having identified an adequate model), we first run jcitest
to determine the rank of B, then test the stationarity of a simple spread between the CPI inflation rate and the short-term interest rate:
y1 = Data(:,1); % CPI-based inflation rate YI = [y1,Y]; % Test if inflation is cointegrated with interest rates: [h,pValue] = jcitest(YI);
************************ Results Summary (Test 1) Data: YI Effective sample size: 40 Model: H1 Lags: 0 Statistic: trace Significance level: 0.05 r h stat cValue pValue eigVal ---------------------------------------- 0 1 58.0038 47.8564 0.0045 0.5532 1 0 25.7783 29.7976 0.1359 0.3218 2 0 10.2434 15.4948 0.2932 0.1375 3 1 4.3263 3.8415 0.0376 0.1025
% Test if y1 - y2 is stationary: [hB,pValueB] = jcontest(YI,1,'BCon',[1 -1 0 0]')
hB = logical
1
pValueB = 0.0242
The first test provides evidence of cointegration, and fails to reject a cointegration rank r = 1. The second test, assuming r = 1, rejects the hypothesized cointegrating relation. Of course, reliable economic inferences would need to include proper model selection, with corresponding settings for the 'model'
and other default parameters.