What 19 arms told us about strategy composition
what you'll learn · A navigable index of the four load-bearing claims the 19-arm A/B harness produced this session — what was measured, where each claim is documented, and what the open questions are for real-data deployment.
A session of incremental work grew the harness from 6 to 19 arms across two synthetic signal modes. The findings cluster into four claims about composition, regime gates, and what synthetic harnesses can and can't measure. This note is the index.
The harness started as a 3-arm A/B (baseline + blackout + drift) and grew to 19 arms across two synthetic signal modes (single-signal: FOMC drift only; dual-signal: FOMC drift + short-clock mean-reversion). Across that growth, four claims emerged that survived multi-seed measurement. This note names them — and the discipline rules they support — so a future operator can find the evidence without paging through every PR.
Claim 1: Strategy shape matters more than factor count
time_series_momentum (one factor + 2% threshold) beat
four_factor (four moments combined) on mean AND on min Sharpe.
The threshold doesn’t add information — it SUBTRACTS trading
when the signal is weak. Cross-sectional strategies always
trade the quantiles; the entry-rule axis closes a chop hole
the score axis can’t.
→ Documented:
strategy-shape-beats-factor-count
Catalog impact: the entry-rule axis (xs_momentum_with_spread_filter,
time_series_momentum, xs_momentum_with_vol_regime_filter) is
now an explicit row in the decomposition table.
Claim 2: Composite-horizon beats single-window
xs_three_clock_momentum (5-bar / 20-bar / 60-bar linear
combination) posted +1.429 mean Sharpe vs baseline’s +1.001 —
a 0.43 improvement, second only to the vol-regime gate (+1.493).
The negative coefficient on mom_5 (the short window) is what
distinguishes “composite” from “averaged” — short-window
mean-reversion + medium-window trend stacks on the same
strategy.
→ Documented:
three-clock-momentum-tops-the-harness
Catalog impact: a “Multi-window single-factor” row in the score-axis table.
Claim 3: Mean Sharpe rankings hide the variance trade
vol_regime_filter won on mean Sharpe (+1.493) but came with
stdev 1.383 — more than 2× baseline’s 0.581. The min went
negative (−0.069). Ranking strategies by mean alone misses the
operator-relevant trade.
→ Documented:
vol-regime-filter-mean-vs-variance
ADR impact: ADR-0060 (“Harness measurement protocol”) codifies three rules — report all four stats, rank by operator metric, run composite arms before declaring two top arms.
Claim 4: Composite stack-vs-interfere depends on the data
Composing the two top arms (three_clock_momentum +
vol_regime_filter) produced an interesting test:
-
On single-signal data: composite mean +1.460 SAT BETWEEN parents. Min −0.310 (worse than either). INTERFERES.
-
On dual-signal data: composite mean +1.190 ABOVE both parents. STACKS.
The strategies didn’t change. The data changed. Both arms work via noise-reduction on single-signal data (they smooth the same noise); on dual-signal data, they catch different signals.
→ Documented:
composite-strategies-can-interfere (the
interfere result) +
dual-signal-makes-composites-stack (the
stack result).
Regression-test impact: tests/test_example_fomc_blackout_compare.py
now has two tests that pin the fingerprint property of the
dual-signal mode. If a future change breaks the predicted
ordering, CI fails.
The five-step process
The work followed a predictable shape:
- Add a strategy. Code change, unit tests, lookback ordering,
lookbackproperty for the build planner. PR. - Add to the harness. 1-tier import + arm config + print row + multi-seed dict entry. PR.
- Read the numbers. Multi-seed stdev / min / max produce evidence. PR description names the observation.
- Generalise. Research note articulates the discipline rule the observation supports. PR.
- Codify if load-bearing. ADR or regression test pins the rule against future drift. PR.
The pattern doesn’t have to run in order — Claim 1 was named first (PR #557) but the entry-rule axis it predicted didn’t exist as a strategy until PR #561. Claim 4 ran the predicted experiment three PRs after the question was asked. The research note + code + test triple is what survives; the order of the triple within a question is incidental.
What this session DIDN’T show
-
Real-data results. Every claim is on synthetic data designed to surface specific edges. Real markets have many more signals (and many more noise sources). ADR-0014 (stale-thesis policy) says claims need real-data verification before deployment — this work is the scaffold for that verification, not the verification itself.
-
The harness’s sensitivity to seed count. All claims here ran at N=5 seeds. A future operator can re-run at N=20 or N=100 to refine the stdev / min estimates. The 4-stat reporting doesn’t change; just the precision does.
-
Cross-strategy correlation. The harness reports per-arm stats, not pairwise correlation. Composite arms test pairwise interaction; a fuller correlation matrix would name more shape-vs-shape relationships. Out of scope.
The discipline-rule index
Three rules from ADR-0060 + four claims above:
| # | Rule | Source |
|---|---|---|
| R1 | Report all four (mean, stdev, min, max) | ADR-0060 |
| R2 | Equal-leverage controls for Sharpe comparisons | ADR-0060 |
| R3 | Run composite arm before declaring two top arms | ADR-0060 |
| R4 | Entry rule does more work than score rule on most signals | Claim 1 |
| R5 | Multi-window single-factor beats single-window | Claim 2 |
| R6 | Higher mean ≠ better choice; min Sharpe is the operator gate | Claim 3 |
| R7 | Composite stack-vs-interfere is a property of data, not strategies | Claim 4 |
The next experiments
Out of scope for this session, named for future-me:
- A third synthetic mode (vol-clustering autocorrelation) to
test whether the
realized_vol_of_vol_20andvol_ratio_5_60features unlock new edges. - Pairwise correlation matrix across the 19 arms — which arms are catching the same signal vs. different signals?
- Real-data run: point the harness at SP500 + Polygon daily bars + the live FOMC calendar. Most of the synthetic claims will either confirm, refute, or refine — but the harness is the test surface that can run that comparison.
The 19-arm A/B + the discipline rules + the regression tests are the platform that makes the next experiments cheap to attempt.