When are two systematic strategies "independent enough" to diversify — not double-count the same overfit signal?
The question
The 2026-05-31 ensembles brief settled that ensembles only reduce variance when each component is independently validated FIRST; correlated components just launder data-mining. It left an explicit follow-up (#2): decide and pre-register the constituent-correlation ceiling for ensemble admission. This brief defines that admission gate mechanically for Phase-2/Phase-5 of the automated-investing build. The hard part is that "correlation" is doing two different jobs — and a single pairwise return-correlation threshold (the obvious ρ < 0.7 rule) is provably insufficient on its own.
What we already know (from the vault)
- The parent ensembles brief already concluded ensembling is a post-validation variance reducer on diversified, gated survivors, not an overfitting defense, and named the missing gate this brief now specs: "reject ensembles whose constituents exceed a pre-registered pairwise correlation ceiling." It also flagged the alternative framing — "a minimum effective-number-of-bets." ([[2026-05-31-ensembles-systematic-trading-overfitting]])
- The architecture doc already runs a correlation-cluster cap elsewhere in the stack: "MU+SMH+SNDK+INTC = ~one semi-memory bet, share one bucket cap" — correlation "computed not implied." This is the same mechanism (collapse correlated things into one effective bet) applied at the position-sizing layer; the ensemble gate is its analogue at the strategy-admission layer. ([[2026-05-29-strategy-pipeline-architecture-v0]])
- The architecture's load-bearing warning is the exact failure mode this brief guards against: "you can ensemble overfit signals into a confidently overfit ensemble," and the DSR caveat already states effective N is below counted N when grid cells are correlated — the same "correlated things aren't independent bets" logic, applied to the multiple-testing budget. ([[2026-05-29-strategy-pipeline-architecture-v0]], GATE 1)
- The most expensive vault lesson constrains what "independent" can even mean: averaging several mechanical-exit variants on the conviction core is averaging rules already disproven (buy-and-hold beat them 19-91pp) — they may show low return-correlation to each other yet all encode the same disproven bet against the cycle's V-bottoms. ([[2026-05-29-markov-system-requirements-v0]])
What the web says
- Return-correlation vs signal/feature-correlation is the central distinction. Two strategies can have low return correlation while sharing the same feature — RSI, Stochastic RSI, CCI and momentum oscillators "all primarily track price momentum… they all light up together. When momentum fails, they fail together." The redundancy is "information-level," not visible in a placid-period return-correlation snapshot (Medium, indicator diversity). "Good indicators fail at different times" is the operative test, not "indicators have low ρ."
- "Effective Number of Bets" (ENB / Meucci) is the right unit, not raw pairwise ρ. ENB is the entropy of the distribution of risk contributions across uncorrelated synthetic factors: ENB=1 means everything collapses to one bet, ENB=n means n genuinely independent bets (Portfolio Optimizer; Meucci, "(Re)Defining and Managing Diversification"). Critically, how you decorrelate matters: the Principal-Components route can report ENB≈1.0 for three near-uncorrelated assets (a false negative), while Minimum-Linear-Torsion (MLT) correctly reports ENB≈3.0 — MLT keeps synthetic factors "as close as possible to the original asset returns" (Portfolio Optimizer).
- The diversification math gives the threshold its teeth. Uncorrelated, vol-scaled return streams cut standard deviation by √N and lift Sharpe by √N. Two equal-vol assets at ρ=0.5 yield only ~1.33 effective independent bets — i.e. ρ=0.5 buys you almost nothing; you paid for two strategies and got 1⅓ (Rob Carver, qoppac). A common practitioner rule of thumb: pairwise correlation roughly between −0.3 and +0.3 indicates the systems are independent enough to count as diversifying (web synthesis; Carver does not endorse a hard cutoff).
- Why a naive ρ < 0.7 rule is insufficient. Three independent failure modes: (a) ρ=0.7 is barely diversifying at all — at that level you have ~1.1 effective bets, so the threshold admits redundancy by construction; (b) two strategies sharing one overfit feature can post low return-ρ in-sample yet be the same bet — the shared feature is a hidden single point of failure that surfaces precisely when it breaks (the "fail together" problem); (c) return correlation is not stable out-of-sample — Carver shows vol-scaled subsystem returns correlate far lower (0.09) than raw returns (0.224), and correlations are regime-dependent, drifting toward 1 in stress. A clean in-sample ρ is the least reliable exactly when diversification is supposed to pay.
- Out-of-sample correlation stability must be tested, not assumed. The benefit is real only if low correlation persists OOS; in-sample low ρ that reverts to high ρ in the holdout is itself an overfit. This is why correlation belongs on the sealed-holdout side of the wall, measured on the same OOS segment that validates the constituents — never estimated in the search partition where it can be gamed (implication of Carver's raw-vs-scaled 0.224→0.09 gap + vault's import-level holdout wall).
- Feature-overlap detection is a separate, prior check. Removing inter-correlated features reduces overfitting risk but isn't universal — correlated features can capture different aspects of the same phenomenon (Medium, correlated features). The takeaway for admission: inspect the constituents' declared
required_features, don't infer independence from returns alone.
Convergences and contradictions
Strong convergence: every quality source agrees the unit of diversification is the effective number of independent bets, not raw pairwise ρ, and that correlation is a continuous, regime-dependent quantity — Carver explicitly declines a hard threshold and works from the whole correlation matrix; Meucci/ENB formalizes "how many bets do I actually have" as entropy over decorrelated factors. All sources agree ρ near 0.5 already destroys most of the benefit.
The contradiction that matters: the practitioner world offers a tidy "−0.3 to +0.3 = independent" rule of thumb, while the rigorous sources (Carver, Meucci) refuse a fixed cutoff because the honest answer is matrix-level and OOS-conditional. Resolution: RDCO needs a pre-registrable mechanical gate (the rule-of-thumb's job) but must back it with the rigorous logic — so the gate is a threshold PLUS a shared-feature veto PLUS an OOS-stability requirement, not a bare number. The single biggest trap, on which vault and web fully agree, is that low return-correlation does not imply independence when a shared overfit feature is present — return-ρ is necessary but not sufficient.
Honest gap: no source supplies a peer-reviewed, calibrated "admit if ρ < X" number for strategy ensembles specifically; the numbers cited (1.33 effective bets at ρ=0.5; −0.3/+0.3 rule) are practitioner figures, not validated constants. The threshold below is a defensible pre-registration, not an empirically optimal one.
Synthesis for RDCO — the Phase-2/Phase-5 admission rule
Admit a component into an ensemble only if it clears, in order, a three-part gate. All three are mandatory; passing return-correlation alone is explicitly not enough.
Gate A — Independent validation first (inherited, non-negotiable). Each constituent must already have passed the economic-prior + DSR + PBO + dual-buy-and-hold gates and earned exactly one clean holdout evaluation as a standalone strategy. No gate-failed cell is admissible — the exit_class-style hard-reject pattern generalizes here. Correlation is never a rescue path; it is only ever a filter applied to already-validated survivors. This is the load-bearing rule the parent brief established and it sits above any number.
Gate B — Shared-feature veto (the part a ρ rule misses). Before measuring any correlation, compare the constituents' declared required_features (the architecture already makes strategies declare these). If two candidates load on the same primary feature — both are momentum families, both key off realized_vol_21d, both are mechanical-exit variants of the same signal — they are the same bet regardless of measured return-ρ and are rejected as ensemble partners. This directly blocks the "light up together, fail together" failure and the vault's disproven-mechanical-exit trap. A low in-sample ρ between two same-feature strategies is treated as evidence of overfit-noise cancellation, not diversification.
Gate C — Out-of-sample return-correlation threshold AND effective-bet floor. Measure pairwise return correlation on the sealed-holdout segment only (vol-scaled subsystem returns, per Carver, not raw), never on the search partition. Use a pre-registered ceiling of ρ ≤ 0.5 absolute as the admission gate — chosen because ρ=0.5 already collapses two strategies to ~1.33 effective bets, so anything above it is paying for diversification you don't receive; a tighter |ρ| ≤ 0.3 is the preferred target consistent with the "independent" rule of thumb and the existing 2R/4R cluster-cap philosophy. Reject ρ < 0 only if it looks engineered (a strategy fit to be the negative of another is overfit, not diversifying). Then compute the ensemble-level Effective Number of Bets via MLT (not PCA — PCA produces the ENB≈1 false-negative shown above) and require ENB ≥ 0.7 × k for a k-constituent ensemble: the blend must deliver at least 70% of the independence its constituent count implies, or it is just leverage on one bet and is rejected. ENB is the right summary statistic because it generalizes the pairwise rule to the whole matrix, exactly as Carver and Meucci argue.
Why these specific numbers. ρ ≤ 0.5 is the outer admission bound (below it, diversification is at least net-positive after the √N math); |ρ| ≤ 0.3 is the target (where the practitioner consensus puts genuine independence); ENB ≥ 0.7k is the matrix-level backstop that catches the case where every pair is individually under 0.5 but the cluster still collapses (three strategies each pairwise-0.45 are not three bets). All three are pre-registered before the holdout is touched, all three count the ensemble as its own N-incrementing candidate per the existing multiple-testing ledger, and the whole gate runs on the holdout side of the import-level wall so the correlations can't be gamed in search. Default posture is unchanged: most ensembles should fail this gate and lose to the single best validated constituent — a clean rejection is a success of the discipline.
Open follow-ups
- Calibrate ρ ≤ 0.5 vs |ρ| ≤ 0.3 against RDCO's actual survivor set. Once Phase-3 produces a handful of validated survivors, measure their realized OOS cross-correlations to confirm 0.5 is the right admission outer-bound and 0.3 the right target — the numbers here are pre-registered defaults, not fitted constants.
- Pick the MLT-ENB implementation and add it to
validation/. ENB-via-MLT needs the minimal-linear-torsion decorrelation; confirm whether to vendor an existing implementation (Meucci's reference code / PortfolioOptimizer-style) or build the thin version, and wire it as a Phase-5 gate output alongside holdout DSR. - Define the shared-feature taxonomy. Gate B needs a machine-checkable notion of "same primary feature." Decide whether to tag each strategy with a
feature_classat registration (momentum / mean-reversion / vol-regime / breakout / carry) so the veto is mechanical rather than a judgment call. - OOS correlation-stability test. Add a check that in-sample and holdout pairwise correlations don't diverge beyond a band — a large in-sample-low / holdout-high gap is itself an overfit signal and should fail the constituent, not just the ensemble.
Sources
Vault:
~/rdco-vault/06-reference/research/2026-05-31-ensembles-systematic-trading-overfitting.md— parent brief; ensembles as post-validation variance reducer, the explicit "pre-register a constituent-correlation ceiling" follow-up~/rdco-vault/01-projects/investing/2026-05-29-strategy-pipeline-architecture-v0.md— correlation-cluster cap ("computed not implied"), effective-N-below-counted-N DSR caveat, import-level holdout wall,required_featuresdeclaration~/rdco-vault/01-projects/investing/2026-05-29-markov-system-requirements-v0.md— the disproven-mechanical-exit trap (low pairwise ρ can still be the same disproven bet)
Web:
- The Effective Number of Bets — Portfolio Optimizer — https://portfoliooptimizer.io/blog/the-effective-number-of-bets-measuring-portfolio-diversification/ (ENB formula, ENB∈[1,n], MLT vs PCA, ENB≈1 false-negative example)
- Attilio Meucci, "(Re)Defining and Managing Diversification" — https://www.bayes.citystgeorges.ac.uk/__data/assets/pdf_file/0003/213699/Meucci-ReDefining-and-Managing-Diversification.pdf (ENB / minimal-linear-torsion primary source, cited not deep-read)
- Rob Carver, "I got more than 99 instruments in my portfolio" — qoppac — https://qoppac.blogspot.com/2023/03/i-got-more-than-99-instruments-in-my.html (√N benefit, effective independent bets, ρ=0.5→1.33 bets, raw 0.224 vs vol-scaled 0.09, no-hard-threshold stance)
- "Stop Overfitting: How Indicator Diversity Improves Strategy Robustness" — Medium — https://medium.com/@mariamhov/stop-overfitting-how-indicator-diversity-improves-strategy-robustness-46b021414a76 (signal independence > quantity, "light up together / fail together," shared-feature redundancy)
- "Does Removal of Highly Correlated Features Always Improve Model Performance?" — Medium — https://medium.com/@datacodedesign/does-removal-of-highly-correlated-features-always-improve-model-performance-8d820d30b71d (feature-correlation removal is not universally beneficial; inspect features, not just returns)