Skip to main content
2026-05-22 · 5 min read · ← 5 · summary · research · harness

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:

  1. Add a strategy. Code change, unit tests, lookback ordering, lookback property for the build planner. PR.
  2. Add to the harness. 1-tier import + arm config + print row + multi-seed dict entry. PR.
  3. Read the numbers. Multi-seed stdev / min / max produce evidence. PR description names the observation.
  4. Generalise. Research note articulates the discipline rule the observation supports. PR.
  5. 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_20 and vol_ratio_5_60 features 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.

deskgdfindgfstrategiesgsfeaturesgepromotionsgpapigabotgbwritinggw

Shortcuts are no-ops while typing in an input or textarea.