[R-SIG-Finance] Testing for cointegration: Johansen vs Dickey-Fuller

markleeds at verizon.net markleeds at verizon.net
Sat Jan 10 00:04:14 CET 2009


Hi Brian:  in both instances ( ADF and Johansen ) the unit root in each 
series needs to be checked first because if there's not a unit root in 
both of them then neither test applies.  But I don't think ( or atleast 
I  don't remember. it's been a while ) that has anything to do with the 
conflicting testing results between the two approaches.

In fact, if you use DF to test for cointegration ( after you find a unit 
root in each series ), you can switch Y and X and get different answers 
just doing that. The DF results themselves can depend on what one 
defines as the response and the predictor. Johansen atleast doesn't have 
that problem but I always found DF ( I think they call it Engle-Granger 
to not confuse thre DF pretesting for the unit root with the 
cointegration test ) A LOT more indersatandable and intuitive.

Also, thanks for pointig out that Bernhard has an updated book. The 
first edition was great so
I'm sure the second one will be also.






On Fri, Jan 9, 2009 at  5:22 PM, Brian G. Peterson wrote:

> I'll look when I get home, but if I recall correctly, you need to 
> check the unit root first.  Bernhard's book is definitely the best 
> reference, and the new edition expands substantially onn the previous 
> version.
>
> markleeds at verizon.net wrote:
>
>>  i think this can happen quite often but i'm not clear on how to 
>> resolve it. with the DF
>> methodology, you are specifying the response and with Johansen's you 
>> aren't so
>> that may have something to do with it. The literature talks about it 
>> but I don't think
>> there's a resolution. Bernhard's cointegration book may talk about it 
>> also.
>>
>>
>>
>> On Fri, Jan 9, 2009 at  4:38 PM, Paul Teetor wrote:
>>
>>> R SIG Finance readers:
>>>  I am checking a futures spread for mean reversion.  I am using the 
>>> Johansen
>>> test (ca.jo) for cointegration and the Augmented Dickey-Fuller test 
>>> (ur.df)
>>> for mean reversion.
>>>
>>> Here is the odd part:  The Johansen test says the two futures prices 
>>> are not
>>> cointegrated, but the ADF test says the spread is, in fact, 
>>> mean-reverting.
>>>  I am very puzzled.  The spread is a linear combination of the 
>>> prices, and
>>> the ADF test says it is mean-reverting.  But the failed Johansen 
>>> test says
>>> the prices are not cointegrated, so no linear combination of prices 
>>> is
>>> mean-reverting.  Huh??
>>>  I would be very grateful is someone could suggest where I went 
>>> wrong, or
>>> steer me towards some relevent reference materials.
>>>
>>>  Background:  I am studying the spread between TY futures (10-year 
>>> US
>>> Treasurys) and SR futures (10-year US swap rate), calculated as:
>>>      sprd = ty - (1.2534 * sr)
>>>  where ty and sr are the time series of futures prices.  (The 1.2534 
>>> factor
>>> is from an ordinary least squares fit.)  I execute the Johansen 
>>> procedure
>>> this way:
>>>      ca.jo(data.frame(ty, sr), type="eigen", ecdet="const")
>>>  The summary of the test result is:
>>>
>>> 	###################### 	# Johansen-Procedure # 	 
>>> ######################
>>> 	Test type: maximal eigenvalue statistic (lambda max) , without
>>> linear trend and constant in 	cointegration
>>> 	Eigenvalues (lambda):
>>> 	[1]  2.929702e-03  6.616599e-04 -1.001412e-17
>>>
>>> 	Values of teststatistic and critical values of test:
>>>
>>> 	         test 10pct  5pct  1pct
>>> 	r <= 1 | 2.00  7.52  9.24 12.97
>>> 	r = 0  | 8.89 13.75 15.67 20.20
>>>
>>> 	<snip>
>>>
>>> I interpret the "r <= 1" line this way:  The test statistic for r <= 
>>> 1 is
>>> below the critical values, hence we cannot reject the null 
>>> hypothesis that
>>> the rank is less than 2.  We conclude that the two time series are 
>>> not
>>> cointegrated.
>>>
>>> I run the ADF test this way:
>>>
>>> 	ur.df(sprd, type="drift")
>>>
>>> (I set type="drift" because that seems to correspond to 
>>> ecdet="const" for
>>> the Johansen test.)  The summary of the ADF test is:
>>>
>>> 	###############################################
>>> 	# Augmented Dickey-Fuller Test Unit Root Test #
>>> ###############################################
>>>
>>> 	Test regression drift
>>>
>>> 	<snip>
>>>
>>> 	Value of test-statistic is: -2.9624 4.4142
>>>
>>> 	Critical values for test statistics:
>>> 		1pct  5pct 10pct
>>> 	tau2 -3.43 -2.86 -2.57
>>> 	phi1  6.43  4.59  3.78
>>> I interpret the test statistics as meaning we can reject the null 
>>> hypothesis
>>> of a unit root (at a confidence level of 90% or better), hence the 
>>> spread is
>>> mean-reverting.  I get similar results from the adf.test() 
>>> procedure.
>>>
>>> F.Y.I., I am running version 2.6.2 of R.
>>>  Paul Teetor
>>> Elgin, IL   USA
>>>
>>> _______________________________________________
>>> R-SIG-Finance at stat.math.ethz.ch mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
>>> -- Subscriber-posting only.
>>> -- If you want to post, subscribe first.
>>
>> _______________________________________________
>> R-SIG-Finance at stat.math.ethz.ch mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
>> -- Subscriber-posting only.
>> -- If you want to post, subscribe first.



More information about the R-SIG-Finance mailing list