---
name: xlow survives Kalshi-only execution — reroute, don't skip
description: User is geo-restricted from trading Polymarket. Tested keeping Poly as signal-only (watched, never traded) and rerouting every execution to Kalshi. Full 286-bet sample retained, ~1-2pp ROI cost, still significant and robust. Skipping Poly-cheap signals instead loses half the sample for similar per-bet edge — dominated.
type: project
---

User is geo-restricted from trading Polymarket (2026-07-13). Tested via `E:\soccer\research\kalshi_only_execution.py` on the 286-bet strict-xlow backtest (poly_backfill): does the strategy survive execution-only restriction to Kalshi?

**Two readings, only one is good:**
- **(A) Skip Poly-cheap signals** (only act when Kalshi is the cheap leg): n=150 (52% of signals), +29.2% gross / **+23.7% fee-adj net**, z+1.72/p=.043, bootstrap CI [+6.3%,+55.1%] P(>0)=99%. Per-bet edge is fine (even slightly better than blended), but **halves the sample** — the n>=100 forward-validation checkpoint takes ~2x as long to reach at current stamp rate.
- **(B) Keep ALL signals, reroute execution to Kalshi** (Poly stays a price you watch for confirmation, never a trade): n=286 (full sample), +23.2% gross / **+17.8% fee-adj net**, z+2.41/p=.008, bootstrap CI [+7.3%,+40.5%] P(>0)=99%. Costs only ~1-2pp of ROI vs the dual-execution reference (+19.3% fee-adj) because the "confirming" book (not in the [5,12) band) usually sits near fair, not far from it — avg markup paying Kalshi instead of Poly on the 136 rerouted bets was only **+0.83c**, and Kalshi never lacked a tradeable price on those bets (0/136 missing).

**Noisier sub-slice (context, not a flag):** isolating just the 136 rerouted bets shows TRAIN -4.4% / TEST +47.4% — front-loaded into the back half. Pooled with the 150 Kalshi-native bets (which are solidly positive both halves) this barely moves the total (TRAIN +11.9%->+10.7% pooled). Not a reason for concern on the number that matters (the full pooled result).

**Verdict: (B) dominates (A).** Same or better bottom line, zero sample loss. Watch every XLOW alert regardless of which book it names as cheap; execute every one at Kalshi's current ask.

**How to apply:** When advising on execution given the Poly restriction, the answer is "trade every xlow signal on Kalshi" — not "only trade the ones where Kalshi was already cheapest." Re-verify the ~0.83c markup assumption stays small as forward data accrues (a persistently wider gap would erode this conclusion, though nothing in the backtest suggests it will).
