Augmented Dickey Fuller (ADF) Test for a Pairs Trading Strategy

4 min read

Augmented Dickey Fuller (ADF) Test for a Pairs Trading Strategy

By Jacques Joubert

About two weeks ago I decided to attempt to write a blog series on Pairs trading and statistical arbitrage. What I found during my research on pairs trading and statistical arbitrage is that everyone tends to reference the ADF test but I really don’t see a lot of posts that explain the test in full.

As you read about building a pairs trading strategy there is talk of testing a pair for co-integration and then you learn that they use ADF to do this. However, when I looked up tests for co-integration, the ADF test was not on the short list. Rather, an ADF test features under the topic: Testing for a Unit Root.

Fortunately for me, my wife studied actuarial sciences and my house is littered with books. I really thought it would be as easy as picking up a time series book and learning about ADF but that idea was shot down like the slow duck in the reeds. In short, I would have to read about 6 chapters of time series analysis before getting to a point where I can understand the different ways that you can use the ADF to test for a unit root and to use the ADF test in the context of stat arb.

If there are any readers that know of a resource that could explain the test in full, an article that tries to express to the reader in the most basic of terms, pretty please attach a link to the comments section. (Later on in the week I found this URL

This week’s mantra: Mathematicians that can communicate concepts to the everyday man will go very far in life.

When I finish my math homework

I eventually resorted to using the method explained in my QuantInsti EPAT lectures, this serves as a supplementary to their already written blog series, explained below:

Step 1: Get data for two securities that you want to perform an ADF test on

In this example, I use a South African Listed company called Mondi that has two listings on the Johannesburg Stock Exchange.

Step 1

Step 2: Perform a linear regression on the two securities using a set number of observations

I will use 60 observations. Make sure you also request the residuals to be outputted. Note: When running this in a pairs trading strategy you will have to run the ADF test every day to make sure the Null hypothesis is rejected (Null hypothesis = there is a unit root).

Step 2-1

Step 2-2 Make sure you check Residuals

Step 2-3

The X Variable Coefficient of 0.78255 is what we will be using for the hedge ratio.


Step 3: Calculate the difference between the residuals

Step 3

Step 4: Calculate the t-1 residual in the next column

Step 4

Step 5: Perform a linear regression on the Delta and t-1 column

Step 5

Step 6: Compare the t-test statistic and the critical value

In order to reject the null hypothesis that there is a unit root present, the t-statistic in this case must be smaller than the critical value. The critical values for an ADF test have their own distribution and here is a snapshot of some of the critical values:

Step 6

Source: Wikipedia

Step 6-2

  • We will be using the Critical value of -2.89, we have less than 100 observations
  • The t stat is – 3.369
  • Therefore the null hypothesis is rejected and we can say that the data are co-integrated


This test needs to be performed for every single data point and I would argue that this will not be done in excel. Therefore if you want to run a pairs trading strategy using a technique that includes testing for co-integration using an ADF test then I would recommend you to do so in say Python, R, C++, etc.

Note: Since writing this, one of the mentors from the EPAT program showed me how to run an ADF test in excel on every data point using the LINEST function, I would encourage others to check it out if your adamant on sticking with excel.

Mean Reversion Trading Course