Skip to main content
2026-05-22 · 4 min read · ← 4 · strategy · research · composition

Dual-signal data makes composites stack

what you'll learn · Why composite-strategies-can-interfere flips to composite-strategies-stack when the data has multiple independent alpha sources, and what it means for real-data deployment.

Added a second alpha source to the harness data — per-bar mean-reversion independent of the FOMC drift. The composite arm that INTERFERED on single-signal data (PR #664) now STACKS on dual-signal: mean +1.190 above three_clock_momentum (+1.181) and vol_regime_filter (+1.125). Confirms PR #666's hypothesis: 'interferes' was a property of the synthetic having one alpha source, not of the strategies themselves.

PR #666 named the open question:

Both top arms are working via the same mechanism on this synthetic — noise reduction. […] On real data with multiple genuine alpha sources, the composite might stack; on synthetic with one signal, it interferes.

This note documents the experiment that resolved it. PR #672 added a --mean-revert-bps flag to the harness: a second independent alpha source operating on the 5-bar clock while the FOMC drift operates on the event clock. Reran the composite arm on the dual-signal data.

Before vs. after

Single-signal (FOMC drift only, prior data from PR #664):

three_clock_momentum:   mean +1.429, stdev 0.672, min +0.396
vol_regime_filter:      mean +1.493, stdev 1.383, min −0.069
three_clock_vol_regime: mean +1.460, stdev 1.370, min −0.310
                        ← BETWEEN parents (interfered)

Dual-signal (FOMC drift + mean-reversion, this experiment):

three_clock_momentum:   mean +1.181, stdev 0.630, min +0.382
vol_regime_filter:      mean +1.125, stdev 1.389, min −0.559
three_clock_vol_regime: mean +1.190, stdev 1.210, min −0.187
                        ← ABOVE both parents (stacks)

The composite’s mean (+1.190) is now the highest of the three. Stacks confirmed.

What changed

The strategies didn’t change — same code, same parameters, same seeds. What changed is what the data has in it.

  • Single-signal data has one alpha source (FOMC drift) buried under isotropic noise. Both three_clock_momentum and vol_regime_filter work by reducing the same noise from different angles — the composite-score averages across three horizons; the regime gate drops symbols whose vol is transitioning. Same job; can’t double-count.

  • Dual-signal data has TWO alpha sources: FOMC drift on the event clock + 5-bar mean-reversion on the short clock. The composite-score catches the short-clock signal (the negative weight on mom_5 is designed to fade short-term overreactions). The regime gate catches the event-clock signal (drops vol-spiking names around FOMC days). Different jobs; the composite gets both.

The harness number changes from “between parents” to “above both parents.” Same strategies; different data.

Why this matters for real-data deployment

Real markets have many independent alpha sources: short-term mean-reversion, medium-term trend, long-term value, event drift, sector rotation, factor exposure, regime change. The harness’s single-signal mode is a stress test — it asks whether composing two strategies that work on the same edge causes interference. The answer there is yes. The dual-signal mode is a less-stressed test — it asks whether composing two strategies that target different edges stacks. The answer there is yes too.

The discipline rule from PR #666 still stands:

Measure before assuming additivity. “Interferes” is a real outcome.

Updated:

Measure before assuming additivity. “Interferes” indicates the two arms are finding the same alpha from different angles — often because the data has one signal you can hit. “Stacks” indicates the arms are catching different signals — common on data with multiple independent alpha sources. The harness’s single-signal mode tests for interference; dual-signal mode tests for stacking; real data does both.

What this rules out

  • Not a claim about real markets. This is two synthetic experiments at opposite ends of the signal-richness spectrum. Real markets are somewhere in between (some signals, lots of noise, signal coverage by strategy varies). The composite result on real data is empirical — neither single nor dual synthetic predicts it.

  • Not “always compose.” On data with one alpha source, composing is a Sharpe loss (we measured −0.033 from the higher parent). The choice between deploying the parent-with-the- highest-mean or the composite depends on whether the operator believes the data has independent signals to catch.

  • Not “two synthetic modes is enough.” A three-signal, four-signal, signal-correlation-varying generator would further refine when stacking happens. Out of scope here.

The new measurement protocol

When evaluating a composite arm:

  1. Run on single-signal mode. Result tells you whether the two parents share a mechanism.
  2. Run on dual-signal mode. Result tells you whether the two parents catch different signals when both are present.
  3. The OPERATOR’S DECISION: deploy the composite only if you believe the deployment universe has multiple alpha sources AND the dual-signal harness showed stacking. Deploy the highest-parent if you believe the universe has one dominant alpha source OR the dual-signal harness still showed interference.

The harness gives you both numbers in two runs. The operator brings the data prior.

The discipline rule

A composite’s stack-vs-interfere result is a function of BOTH the strategies and the data. Test on at least two modes — single-signal (worst case) and dual-signal (best case) — and let the operator’s data prior pick.

deskgdfindgfstrategiesgsfeaturesgepromotionsgpapigabotgbwritinggw

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