Alpha Combinations, Part 2: From Theory to Practice
A worked example with the 30-Minute Alpha Atlas: which pairs create the most value, how four weighting methods compare IS vs OOS, and why equal weight is so hard to beat
In Part 1 we derived the closed-form Sharpe for combining two alphas, proved the decision rule S₂ > ρ · S₁, extended it to N assets, and showed that 4–6 well-chosen signals capture 90%+ of the achievable Sharpe. All theory, one formula, zero fitted parameters.
This post is the empirical half. Using the 12 signals from the 30-Minute Intraday Alpha Atlas as a worked example, we take all 330 alpha pairs across 5 asset classes and ask: what happens when you actually fit weights to data? Four methods (equal weight, inverse variance, LASSO, Ridge), tested in- and out-of-sample, with the Part 1 maths as the benchmark.
The punchline:naive equal-weight is surprisingly hard to beat. Fitted methods improve in-sample but give some back out-of-sample. The Part 1 formula predicted this: the N-asset ceiling at ρ̄ = 0.46 leaves little room for optimisation to add value.
Which Pairs Create the Most Value?
Part 1’s decision rule says: combine when S₂ > ρ · S₁. The marginal improvement heatmap tests this empirically. For each pair, it shows how much the combination’s OOS Sharpe exceeds the better individual alpha:
Shown for Bond Futures (highest average OOS Sharpe). Diagonal: individual Sharpe. Off-diagonal: marginal improvement from optimal pairing.
The biggest improvements come from:
Cross-family pairs. Breakout + mean-reversion pairs consistently show 0.2–0.4 Sharpe improvement. These are genuinely different bets, and Part 1’s formula explains why: low ρ between families means the denominator √(1−ρ²) stays close to 1, maximising the diversification amplifier.
Long + short lookback within a family. CS-120-bar paired with CS-5-bar. Different horizons capture different dynamics while sharing signal logic. The greedy selection algorithm from Part 1 picks exactly these pairs first.
Adjacent lookbacks show near-zero improvement. F5-bar + F20-bar are too correlated (ρ > 0.8). Part 1’s destructive interference analysis applies: at equal weights, the weaker lookback dilutes the stronger one.
Top Pairs: Equity Curves
The 6 pairs with the highest OOS Sharpe, showing individual alphas (grey), optimal combination (green), and equal weight (blue dashed):
Each panel shows IS and predicted Sharpe, OOS Sharpe, and the pairwise correlation. Vertical dashed line: IS/OOS split at March 2024.
FX dominates the top 6, all involving Fade 5-bar breakout (IS Sharpe 2.4). The optimal combination barely improves on the best individual, because Part 1’s equal-Sharpe formula S·√(2/(1+ρ)) shows the multiplier is small when one alpha already dominates. The real combination gains come from weaker-but-uncorrelated pairs.
From Pairs to Full Portfolios
Pairwise analysis gives intuition, but in practice you want to combine all 12 alphas at once. Part 1 showed the theoretical ceiling: at ρ̄ = 0.46, even optimal weights can only reach ≈1.47× a single alpha’s Sharpe. How close do fitted methods get? Four approaches, ordered from simplest to most complex:
Equal Weight (1/N). Every alpha gets the same weight. Zero fitting, zero estimation error. Part 1’s formula says this achieves S·√(12/6.06) ≈ 1.41S.
Inverse-Variance. Weight inversely proportional to historical variance. Risk-parity lite: high-vol alphas get less capital.
L1 / LASSO (sparse). Maximise IS Sharpe with an L1 penalty. The L1 norm drives weak weights to exactly zero. Automatic signal selection, analogous to Part 1’s greedy algorithm but fitted to data.
L2 / Ridge (smooth). Same but with an L2 penalty. L2 never zeros a weight; it shrinks all weights proportionally.
The key distinction: L1 is a model selector (picks winners, discards the rest). L2 is a model shrinker (keeps everyone, trusts no one completely). From Part 1’s greedy analysis, we know 4–6 alphas capture most of the value, which suggests L1’s selection might be appropriate.
L1 vs L2: A Visual Intuition
Both add a penalty to the optimisation:
L1: minimise loss + λ · sum(|w_i|)
L2: minimise loss + λ · sum(w_i²)
The geometry explains everything. The L1 constraint region is a diamond; the optimal point lands on a corner where coordinates are exactly zero. The L2 constraint region is a circle, so no weight is forced to zero.
L1 says: "some of your alphas are noise. I’ll find the best 4–5 and ignore the rest."
L2 says: "all your alphas might have some signal. I’ll keep them all but shrink the uncertain ones."
Neither is universally better. L1 wins when you have many noise alphas and a few strong ones. L2 wins when many alphas carry small but real signal. From Part 1’s greedy analysis, most of our 12 alphas have positive signal, so L2 should dominate. Let’s see.
What the Weights Look Like
Weights fitted on in-sample data. Each row: one of 12 alphas. Each column: a combination method.
Equal weight is uniform: every alpha gets 1/12 = 0.083. Same weight for the best alpha (Sharpe 2.85) and the worst (−0.47).
L1 zeroes out ~half the alphas. LASSO keeps 5–6 and sets the rest to exactly zero. Compare to Part 1’s greedy selection, which also found 4–6 optimal. The methods agree on the number, but not always the selection.
L2 keeps all 12 but shrinks aggressively. No weight is zero, but weaker alphas get pushed close. Consistent with the N-asset formula: at ρ̄ = 0.46, including all 12 still adds marginal diversification.
The IS vs OOS Test
Light bars: in-sample. Solid bars: out-of-sample.
Three findings:
Equal weight is remarkably robust. Never the highest IS Sharpe, but the smallest IS-to-OOS shrinkage. Zero estimation error means nothing to overfit. Part 1 predicted this: S·√(12/6.06) requires no fitted parameters.
L1 overfits the most. Highest IS Sharpe by concentrating on IS winners, but the largest IS-to-OOS drop. The greedy algorithm from Part 1 selects on true Sharpes; L1 selects on estimated Sharpes. The estimation error in the selection step is the killer.
L2 sits in between. Shrinkage reduces overfitting vs L1 but still introduces estimation error from fitting weights. Consistent with Part 1’s observation that most alphas carry real signal.
Tuning the Penalty
IS vs OOS Sharpe as penalty strength increases. Left: LASSO with number of non-zero weights (grey). Right: Ridge.
L1: as λ increases, alphas get zeroed one by one. OOS initially improves then drops. Sweet spot: 4–6 alphas, exactly matching Part 1’s greedy selection and the N-asset ceiling.
L2: OOS Sharpe is much flatter across λ values. Ridge is less sensitive to the exact penalty choice.
The IS-OOS gap is the overfitting tax. Part 1’s formula, which uses true Sharpes and correlations, has no such gap. The gap IS the cost of estimation.
Equity Curves
Cumulative PnL. Dotted vertical line: IS/OOS boundary.
Best single alpha (grey) has the steepest slope sometimes but the deepest drawdowns.
Equal weight (blue) is smoother: shallower drawdowns, faster recovery. The diversification premium from Part 1’s √(N/(1+(N−1)ρ̄)) multiplier in action.
L1 and L2 sit between single-alpha and equal-weight. L1 partially diversifies but selection partially undoes the benefit.
Going Cross-Asset
Within-asset combination is layer one. Layer two: combine the best per-asset portfolio across all 5 asset classes.
12 alphas × 5 asset classes = 60 return streams. Cross-group correlations are structurally low. Apply Part 1’s N-asset formula at the cross-asset level: with 5 near-uncorrelated blocks, the multiplier is close to √5 ≈ 2.24×. Two-stage diversification is more robust than fitting a single 60-weight vector.
Measuring the Diversification Benefit
The diversification ratio quantifies how much portfolio vol is reduced vs the average individual alpha vol:
DR = sum(w_i * sigma_i) / sigma_portfolio
DR = 1.0 means no benefit. Higher is better. Part 1 gives the theoretical maximum: if alphas were independent, DR = √12 ≈ 3.46. At ρ̄ = 0.46, the ceiling is lower.
Even a DR of 1.5 means 33% lower portfolio vol than the average alpha. This is the empirical manifestation of Part 1’s √(2/(1+ρ)) multiplier, extended to 12 assets.
Takeaways
Start with equal weight. Zero estimation error means nothing to overfit. Part 1’s formula tells you the ceiling: S·√(N/(1+(N−1)ρ̄)). Only move to fitted weights with a specific reason and enough data.
Screen pairs with the closed-form formula. If S₂ < ρ · S₁ after a 25% haircut, the pair isn’t worth the estimation risk. Cross-family pairs beat within-family because ρ is structurally lower.
4–6 alphas capture 90%+ of the diversification benefit. Both Part 1’s greedy algorithm and L1 converge on this. Adding more of the same type hits the N-asset ceiling at ρ̄ = 0.46.
Prefer L2 over L1. Most alphas carry real signal. Ridge keeps all and shrinks; LASSO discards and overfits the selection step. Combine within-asset first, then cross-asset.
Data: this is an example implementation using the 30-Minute Intraday Alpha Atlas signals. IS/OOS split at March 2024. 330 pairwise combinations (66 per asset class × 5). L1/L2 weights fitted via sklearn Lasso/Ridge on standardised IS returns. No costs, no transaction model.









