Finding Pairs to Trade

Correlation

When we discussed banks and introduced pair trading, we pointed out that a pairs trading strategy involves answering these questions:

  1. How do you identify “stocks that move together?”
  2. Should they be in the same industry?
  3. How far should they have to diverge before you enter the trade?
  4. When is a position unwound?

Traders new to pair trading often mistake the correlation of prices to be indicative of “similarity”. For example, consider the Bank Nifty, HDFC Bank and ICICI bank. Here’s the chart of the closing price of the nearest to expiration futures contract:

bank-futures-prices

And there are some really tight correlations:

BANKNIFTY HDFCBANK ICICIBANK
BANKNIFTY 1.0000000 0.7419966 0.9462238
HDFCBANK 0.7419966 1.0000000 0.8327847
ICICIBANK 0.9462238 0.8327847 1.0000000

However, this is only part of the story. What we need are pairs who’s price movements are mean reverting. Looking at price correlation alone is not enough.

Spreads

We need the spread between pairs to be “stable”, i.e., mean reverting.

spread = A – βB

where A and B are prices and β is the first regression coefficient.

200-day spreads

Here are the spreads between these pairs using 200-day data for regression:

BANKNIFTY - ICICIBANK Spread 200

BANKNIFTY - HDFCBANK Spread 200

ICICIBANK - HDFCBANK Spread 200

50-day spreads

Here are the spreads between these pairs using 50-day data for regression:

BANKNIFTY - ICICIBANK Spread 50

BANKNIFTY - HDFCBANK Spread 50

ICICIBANK - HDFCBANK Spread 50

Testing for cointegration

You don’t have to visually inspect spreads to see if they are mean-reverting. The most straightforward way of checking if a time-series is co-integrated is to perform a Dickey-Fuller test on it. If the p-value is less than 0.10, then this could be a good pair for trading.

N Pair p-value
300 BANKNIFTY vs. ICICIBANK 0.010000
300 BANKNIFTY vs. HDFCBANK 0.904480
300 ICICIBANK vs. HDFCBANK 0.407347
200 BANKNIFTY vs. ICICIBANK 0.010000
200 BANKNIFTY vs. HDFCBANK 0.472129
200 ICICIBANK vs. HDFCBANK 0.037115
100 BANKNIFTY vs. ICICIBANK 0.223806
100 BANKNIFTY vs. HDFCBANK 0.980776
100 ICICIBANK vs. HDFCBANK 0.670717
50 BANKNIFTY vs. ICICIBANK 0.429057
50 BANKNIFTY vs. HDFCBANK 0.405498
50 ICICIBANK vs. HDFCBANK 0.133357
30 BANKNIFTY vs. ICICIBANK 0.570427
30 BANKNIFTY vs. HDFCBANK 0.057717
30 ICICIBANK vs. HDFCBANK 0.370011

If you are trading futures, then a 200-day fit may not make much sense. The latest 30-day test between BANKNIFTY and HDFCBANK has a surprisingly low p-value of 0.057, indicating that there is a potential trade there.

To be continued…