Anti-correlation hedges, doesn't stack — the pairwise rule's 5th iteration
what you'll learn · Why the pairwise rule's 'low correlation predicts stack' needs a sign qualifier — and how the empirical surface of anti-correlated parents differs from low-positive-correlation parents.
PR #802's vol_weighted_mean_revert composite was predicted to stack — pairwise correlation -0.42, both score-stage, no sign-vs-rank conflict. All four prior iteration conditions satisfied. Instead the composite TIED its better parent on both single-signal and dual-signal data. The mechanism: anti-correlated parents HEDGE each other; the sum captures the average, bounded by the better parent. This is the rule's 5th iteration: negative correlation predicts hedging, not stacking.
The pairwise rule’s PR #777 “final form”:
Composite stacks if and only if:
- Parents have low pairwise correlation (under 0.5), AND
- Composition is same-stage, AND
- Compositional mechanism preserves both parents’ decision rules.
PR #802’s vol_weighted_mean_revert composite satisfied all
three:
vol_weighted × mean_revertpairwise correlation: -0.42- Both score-stage (same-stage).
- Both rank-based decisions (no sign-vs-rank conflict).
By the rule, it should stack. Empirically:
Single-signal N=50:
vol_weighted: +0.795 (parent 1)
mean_revert: -0.490 (parent 2; from PR #759 leaderboard)
vol_weighted_mean_revert: +0.793 ← ties parent 1
Dual-signal N=50:
vol_weighted: +0.462 (parent 1)
mean_revert: +0.252 (parent 2; flips positive)
vol_weighted_mean_revert: +0.458 ← ties parent 1
The composite tied the better parent on BOTH modes. Even on
dual-signal data — where the previous composite
(three_clock_vol_weighted, +0.71 correlation) stacked
slightly — this composite (-0.42 correlation) didn’t.
The mechanism — anti-correlation produces hedge, not stack
When parent arms have low POSITIVE correlation, their per-symbol scores point in approximately the same direction most of the time. The composite picks the AVERAGE direction, adding both parents’ signal information.
When parent arms have NEGATIVE correlation, their per-symbol scores point in OPPOSITE directions most of the time. The composite picks the AVERAGE direction — but the average of opposing signals is the HEDGE, not the sum.
Specifically: if parent A says “long UP, short DOWN” and parent B says “long DOWN, short UP” (anti-correlated), the average is approximately FLAT on both UP and DOWN. The composite trades neither — or trades the wrong direction when the signs partially cancel.
The pairwise rule’s “stack” framing assumed parents that catch INDEPENDENT signals (additive). Anti-correlated parents catch OPPOSING signals (cancelling). The rule didn’t distinguish.
The 5th iteration
PR #777’s combined rule:
Composite stacks iff:
- Low pairwise correlation (under 0.5), AND
- Same-stage composition, AND
- Compositional mechanism preserves both decision rules.
PR #802’s refinement adds a sign qualifier to condition 1:
Composite stacks iff:
- Low POSITIVE pairwise correlation (between 0 and +0.5), AND
- Same-stage composition, AND
- Compositional mechanism preserves both decision rules.
Anti-correlation (negative) produces HEDGE, not stack.
The hedge property is still useful
Anti-correlated composites don’t stack on mean Sharpe, but they DO reduce variance:
Single-signal N=50:
vol_weighted: stdev 1.022
vol_weighted_mean_revert: stdev 1.022 ← identical at N=50
(no diversification benefit)
Dual-signal N=50:
vol_weighted: stdev 0.991
vol_weighted_mean_revert: stdev 0.989 ← slightly tighter
On the synthetic, the hedge benefit is small (stdev barely changes). On real data with more correlated regime structure, anti-correlated composites might produce meaningful variance reduction. The synthetic doesn’t expose this clearly.
What this rules out
-
Not “the pairwise rule is broken.” The rule’s direction prediction held — the composite didn’t INTERFERE, it just didn’t STACK. The “no-conflict, no-interference” reading is consistent with the rule. The “stack” reading was wrong.
-
Not “anti-correlated arms are useless.” They have a legitimate role as hedge components in a portfolio of arms. Just not for STACKING composites.
-
Not “stop building anti-correlated composites.” Operators building portfolio-of-strategies (rather than composite-strategies) should embrace anti-correlation — hedging reduces tail risk. But the harness’s mean-Sharpe ranking won’t reflect that benefit.
The 5-iteration history
| # | PR | Refinement |
|---|---|---|
| 1 | #710 | Low pairwise correlation predicts stack |
| 2 | #742 | Compute the WOULD-BE composite’s correlation |
| 3 | #748 | Same-stage required; mixed-stage interferes |
| 4 | #770 | Compositional mechanism must preserve decisions |
| 5 | #802 | Anti-correlation hedges, doesn’t stack |
Each iteration was triggered by a composite that confounded the previous version. The rule is converging — the negative band (anti-correlation = hedge) closes a gap that the “under 0.5” formulation had left open.
The pre-build checklist (updated)
The 5-iteration final form’s pre-build checklist:
- Compute pairwise correlation between parents.
- If correlation is between 0 and +0.5: stack candidate.
- If correlation is between +0.5 and +0.8: marginal.
- If correlation is above +0.8: composite IS parent → skip.
- If correlation is negative: HEDGE candidate, not stack candidate. Build only if variance reduction is your goal, not mean lift.
- Check same-stage requirement.
- Check no sign-vs-rank conflict.
- Ship the composite. Verify empirically; refine the rule if needed.
The closing observation
The pairwise rule has now iterated five times. Each iteration closed a gap that the previous left open. The rule has become quite specific — but it’s still a discipline rule, not a mathematical theorem. Future composites may still surprise.
The 5/5 direction prediction record from PR #777 needs an update: the prediction “stack” for vol_weighted_mean_revert was wrong. The correct prediction is “hedge, not stack.” That’s 6/6 if we interpret hedge as “no-conflict” — but it’s still 1/6 on stack-magnitude prediction (only three_clock_vol_weighted on dual-signal showed a small stack).
The matrix has navigated the territory. The rule has caught up to most of it. Real data will be the test that determines whether either the matrix or the rule generalises.