---
name: xlow + momentum combo tested — dominated, don't combine
description: Applied the frozen momentum drift filter (require price moved in your favor before betting, price at late ask) to xlow's already-selected book. Result is DOMINATED not improved -- filter cuts n by 16% (286->239) for slightly worse ROI (24.7%->23.6%) and z (2.59->2.47). The discarded "dip" bets are still +13.4% ROI on their own, just milder.
type: project
---

Tested 2026-07-21 on the poly_backfill 286-bet universe (same stream as
[[project_kalshi_only_execution]]), user question "what about xlow with momentum".

**Method:** for each xlow-fired bet, checked whether the firing book's mid drifted
>=0 between the firing snapshot and the last pre-KO snapshot (momentum's frozen rule
from `forward_test_drift_momentum.py`), priced at the LATE ask if kept (non-look-
ahead, same convention as momentum's own forward test).

**Result:**
| slice | n | WR | ROI | z |
|---|---|---|---|---|
| xlow unfiltered | 286 | 29.7% | +24.7% | +2.59 |
| xlow + momentum (drift>=0 kept) | 239 | 29.7% | +23.6% | +2.47 |
| discarded dip bets (drift<0) | 75 | 29.3% | +13.4% | +0.94 |

**Why it doesn't help:** momentum was designed to clean up the noisier BASELINE
single-book CLV signal (helped there in-sample: +20.2% vs +11.6%, though that finding
is itself unproven -- momentum's own forward test is currently NEGATIVE, n=63
ROI -20.85% as of 2026-07-21). xlow's band gate (cheap book in [5,12), other book NOT
in band) already does aggressive selection; there's little residual junk left for a
drift filter to remove. The "dip" bets it discards are milder, not bad (+13.4% ROI,
still positive) -- so filtering them out just shrinks the sample for no quality gain.

**Verdict: DON'T combine.** Dominated result, not a close call. Closed, same category
as round robins / league gates / sub-ask limits -- tested and rejected, don't reopen
without new evidence. Momentum stays a separate, independently-tracked (and currently
unconfirmed) strategy on the baseline signal.
