AlphaMaven AlphaMaven

From Pairs Trading to a Portfolio in Python, Part 3: Adding to the Book | by Yasanji Ratnaike | Oct, 2026

Reported by Datadriveninvestor
Oct 7, 2026· 2 min read
Save Post LinkedIn Email
Key Takeaways
  • • Author tested three distinct approaches to expand a European large-cap pairs trading strategy that initially produced only 1.9% annual returns with minimal diversification and a t-statistic of 1.1.
  • • Residual mean reversion strategy applied to STOXX 600 regressed individual stock returns against industry averages to identify trading signals, using published Avellaneda and Lee (2010) parameters with no optimization.
  • • Two of three expansion methods failed; only one approach improved results, but for reasons the author did not anticipate—highlighting the importance of understanding mechanism over raw performance metrics.
  • • Original pairs trading book suffered from concentration risk, with returns dependent on one or two pairs and insufficient historical data (three years) to distinguish genuine alpha from statistical noise.
Summary
The article represents the third installment in a series examining pairs trading strategies implemented in Python, focusing on efforts to address severe diversification limitations in an initial European large-cap strategy. The original approach, detailed in Part 2, identified pairs with a mean reversion edge but generated only 1.9% annual returns after costs. Critically, the strategy's t-statistic of 1.1 indicated marginal statistical significance, with performance concentrated among a handful of positions. This thin edge, combined with inadequate diversification and limited backtesting history, left the strategy vulnerable to luck rather than skill.

To broaden the position count and reduce concentration risk, the author tested three methodologically distinct expansions. The first approach—residual mean reversion—departed from traditional pair matching by regressing each stock's return against the average return of all other stocks within its industry sector over a 60-day rolling window. Shorts were entered on stocks outperforming their industry residuals; longs on underperformers. This approach, grounded in the Avellaneda and Lee (2010) framework published on U.S. equities, was applied to the STOXX 600 universe using the authors' publicly documented entry and exit thresholds, eliminating parameter optimization. The existing risk framework from Part 2 remained unchanged for consistency.

The author emphasizes reporting failed experiments alongside successful ones, asserting that the reasons for failure often provide more actionable insight than positive results. Two of the three tested methods did not improve portfolio characteristics; the single approach that contributed to the book's performance did so through a mechanism the author had not expected. This narrative choice—acknowledging unexpected drivers of returns—reflects rigorous empirical discipline and suggests sophisticated investors should scrutinize not just performance attribution but the causal mechanisms underlying strategy improvements.

Go deeper than the headline

Research every firm in this story, track the ones that matter and get the daily briefing — free for 7 days.

Start your free 7-day trial

Sources

1 outlet

AlphaMaven summarised this story from the reporting below. Each link opens the original article.

Datadriveninvestor From Pairs Trading to a Portfolio in Python, Part 3: Adding to the Book | by Yasanji Ratnaike | Oct, 2026