Interpreting Johansen Cointegration Test Output
Summary
The document explains key parts of Johansen trace-test output for assessing cointegration in a vector time series. It identifies the loading matrix as alpha and describes comparing trace statistics with critical values under successive rank hypotheses. In the example, neither null is rejected at the reported significance levels; the answer emphasizes that failure to reject does not prove the null is true.
It also notes that the choice of deterministic terms, such as an intercept, changes the model and test statistics, and that individual series do not need to be pretested as I(1) in the same way as in Engle-Granger procedures. The response recommends understanding the method before applying it. Its explanation is brief: it does not fully interpret the estimated cointegration vectors or loading coefficients, and its distribution description should be treated cautiously because Johansen critical values depend on the deterministic specification.
Key ideas
- The Johansen trace statistic is compared with critical values for null hypotheses about cointegration rank.
- Failure to reject a rank hypothesis does not establish that the hypothesis is true.
- The loading matrix is commonly denoted alpha and describes how variables respond to deviations from cointegrating relations.
- Deterministic terms such as an intercept affect the model specification and the test statistics.
- Johansen testing does not require the same preliminary individual-series unit-root testing step as Engle-Granger methods.
Tags
Full text
# How to interpret results of Johansen Test?
# How to interpret results of Johansen Test?
I have two time-series a & b. The objective is to find out whether two series are cointegrated or not. I am using Johansen Test in R to find this out.
I am using urca package of R.
Here is the summary of test (trace test with constant intercept): ca.jo(cbind(a,b), type="trace", ecdet = "const", K = 2, spec ="longrun")
Summary:
### Johansen-Procedure
Test type: trace statistic , without linear trend and constant in cointegration
Eigenvalues (lambda):
```
[1] 1.729720e-02 4.118294e-03 1.294090e-19
```
Values of teststatistic and critical values of test:
```
test 10pct 5pct 1pct
r <= 1 | 2.46 7.52 9.24 12.97
r = 0 | 12.88 17.85 19.96 24.60
```
Eigenvectors, normalised to first column: (These are the cointegration relations)
```
a.l2 b.l2 constant
a.l2 1.000000 1.0000000 1.000000
b.l2 -3.662895 0.6463026 1.725186
```
constant 1135.666923 -2889.4155208 -7862.128714
Weights W: (This is the loading matrix)
```
a.l2 b.l2 constant
a.d 0.002621493 -0.006226421 1.245608e-18
b.d 0.010169925 -0.001446919 2.187151e-18
```
Now my question how to interpret this result and determine whether a & b are cointegrated or not? What is a loading matrix in a cointegration test? How to interpret the critical values? How to determine whether to keep a constant intercept or zero intercept? Do I need to check individual series is an I(1) series before running johansen test?
There is a similar question which has been asked before here but it didn't answer my question completely.
## Answer by Zarbouzou (score 6, accepted)
https://quant.stackexchange.com/a/3527
Some of your question was already answered on the question you mention. Please read it carefully to understand better. In particular it answers very well how to conclude if there is co-integration or not. Also note that this question is not really relevant here both on level and subject (It is a pure statistical question and can be asked on stats.stackexchange.com). If you need more detail and proofs on that subject you could read Johansen seminal article: Estimation and Hypothesis Testing of Cointegration Vectors in Gaussian Vector Autoregressive Models. (It is very technical though)
Now Let's take the other one by one.
1/The loading matrix is the matrix generaly reffered to as alpha (Check urca documentation).
2/ The critical values: If the null hypothesis (r=0, r<=1) is verified your test statistic follows a known distribution. Given the cumulative distribution you can find where lie 90%, 95%, 99% of the values. Here under the null your test statistic (the trace) is distributed a chi^2. Therefore if it's value is greater than some of the critical values you can reject the null at this confidence. Obviously in your case you cannot reject anything at any confidence (doesn't mean that you proved the null is verified). I'm not telling you if this means co-integration or not as it is much better that you find that out for yourself.
3/ I'm not so sure about the intercept (in the VECM) but it is critical as it corresponds to a deterministic trend in the VAR representation and changes your test statistics. I suppose you could first fit a model with th intercept and test for it's significance. My belief is that deterministic trend is not very probable with financial time series.
4/ Contrary to the tests (ADF and others) based on Engle and Granger methodology you do not need to test if your series are I(1) previously as this is one of the null in your trace test. Chek which one in the previous question you mentioned.
As a rule I think anyone should try to apply : Don't use a statistical method if you don't understand it.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.