Kalshi Politics — Mispricing Audit

Report date 2026-07-16 · Methodology v3.3 (conviction-weighted, EV-agnostic sizing; 15% cluster cap; 60–90¢ favorites bias; resolver risks priced as point deductions; LOW conviction never deploys) · Capital $10,000 · Horizon 45 days · Picks in this report count toward the public track record and are cleared for auto-copy.

1. How this was researched

Mode: category-match. $CATEGORY = Politics matched trading_events.category directly: 300 active markets closing before 2026-08-30 in the live Kalshi mirror. No theme-keyword expansion was needed.

Pipeline: (1) schema check against /api/db/schema — note the mirror carries no general price-history table this run (only signal_snapshots, keyed to previously logged signals), so 14-day history came from the Kalshi public candlestick API instead; (2) Stage-1 mechanical screen on live Kalshi API data — volume24h ≥ 1,500, bid-ask spread ≤ 5¢, not fully priced (YES bid < 95¢, YES ask > 5¢), no announcer-noise series (Truth Social post counts, late-night posting hours, photo-days, endorsement counts, etc.), and no ticker already live in users' feeds from $EXISTING_PICKS (37 entries excluded up front, including the whole CPI/payrolls complex, KXKASHOUT, KXHEGSETHOUT, KXKNESSET, KXTRUMPATTEND and both Hormuz legacy picks); (3) Stage-2 diligence on the 14 survivors — full rules text, live 10-level orderbooks, 14-day candlesticks, and primary-source news; (4) Stage-2.5 resolver profiling with priced deductions; (5) Stage-3/3.5 reject screens; (6) conviction-weighted sizing.

One methodological note worth advertising: while pulling the IMF PortWatch resolver feed for the Hormuz markets, the obvious ArcGIS query (portid='chokepoint4') returned a plausible-looking daily series that was actually the Bab el-Mandeb Strait. Hormuz is chokepoint6. The two series differ by 3–4× right now (Bab el-Mandeb ~41/day vs Hormuz ~10/day). An audit that skipped the resolver-verification step would have priced every Hormuz market off the wrong strait — the exact class of error that produced this program's costliest historical loss.

2. Markets reviewed

14 Stage-1 survivors (of 300 screened). Prices are live top-of-book at audit time, in cents.

TickerMarketYES bid/askVol 24hOIOutcome of diligence
KXBLANCHEJUDICIARY-27-26AUG01Judiciary reports Blanche AG nomination before Aug 160 / 621,5356,057PICK — BUY YES
KXTRUMPWORLDCUP-26-DJT-1Trump attends ≥1 World Cup match93 / 9430,797104,679Reject — duplicates live pick cluster
KXHORMUZWEEKLY-26JUL19-T50>50 Hormuz transit calls Jul 13–1982 / 8521,41114,864Reject — NO side is a sub-35¢ tail; 48h move
KXHORMUZWEEKLY-26JUL19-T75>75 Hormuz transit calls Jul 13–1953 / 558,35910,865Reject — coin-flip band, not HIGH conviction
KXHORMUZWEEKLY-26JUL19-T45>45 Hormuz transit calls Jul 13–1985 / 862,3643,015Reject — no edge, 33-contract depth
KXHORMUZPEAK-26JUL19-T15Peak single day >15, Jul 13–1976 / 773,1342,939Reject — efficiently priced
KXHORMUZPEAK-26JUL19-T20Peak single day >20, Jul 13–1947 / 494,5893,566Reject — coin-flip band, no edge
KXAPRPOTUS-26JUL17-41.2RCP approval 41.1–41.3 at 11am Jul 1743 / 443,21710,368Reject — resolver unobservable
KXAPRPOTUS-26JUL17-40.9RCP approval 40.8–41.0 at 11am Jul 1729 / 303,6719,276Reject — resolver unobservable
KXAPRPOTUS-26JUL17-41.3RCP approval >41.3 at 11am Jul 1716 / 204,73210,233Reject — resolver unobservable
KXAPRPOTUS-26JUL17-40.6RCP approval 40.5–40.7 at 11am Jul 176 / 74,7718,374Reject — resolver unobservable, >90¢ NO
KXTRUMPVH-26JUL17-T40.8VoteHub approval >40.8% at 10am Jul 1736 / 421,7063,286Reject — resolver unobservable + 6¢ spread
KXTRUMPBIBIMEET-26AUG01-AUG01Trump meets Netanyahu before Aug 182 / 832,8421,344Reject — efficiently priced
KXBILLSCOUNT-26JUL-0.0Exactly 0 bills become law in July21 / 221,8612,358Reject — definitional trap

3. Top picks — detail and thesis

Pick 1 — KXBLANCHEJUDICIARY-27-26AUG01 · BUY YES @ 0.64 limit · MEDIUM CONVICTION

Market: Will the Senate Judiciary Committee report Todd Blanche's nomination to be U.S. Attorney General to the full Senate before Aug 1, 2026?
Current price: 60 bid / 62 ask (YES)
My probability: 70%  ·  Market implied: ~62%
Entry band: 60–90¢ favorite (effective entry 62–64¢)
Cluster: blanche-ag-confirmation
Close: 2026-08-01T03:59Z (16 days)

Mispricing thesis. The market sold off from 68¢ to 60–62¢ on hearing-week wobble coverage (Cornyn "has concerns," Tillis conditional, the post-Graham one-vote margin). But the mechanics favor YES more than 62¢ implies: the hearing is done (Jul 15, witnesses Jul 16), the committee's regular Thursday executive-business calendar offers two windows before the deadline (Jul 23; standard one-week hold-over lands Jul 30 — still before Aug 1), Blanche is already running the department as acting AG, and leadership wants its AG seated before the August recess. Committee reporting is the step nominations essentially always clear once a majority-party chairman has scheduled the hearing and the White House is actively whipping — failures happen by withdrawal before the hearing (Gaetz), not by losing markup votes.

Evidence.

Resolver profile (Stage 2.5). Resolver: Source Agency reporting that the committee "reports the nomination to the full Senate" — a discrete, well-covered procedural event with no definitional ambiguity (reporting favorably or without recommendation both qualify as "reports"; a tie fails and does not report). Mechanism: first occurrence before Aug 1. Priced deductions from a ~90% mechanical baseline: −12 pts — one GOP defection (Tillis's condition unmet, or Cornyn breaking) either fails the vote or, more likely, causes the chairman to pull it; −8 pts — calendar slip: if votes aren't locked by Jul 30's meeting the next window is past the deadline, and "delayed to September" resolves NO here even if Blanche is ultimately confirmed. Net: 70%.

Tail risks (cleanest way to lose first).

Numbers (for the record — did NOT set size): edge +8¢ vs 62¢ signal (+6¢ vs 64¢ limit); EV ≈ +12.9% on cost at signal; max payout $300 on 300 contracts.
Liquidity / entry context: yes_bid 60 × 100, yes_ask 62 × 10; ask ladder 62×10 → 67×100 → 69×200, so only ~10 contracts fill instantly at ≤64 — this is a resting-limit entry against ~1.5k/day volume, not a sweep; vol24h 1,535; OI 6,057.
Price history (14d): thin until the hearing week — 65¢ (Jul 9), 68¢ (Jul 13–14), 65¢ (Jul 15), 60–62¢ today. The 48h move is toward our entry (wobble news priced in), not away from it.
Sizing: MEDIUM conviction caps cost at 7% of capital ($700); the book caps it lower. 300 contracts at a 64¢ limit = $192 max cost (1.9% of capital), well inside both the conviction cap and the 15% cluster cap.

4. Recommended $10,000 portfolio

One pick cleared every screen this week. That is the correct answer, not a failure: Politics this week is dominated by (a) resolver-snapshot markets I cannot observe, (b) a Hormuz complex that repriced violently intraday on data the resolver hasn't published, and (c) headline markets already trading at my number. Cash is a position — 98.1% held.

PickSideLimitContractsMax cost% capitalConviction / bandMax payoutEdge ¢EV %
KXBLANCHEJUDICIARY-27-26AUG01BUY YES64300$1921.9%MEDIUM · favorite (62–64¢)$300+812.9
Total deployed$1921.9%$300
Cash reserve$9,80898.1%Held for opportunistic adds (see execution notes)

Blended EV at model probabilities: +$18 on $192 deployed (+9.4% on cost at limit). Edge and EV are recorded for calibration only; size was set by conviction tier, entry band, and book depth — v3 is EV-agnostic by design because the resolved record showed stated EV was anti-predictive.

Cluster exposure (cap: 15% of capital per cluster)

ClusterCost% of capitalCapStatus
blanche-ag-confirmation$1921.9%15%OK — sole pick

Correlation note against the live feed: this pick is independent of every ticker in $EXISTING_PICKS. The tempting World Cup add was rejected precisely because it would have doubled an existing feed cluster (see Section 5).

Conviction exposure

TierCost deployedPer-pick capPicks
HIGH$0$1,5000
MEDIUM$192$7001
LOW$0 — never deploys (v3.3)0

Risk profile

Execution notes

5. What I rejected and why

Every Stage-2 survivor that didn't become a pick is machine-logged in picks.json and shadow-tracked to settlement — if the rejects outperform the picks, the screen itself is falsified, and that's a finding. Thirteen rejects this run, in four stories:

The Hormuz complex (5 rejects) — the entry-band screen doing its job

The resolver is IMF PortWatch daily transit calls for chokepoint6 (verified against the chokepoint reference table — chokepoint4, the obvious guess, is Bab el-Mandeb). The resolver's published series ends Jul 12: the market week (Jul 13–19) has zero published days. Run-rate into the week was 15, 11, 9, 14, 10/day (Jul 8–12). Since then, off-resolver evidence only: a live tracker logged a 41-vessel rush on Jul 14 ahead of the reinstated US blockade (effective 20:00 UTC Jul 14); Iranian missiles hit two VLCCs the same day; Iran re-declared the strait closed Jul 16; the US claims 7 transits Jul 16; 39 tankers are running dark — and dark ships don't appear in an AIS-based count. On that evidence I make the weekly sum ~45–70 central, and the whole Kalshi complex repriced violently today (T50: 43¢→85¢; T75: 22¢→54¢) on exactly this unpublished-data guesswork.

The approval snapshots (5 rejects) — unobservable resolver

The KXAPRPOTUS buckets resolve to the literal RealClearPolitics average at 11:00 AM ET tomorrow; KXTRUMPVH to the VoteHub average at 10:00 AM. Both resolver pages returned HTTP 403 to every fetch attempt, and no Wayback snapshot exists for this week. The last public print I can cite is RCP 40.9 on Jul 14 (AOL/RCP) — but the 41.1–41.3 bucket has been bid from 24¢ to 44¢ over 48h by traders who are plainly watching the live page. Betting a snapshot market blind against page-watchers is not an edge in any direction, so all five legs are rejected on resolver-unobservability (Stage 2.5's screen), the VoteHub leg doubly so for its 6¢ spread on a 13×24-contract book.

The definitional trap (1 reject) — KXBILLSCOUNT-26JUL-0.0

The single most instructive market of the run. Title: "Will 0 to 0 bills become law in Jul 2026?" Rules primary: "If the President signs exactly 0 bills into law in Jul 2026…". On Jul 11 the 21st Century ROAD to Housing Act became law without Trump's signature after he cancelled the signing ceremony and declared he'd sign nothing until Congress passes the SAVE America Act (NPR, Jul 10). Under the title's reading NO has already won; under the rules' literal reading YES is alive and arguably cheap at 22¢ given an announced signing strike. When the two readings of the same contract point at opposite resolutions, the market is unpriceable at any conviction tier — Stage 3's "definitional dispute could flip the resolution" reject, verbatim. (Its 3¢→28¢→21¢ two-week path suggests the market hasn't agreed on the reading either.)

Efficiently priced / duplicate cluster (2 rejects)

6. Sources

Data sources: Kalshi mirror DB (markets, events, rules), Kalshi public trade API (live books, candlesticks), IMF PortWatch ArcGIS feed, and the primary news sources linked above. Audit run 2026-07-16 under methodology v3.3.

Disclaimer: all probabilities are subjective estimates by the auditing model, not statements of fact. Prediction-market contracts routinely resolve to zero; the entire cost of any position can be lost. Logged rejects are shadow-tracked for selection-skill analysis and are not recommendations. Nothing here is financial advice.