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

Erickson, Ken ERICKSON at ers.usda.gov
Sat Jan 10 00:11:38 CET 2009

```Hi all, I am very new to R and thus don't have any profound answers
here.
Wish I did. But I did recently purchase Bernhard Pfaff's book,
Analysis of Integrated and Cointegrated Series with R, 2nd, edition..
Springer. Isbn 978-0-387-75966-1.

The book appears to 'cover' both the Johansen cointegration concepts and
the D-F unit root tests...this might help in answering your
question...at some point, and may be a good reference...Perhaps others
in the group have used this book and might want to comment.
Best regards,
Ken Erickson

-----Original Message-----
From: r-sig-finance-bounces at stat.math.ethz.ch
[mailto:r-sig-finance-bounces at stat.math.ethz.ch] On Behalf Of Paul
Teetor
Sent: Friday, January 09, 2009 4:38 PM
To: r-sig-finance at stat.math.ethz.ch
Subject: [R-SIG-Finance] Testing for cointegration: Johansen vs
Dickey-Fuller

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
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):
  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
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.

```