Kalshi Politics — Mispricing Audit

Report date 2026-07-23 · Horizon 45 days · Capital $10,000 · Methodology v3.3 (conviction-weighted, EV-agnostic sizing; sub-35¢ tails and low-conviction leans are hard rejects) · Picks count toward the public track record and are cleared for auto-copy.

1. How this was researched

Mode: category-match. $CATEGORY = Politics matched 335 active markets in trading_events.category = 'Politics' closing before 2026-09-06 (45-day horizon), via the read-only DB mirror. (The separate Elections category, 74 markets, was out of scope.) The live Kalshi API supplied current quotes, order books and daily candlesticks — note the API now returns dollar-string fields (yes_bid_dollars etc.), which this audit converted to cents.

Stage 1 filter (volume24h ≥ 1,500 · spread ≤ 5¢ · not announcer-noise · not already ≥95/≤5 · not an already-published pick): 335 → 14 candidates. Cuts: 253 on volume, 34 announcer-noise (Truth Social post counts, endorsement counts, ActBlue leaderboards), 20 fully priced, 13 already live in the feed, 1 on spread.

Stage 2–2.5 diligence pulled full rules text for all 14, live order books, 14-day candles, and primary sources — most importantly the resolver's own data feed for the dominant cluster: the IMF PortWatch daily chokepoint dataset (ArcGIS Daily_Chokepoints_Data, portid=chokepoint6 = Strait of Hormuz), queried directly. Every probability below is a forecast of the named resolver's verdict, with resolver risks priced as explicit point deductions.

2. Markets reviewed

TickerQuestion (short)YES bid/ask ¢Vol 24hVerdict
KXHORMUZWEEKLY-26JUL26-T40Hormuz transit calls Jul 20–26 > 40 (IMF PortWatch)74 / 763,607PICK — BUY YES
KXHORMUZWEEKLY-26JUL26-T50Hormuz transit calls Jul 20–26 > 5051 / 564,847REJECT — band screen
KXHORMUZWEEKLY-26JUL26-T60Hormuz transit calls Jul 20–26 > 6031 / 332,822REJECT — tail
KXHORMUZWEEKLY-26JUL26-T70Hormuz transit calls Jul 20–26 > 7018 / 192,059REJECT — tail
KXHORMUZNORM-26MAR17-B260901Hormuz 7-day MA > 60 before Sep 18 / 950,683REJECT — no edge
KXCLARITYVOTE-26JUL-AUG08Senate recorded vote on CLARITY Act before Aug 872 / 7310,910REJECT — fairly priced
KXCLAYTONCONF-26JUN11-AUG01Clayton confirmed DNI before Aug 186 / 893,304REJECT — no edge at ask
KXLAKECONF-26MAY12-SEP01Kari Lake confirmed Amb. to Jamaica before Sep 116 / 2022,714REJECT — tail
KXTRUMPBIBIMEET-26AUG01-AUG01Trump–Netanyahu meet in person before Aug 152 / 538,250REJECT — coin-flip
KXHEGSETHOUT-26APR-SEP01Hegseth out as SecDef before Sep 17.5 / 8.96,804REJECT — thin, duplicative
KXAPRPOTUS-26JUL24-41.2RCP approval 41.1–41.3 at 11 AM ET Jul 2442 / 436,218REJECT — coin-flip
KXAPRPOTUS-26JUL24-41.5RCP approval 41.4–41.6 at 11 AM ET Jul 2410 / 118,430REJECT — tail
KXTRUMPPHOTO-26JUL26-5Getty Trump photo days Jul 20–26 = exactly 545 / 461,905REJECT — resolver risk
KXTRUMPPHOTO-26JUL26-6Getty Trump photo days Jul 20–26 = exactly 630 / 311,653REJECT — tail + resolver

3. Top pick — detail and thesis

Pick 1 — KXHORMUZWEEKLY-26JUL26-T40 · BUY YES @ 0.77 limit · HIGH CONVICTION

"Will there be more than 40 transit calls through the Strait of Hormuz from Jul 20, 2026 to Jul 26, 2026?" — resolves YES if the number of transit calls as reported by IMF PortWatch for Jul 20–26 exceeds 40. Closes 2026-07-28 13:00 UTC.

Current price: 74 / 76 ¢
My probability: 85%
Market implied: ~76%
Entry band: 60–90¢ favorite
Edge: +8¢ / contract (record only)
Cluster: hormuz-transit

Mispricing thesis. The crowd is pricing the headline ("Strait of Hormuz closed to commercial shipping") while the rules pay whatever the IMF PortWatch daily counter prints — and that counter has printed 6–17 vessels every single day through the entire "closure." The month's worst day (6, on Jul 12) sustained for all seven days still sums to 42 > 40. Three of the seven days (Jul 20–22) are already in the past under a regime that averaged 14.3/day over its three final published days.

Evidence (receipts).

Resolver profile & priced risks (Stage 2.5). Resolver: IMF PortWatch daily transit-call series for the Strait of Hormuz, summed over Jul 20–26; mechanism is a published-data read after the ~4-day lag (expect settlement ~Jul 30–31). Rules text is one sentence and unambiguous. Priced deductions: PortWatch retroactive revisions of daily prints, −2 pts; Kalshi reading a different PortWatch surface than the ArcGIS daily series, −1 pt; publication delay pushing settlement into exchange discretion, −1 pt. Evidence-based probability 89 − 4 = 85. (Prior-run scar tissue respected: the KXMAXSHIPSHORMUZ loss came from betting a tracker against this resolver. This pick bets the resolver's own published floor.)

Tail risk — the cleanest way this loses. A genuine zero-transit blockade takes hold immediately: Jul 20–22 prints come in at the monthly minimum (~6/day) and Jul 23–26 collapse to ~0–3/day, summing under 41. That requires an unprecedented-in-this-crisis suppression level sustained for a week, during which fee-paying, Iranian-routed and coastal traffic — which PortWatch counts — has never stopped. War escalation is real (CENTCOM's tenth consecutive night of strikes; Iran suspended MOU commitments Jul 18), so the tail is live, just small.

Numbers. 512 contracts at ≤77¢ = $391 cost → max payout $512, +$121 if YES (+30.8% on cost). EV at p=0.85: +$44 (+11.2%) — recorded for calibration, not used for sizing.

Liquidity / entry context (2026-07-23, ~19:00 UTC). Best YES bid 74¢ × 166; ask side 76¢ × 285, 77¢ × 227 → 512 contracts fillable within 1¢ of best ask; next depth at 81¢ (skipped — >3¢ slippage). Volume 24h 3,607; open interest 4,521.

Price history (daily close). Jul 18: 62 → Jul 19: 66 → Jul 20: 42 → Jul 21: 48 → Jul 22: 84 (high 97) → Jul 23: 74. The ≥20¢ moves on Jul 20 and Jul 22 both came with volume and map to the lag cycle of the resolver's data.

4. Recommended $10,000 portfolio

#TickerActionLimit ¢ContractsCost $Conviction / bandMax payout $EV ¢/ctEV %
1KXHORMUZWEEKLY-26JUL26-T40BUY YES77512391.39HIGH · 60–90¢ favorite512.00+8.6+11.2
Totals512391.39512.00+11.2

Total deployed: $391.39 (3.9%). Cash held: $9,608.61 (96.1%). Blended EV +11.2% on deployed cost; dollar edge ≈ +$44. Sizing was set by conviction tier (HIGH → cap $1,500), entry band, and order-book depth — the fillable book at ≤3¢ slippage (512 contracts) bound long before the tier cap did. ev_pct/edge_cents did not drive contract counts.

Cluster exposure

ClusterCost $% of capitalCap (15%)
hormuz-transit391.393.9%$1,500

Note: the users' feed already carries prior-run Hormuz exposure (KXMAXSHIPSHORMUZ-26JUL31-AL50 YES). This run's leg is mildly positively correlated with it but sits at a quarter of the per-run cluster cap. The four rejected Hormuz-ladder legs were kept out of the book precisely so a single blockade step-change cannot flip the run's sign.

Conviction exposure

TierCost deployed $Picks
HIGH391.391
MEDIUM00
LOW— (never deploys, v3.3)0

Risk profile

Execution notes

5. What I rejected and why

All 13 Stage-2 survivors below are machine-logged in picks.json and shadow-tracked to settlement — if the rejects outperform the picks, the screen adds nothing, and that finding matters. Entry-band cuts are marked [BAND].

6. Sources

Data: Kalshi mirror DB + Kalshi public API (2026-07-23), IMF PortWatch ArcGIS feed, and the cited press. All probabilities are subjective estimates; binary contracts resolve to $1.00 or $0.00 and positions can lose 100% of cost. This report is research, not financial advice. v3.3 methodology: conviction-tier sizing caps, 60–90¢ entry-band preference, sub-35¢ tails and LOW-conviction leans hard-rejected, 15% per-cluster cap, EV recorded but never used for sizing. Rejects are shadow-tracked to settlement.