---
name: project-kalshi-drift-to-fair
description: Kalshi prices show no general drift toward Pinnacle fair; only in the xlow band, at +0.26c, matching the historical +0.30c
metadata:
  type: project
---

Tested 2026-07-27 on `research/mm_paper_quotes.csv` (22k snapshots, 144 legs, 48
events, 2026-07-26 to 07-27) via `research/mm_drift_to_fair.py`.

**No general drift.** Non-overlapping windows, SEs clustered by event: 15min
-0.017c (t=-0.56), 30min +0.065c (t=+1.17), 60min +0.010c (t=+0.10), 120min
-0.073c (t=-0.34). "Moved right" 46-54% — a coin flip. No monotone pattern by gap
size.

**The zero is informative, not underpowered:** clustered SE 0.056c at H=30min, so
minimum detectable effect (t=2) is 0.11c. A true +0.31c drift would have shown
t=+5.6.

**But in the xlow band it appears.** Legs whose relative gap `(fair-mid)/fair` is
in [0.05,0.12), one obs per leg, held to last pre-kickoff quote: n=58 legs / 38
events, **+0.259c, t=+1.21**, 59% moved toward fair. Not significant, but the point
estimate independently reproduces the historical +0.30c from
[[project-clv-spread-finding]] — different data, different method.

**Why it matters:** third independent confirmation of the same verdict — the drift
is real, lives specifically in the band, and is ~0.26-0.31c against ~0.5c to cross
a 1c spread plus ~1c taker fee. See [[project-xlow-spread-verdict]].

**How to apply:** For the paper maker ([[project-mm-paper-implementation]]), the
absence of general drift is the good news: capping our ask at the market ask is not
systematically selling legs about to move against us. The untested risk is adverse
selection — whether *filled* legs move against us more than quoted legs do. That
requires conditioning on fills, not quotes, and needs more settled books than the
19 fills available on 2026-07-27.

**Method notes (do not repeat these mistakes):** consecutive 20s snapshots of one
leg are nearly the same observation — overlapping windows inflate n ~200x and make
t-stats meaningless. The three legs of a match sum to ~1 so they move together;
cluster by event, not by leg.
