Cointegrated on Paper: 2,441 Pairs Trades, 2017-2026, and a Test That Predicts the Opposite
TL;DR - Statistical pairs trading is the most-taught strategy in quantitative finance: find two related stocks, confirm with a cointegration test that their spread is stationary, buy the cheap leg and short the rich one when the spread stretches, and close when it comes home. We ran the textbook daily version on large-cap US equities from 3 January 2017 to 5 November 2026, with every rule, cost and pass mark hashed before a single return was computed. Two books: 314 hand-built pairs inside ten sector sleeves (competitors, and sector ETFs against their constituents), and the 200 closest pairs each month in the point-in-time S&P 500. Between them, 2,441 round trips. The sector book made -1.38% a year after costs, Sharpe -0.44, and lost money even at zero cost. The S&P book made +0.10% a year before costs and -0.69% after, Sharpe -0.36. Neither had more than three winning years in ten. The reason is in the exits: only 20% of trades ever reverted; 53-57% were closed because the next month's re-fit no longer called the pair cointegrated, and 23-27% hit the stop. And the test itself carries no information forward: a pair that passed had a 6.1% chance of passing again on the following year's data, against 7.6% for a pair that failed. Trading every candidate with no test at all lost less than trading only the pairs that passed. Three things survive: one year of daily closes cannot tell a relationship from a coincidence, a "market-neutral" book of pairs is one position when the pairs share a leg, and the statistical confidence was never a measure of future behaviour.
Pairs trading has the best origin story in quantitative finance and the cleanest logic. Two companies in the same business are pushed around by the same forces, so their prices should not wander far apart for long. When they do, sell the one that ran and buy the one that lagged, and collect when the gap closes. No view on the market is needed. The hedge is built in.
The modern version adds a statistical gate. Regress one price on the other, test whether what is left over is stationary, and only trade the pairs that pass. That test is called cointegration, and it is why the strategy feels like science instead of a hunch. It is in every graduate syllabus. This autumn it was also the worked example in a widely shared tutorial on building an AI "quant agent": the agent picks related tickers, runs the test, re-fits monthly and trades the spread. The tutorial did not report a result.
The recipe is fully specified and the data is public. So we ran it.
The set-up
We built two books and traded both by identical rules from 3 January 2017 to 5 November 2026: 2,475 sessions.
The sector book. Seventy-four large, liquid US stocks arranged in ten sleeves - mega-cap technology, semiconductors, other technology, financials, healthcare, energy, industrials, materials, consumer and communications - with every within-sleeve pair as a candidate, plus the sector ETF against each of its stocks. That is 314 candidate pairs: JPMorgan against Bank of America, Exxon against Chevron, Home Depot against Lowe's, the energy ETF against each driller. These are exactly the pairs the recipe tells you to pick. The list is today's list, so it contains no company that was acquired or failed along the way. That bias flatters the strategy, and we kept it on purpose.
The index book. Every stock that was actually in the S&P 500 at each month-end, delisted names included. From all possible pairs we kept the 200 whose normalised price paths tracked each other most closely over the prior year - the distance screen from the original academic pairs literature. It needs no sector labels, so it cannot smuggle hindsight in through a current classification.
The rules, the same in both books:
- Formation. At the last close of every month, take the trailing 252 sessions. Regress one log price on the other, run the Engle-Granger test on the residual in both orderings, and pass the pair if the statistic clears the 5% critical value with a positive hedge ratio. Trade up to 20 passing pairs, strongest statistic first.
- Trading. For the following month, mark the spread in units of its formation-window standard deviation. Enter when it is 2 or more away from zero, exit when it crosses zero, stop out at 4. Every signal is computed at the close and filled at the next open.
- Costs. 5 basis points of notional per leg per side, plus 0.30% a year to borrow the short leg. For large caps on a direct-access platform that is not a punitive assumption.
- Sizing. One dollar gross per pair, twenty slots, returns reported on the committed capital with no interest earned on cash.
The pass mark was written down first too. To be worth capital, both books had to show a Newey-West t-statistic of 3 or more after costs - a Sharpe ratio near 1 over this window - with the same sign in both halves and a positive Sharpe at double the cost. Before reading any result we checked the machinery: our test statistic matches the standard reference implementation to twelve decimal places, it rejects 5.8% of simulated unrelated random walks at the 5% level, it detects 96% of genuinely cointegrated simulated pairs, and the trading engine earns a t-statistic of 32 on those and nothing on the random walks. Three real round trips were recomputed by hand from raw bars.
So the tools work. Here is what they found.
Finding 1: both books lose, and one loses before costs
The sector book returned -1.38% a year after costs on 3.11% volatility: a Sharpe ratio of -0.44, t = -1.42. Strip out every cost and it still loses: -0.91% a year, Sharpe -0.29. Its worst drawdown was 20.3%, which on a book with 3% volatility is not a drawdown so much as a direction.
The index book did slightly better and arrived at the same place. Before costs it made +0.10% a year - a Sharpe of 0.05, indistinguishable from nothing. After costs, -0.69% a year, Sharpe -0.36, t = -1.20. At 10 basis points per side it is -1.48% a year with a t-statistic of -2.6.
| Sector book | Index book | |
|---|---|---|
| Return before costs | -0.91% / yr | +0.10% / yr |
| Return after costs | -1.38% / yr | -0.69% / yr |
| Sharpe after costs | -0.44 | -0.36 |
| Worst drawdown | -20.3% | -7.4% |
| Winning calendar years | 3 of 10 | 2 of 10 |
| Round trips | 898 | 1,543 |
| Winning trades | 42% | 45% |
| Median holding period | 11 sessions | 9 sessions |
Both halves of the sample are negative in both books. The sector book's only good year was 2025, at +5.2%; its worst was 2022, at -7.5%. The index book never made or lost more than 2% in any year, which is what a strategy with no edge and tight risk limits looks like.
A fair reading of a null needs its resolution. Over 9.8 years the 95% interval on a Sharpe ratio is about plus or minus 0.63. So the data put the true after-cost Sharpe of the sector book below +0.19 and the index book below +0.27. This test cannot tell a Sharpe of zero from a Sharpe of 0.2. It can rule out anything a desk would allocate to.
Finding 2: one trade in five reverts
The premise of the trade is that the spread comes back. It mostly does not, at least not on the schedule the strategy runs on.
In the sector book, 176 of 898 trades - 19.6% - ended because the spread reverted. In the index book it was 306 of 1,543: 19.8%. The two universes were built in completely different ways and agree to a fraction of a point.
Those trades are everything the textbook promises. The average reverting trade made +4.8% in the sector book and +3.1% in the index book, in about two weeks, market-neutral.
The other four trades in five ended some other way:
- Stopped out: 23% and 27%. The spread went to 4 standard deviations instead of zero. Average loss -4.2% and -2.6%.
- Dropped at the re-fit: 57% and 53%. The month ended, the test was re-run on the new window, and the pair no longer passed. The position was closed at whatever the spread happened to be. These average roughly zero before costs and a small loss after.
The arithmetic is short. A fifth of trades win about as much as a quarter of trades lose, and the remaining half pay the spread to go nowhere. That is negative before a single basis point of cost.
The largest category deserves a second look, because it is the one the tutorials never mention. More than half of all positions were closed not by the market but by the statistics changing their mind. A relationship that was significant at 5% on the last day of the month was not significant four weeks later. That is not a property of the trade. It is a property of the test.
Finding 3: passing the test predicts nothing, slightly negatively
If cointegration is a real, durable property of a pair, then a pair that has it this year should be much more likely than a random pair to have it next year. That is directly measurable: take every pair at every month-end, record whether it passed, then run the identical test on the next, non-overlapping 252 sessions.
In the sector book, pairs that passed went on to pass again 6.1% of the time (2,507 pair-months). Pairs that failed went on to pass 7.6% of the time (30,453 pair-months). In the index book it was 8.5% against 10.1%. In both universes a pass is followed by a pass less often than a fail is.
The differences are small and we would not build anything on their sign. The point is the level. A filter that carried real information would show a persistence of 50% or 80%. These are in single digits and on the wrong side of the control.
There are two reasons, and neither is exotic.
Multiple testing. The sector book tests about 310 pairs a month at a 5% significance level. Under our exact selection rule, pairs of completely unrelated random walks pass 4.75% of the time. The real pass rate was 7.5%. So of every eight pairs the test flags, about five are what chance alone would have flagged. Picking the twenty with the strongest statistic does not fix this. It selects the luckiest draws.
Selection on closeness. The index book shows the mirror image. Its 200 candidates were chosen because their prices tracked each other tightly over the formation year, and 41% of them then pass the cointegration test on that same year. The pass rate is high because the screen and the test are looking at the same window. A year later, 8.5% of those passers still pass. The tightness was a description of the past.
One year of daily closes is 252 observations. It is enough to fit a line through two price series. It is not enough to distinguish two companies that are bound together from two companies that happened to walk in step.
Finding 4: the filter is worse than no filter
There is a blunt way to ask whether the test adds value: skip it. Trade every candidate pair, passed or not, by the same entry, exit and stop.
Per pair, after costs, the unfiltered sector candidates returned -0.51% a year. The pairs the test selected returned -1.46%. In the index book it was -0.35% against -0.69%. The differences are not statistically significant (t = -0.9 and -0.7), so the honest statement is not that the test hurts. It is that across 2,441 trades there is no evidence it helps, and the point estimate leans the wrong way in both books.
That is the same disease we measured in the 62-session mirage: rank a set of candidates on how good they looked in a short sample, and the top of the ranking is where the overfit ones collect.
Finding 5: twenty hedged pairs can be one unhedged position
The single worst episode in the sector book shows the failure no spread chart will warn you about.
In March 2022 the natural-gas producer EQT pulled away from the oil names in its sleeve. One after another, between 7 and 25 March, the rules put the book short EQT against seven different partners: Schlumberger, Devon, ConocoPhillips, Halliburton, Exxon, Chevron and the energy ETF. Each pair was hedged. Each had passed its test. Each was sized at one twentieth of the book.
Natural gas kept going. All seven pairs hit their 4-sigma stops on 25 and 28 March, and the book lost about 3% in three weeks - on a strategy whose entire annual volatility is 3%.
The method has no idea that seven pairs sharing one leg are one trade. Nothing in a pairwise test can see it. 2020 was the same event at a larger scale: the crash broke within-sector relationships everywhere at once and the sector book lost 5.2%. We have written about this trap from the discretionary side in the huddle index: correlation between positions is the risk, and counting positions hides it.
Every dial we could turn
A null on one parameter set invites the reply that the parameters were wrong. These were specified before the run, and the answer is in the ledger.
Seven variants in two books makes fourteen after-cost Sharpe ratios. Twelve are negative. The two positive ones are +0.24 (sector book, 126-day formation window, t = 0.7) and +0.18 (index book, entry at 2.5 standard deviations, t = 0.6), and they are different variants in different books: the 126-day window that helps the sector book gives the index book its second-worst result, -0.71. That pattern is what noise across variants looks like. A real parameter effect would show up in both.
The only gross t-statistic above 2 anywhere in the table is the index book at the 2.5 entry, before costs. After 5 basis points it is a Sharpe of 0.18.
Three versions of the data - raw, repaired for corporate actions the vendor adjustment missed, and a strict version that breaks every series at any one-day move above 25% - give Sharpe ratios within 0.03 of each other.
What we would actually take from this
- A p-value is a statement about the sample. "Cointegrated at the 5% level" describes last year's 252 closes. It made no forecast, and in this data it carried none.
- The base rate is one in five. Before sizing any spread trade on the expectation that it reverts, the measured reversion rate for statistically selected large-cap pairs inside a month is 20%. A plan that needs more than that needs a reason beyond the chart of the spread.
- Count legs, not pairs. If one name sits on the same side of several positions, that is the position. The March 2022 loss was fully visible in the holdings and invisible in the pair statistics.
- Ask any tutorial for its out-of-sample line. The recipe is easy to code and easy to hand to an agent. That is a good reason to expect any edge it once had in liquid large caps to be gone. The published academic record shows pairs profits shrinking for decades, and this one is consistent with zero.
- Know what this does not test. Daily bars, large caps, statistical selection. It says nothing about spreads between two prices for the same claim, where there is an economic reason for convergence instead of a regression - the case we measured in one claim, two prices. It says nothing about intraday horizons either, where costs are a larger share of the edge, not a smaller one.
- A null this cheap is worth having. The whole study cost an afternoon of compute. The alternative way of learning it is 2,441 trades.
Method and caveats
Sources. Daily consolidated bars for 730 tickers, 4 January 2016 to 5 November 2026, adjusted for splits, dividends and spin-offs; all spreads use log total-return prices. Point-in-time S&P 500 membership from dated constituent snapshots and the index's change announcements, applied at each formation date; a name that leaves the index during its trading month is still traded. Compiled from public market data.
Pre-registration. The question, both universes, the formation and trading rules, the costs, the outcomes, the inference and the decision rule were written and hashed before any outcome was computed. Two amendments were written and hashed before the run: one for data repair, one to drop a duplicated security. The exit breakdown in Finding 2 and the March 2022 episode are descriptive and were not registered outcomes; everything else is in the plan.
The test. Engle-Granger with an ADF on the residual, no constant, lags 0-15 chosen by AIC, MacKinnon critical values for two series with a constant. Both orderings are tested and the more negative statistic kept; that choice is why the null pass rate is 4.75% and not 5%, and the 7.5% observed rate should be read against the former.
Data repair. Seven spin-offs across the two universes were not captured by the vendor's adjustment and were handled by breaking the series at the event; a position closes at the last close before a break and no formation window may span one. 10,683 zero-volume bars, all after a delisting or merger, were set to missing. Nine other spin-offs were checked by hand and found correctly adjusted. The verdict is the same on raw, repaired and strict data.
Survivorship. The sector book uses a current list and therefore excludes failures and takeovers. This favours the strategy. The index book has no such bias and reaches the same conclusion.
Returns. Excess returns on committed capital: idle slots and short proceeds earn nothing. Adding a cash rate shifts every figure up by the same amount and does not change any comparison with zero. The sector book averaged 17.5 of 20 slots filled; the index book 20 of 20.
Inference. t-statistics are Newey-West with 10 lags on the daily return series. The filter comparison and the persistence rates are reported as measured; neither difference is significant and neither is claimed as an effect.
What the numbers are not. This is one textbook specification and six pre-specified variants on daily bars. It is evidence about that recipe in liquid large caps, not about relative-value trading as a discipline.
Nothing here is a recommendation to trade any security. It is a measurement of what one widely taught method returned over 2,475 sessions.
Trade with the desk behind the research
Vortex Capital Group gives qualified traders DMA via Sterling Trader Pro, multi-vendor HTB locates, smart and dark-pool routing, and an 80%+ monthly profit share.
Apply to Trade