Skip to content
All library documents

Interpreting Johansen Cointegration Test Results

Article Quant Q&A · Author: user3126171

Summary

The document asks how to read Johansen cointegration test output for two stocks and whether cointegration implies a mean-reverting pair. It presents an initial result indicating one rejected rank hypothesis, followed by a detailed trace-test output where both reported hypotheses have h values of false and p-values above the stated significance level. In the latter output, the sample does not reject the tested null hypotheses at that level.

The answer asserts that there is one cointegrating relationship, but does not explain how that conclusion follows from the displayed results, which appear to conflict with it. The post provides little interpretation of the trace statistic, p-values, or rank sequence, and it does not establish a trading strategy. Even evidence of cointegration would not by itself show that a spread is a profitable or reliably mean-reverting trade; model choices, residual behavior, and out-of-sample checks matter.

Key ideas

  • The Johansen procedure tests hypotheses about the number of cointegrating relationships among time series.
  • An h value of false indicates that the corresponding null hypothesis was not rejected at the selected significance level.
  • The detailed output reports p-values above the stated level for both rank hypotheses.
  • The answer’s claim of one relationship is not reconciled with the displayed detailed results.
  • A cointegration test alone does not establish a profitable mean-reversion strategy.

Tags

Full text
# Johansen Cointegration Test


# Johansen Cointegration Test












I just performed a Johansen Co-integration test on two stocks.

The results I get are:

ans =

```
      r0       r1   
t1    true     false
```

I am using Matlab. Can someone interpret these for me?

If I have understood the test properly, they are a good correlated pair. With Mean reversion.

Are they mean reverting?

Also, I have read about stationary pairs but the technical definition is a bit confusing. If possible can someone help point me in the direction to a simpler explanation? Or may be a book to start off?

Did the test again with the following result:

```
>> [h,pValue,stat,cValue,mles] = jcitest(Y)
```

Results Summary (Test 1)

```
Data: Y
Effective sample size: 229
Model: H1
Lags: 0
Statistic: trace
Significance level: 0.05

r  h  stat      cValue   pValue   eigVal   
========================================
0  0  9.6981    15.4948  0.3467   0.0411  
1  0  0.0979    3.8415   0.7872   0.0004
```

h =

```
      r0       r1   
t1    false    false
```

pValue =

```
      r0         r1     
t1    0.34672    0.78721
```

stat =

```
      r0        r1      
t1    9.6981    0.097852
```

cValue =

```
      r0        r1    
t1    15.495    3.8415
```

mles =

```
      r0              r1          
t1    [1x1 struct]    [1x1 struct]
```

I am trying to understand whether h=0 implies no cointegration? What exactly does the pValue tell us?

In short still trying to understand how exactly to interpret the results.

I will get onto generating the eigenvalues. And trying to understand them after this part gets clear.

I don't have the advantage of attending school at the moment and understanding this is very difficult.

## Answer by John (score 1)

https://quant.stackexchange.com/a/14301

Assuming you're using http://www.mathworks.com/help/econ/jcitest.html, there is 1 cointegrating relationship. The function can also output p-values.

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.