---
name: Pure Kalshi-vs-Poly deviation is NOT a standalone edge — it needs pin_fair
description: Tested dropping Pinnacle and trading the two books against each other (bet the cheaper when they disagree). Flat-to-negative, worsens as deviation widens, falsification leg also loses. The pin_fair signal on the same fixtures is +11%. Pinnacle is the sharp anchor doing the work.
type: project
---

User asked 2026-06-29: "does deviation between Polymarket and Kalshi turn profitable, or does it need pin_fair?" The unique/overlap research (see project_soccer_pipeline / forward_test_unique_book) always selects bets by CLV-vs-pin_fair, so it never isolated this. Tested via `E:\soccer\research\kalshi_poly_pure_deviation.py` on poly_backfill (975 resolved fixtures): replace Pinnacle fair with the **two-book average** (mean of kalshi_mid + poly_price), bet the CHEAPER book's side when its x-book CLV is in band, settle at that book's ask (Kalshi ask / Poly est-ask).

**Verdict: NO. Pure cross-book deviation does not turn profitable. It needs pin_fair.**
- **A) Pure x-book, no Pinnacle:** [3,12)% n=180 +1.4% z+0.54; >=5% n=67 **-23.1%** z-0.60; >=10% n=21 **-52.4%** z-1.16. Flat-to-negative and **monotonically WORSE as the deviation widens** — the opposite of a real edge.
- **B) Falsification (bet the DEARER book):** also loses (-29% to -42%). The disagreement is non-directional noise — neither leg pays.
- **C) Crux:** of 67 pure-dev bets, 57 are ones where Pinnacle ALSO says cheap=cheap, and even those lose (-9.6%). The two-book midpoint is a **contaminated** fair: when both books are cheap vs Pinnacle their average is cheap too, so deviation-from-midpoint never catches the true mispricing.
- **D) Same 975 fixtures, the live pin_fair signal:** +11.0% ROI, 25.2% WR, n=421, z+1.26 — positive on 6x the sample.

**Why:** Pinnacle is a SHARP book = the truth anchor that does all the discriminating (which side, which book is mispriced). Kalshi and Poly are both SOFT venues; their mutual disagreement says nothing about which is right. This is the same lesson as the unique/overlap mechanism finding (the edge needs the 2nd book to CONFIRM Pinnacle) and the B365-confirmation probe (cross-book consensus is not the edge) — the common thread is that an EXTERNAL sharp reference, not agreement between two soft books, is load-bearing.

**How to apply:** Don't build a Pinnacle-free, two-book-spread strategy — it's not there. Keep pin_fair as the fair-value anchor in every signal. Only revisit if a genuinely sharp THIRD reference becomes available (not two soft books). Caveat: pure-dev in-band n is small (~63-67) because Kalshi and Poly usually price within ~1-2c — large divergences are rare and noisy, which is itself part of the point. Re-runnable: `kalshi_poly_pure_deviation.py`.
