Kalshi Politics — Mispricing Audit
1. How this was researched
This run used category-match mode: all markets with trading_events.category = 'Politics', status active, closing within 45 days — 263 markets from the live Kalshi mirror. The Stage-1 mechanical screen (24h volume ≥ 1,500 contracts; bid–ask spread ≤ 5¢; not already ≥95¢/≤5¢; no "what will X say"-type noise markets; no contracts already live in the published feed) cut that to 21 liquid markets, which collapse into roughly ten distinct theses. For each survivor I pulled the full rules text, 14-day intraday snapshot history, the live Kalshi orderbook, and primary-source news; each candidate then went through the v3.1 resolver-profile step (who resolves it, by what mechanism, with what priced deductions) and the Stage-3.5 conviction/entry-band screen.
Three already-published picks overlapped this window's liquid set (KXTRUMPATTEND, KXTRUMPVH-26JUL10-T40.2, KXHORMUZNORM-26MAR17-B260715) and were excluded from candidacy up front, along with anything that merely re-expresses their theses.
2. Markets reviewed
| Ticker | Market | YES bid/ask ¢ | Vol 24h | Disposition |
|---|---|---|---|---|
| KXROADOUTCOME-26-NOSIG | ROAD Act becomes law without signature before Jul 14 | 73 / 75 | 2,080 | PICK 1 — BUY YES |
| KXMAXSHIPSHORMUZ-26JUL31-AL50 | Highest single-day Hormuz transits ≥50 in July (PortWatch) | 24 / 28 | 5,030 | PICK 2 — BUY YES (lottery, 2% cap) |
| KXHORMUZWEEKLY-26JUL12-T175 | >175 Hormuz transit calls Jul 6–12 | 40 / 43 | 12,102 | REJECT — edge already eaten (65→40 in 48h) |
| KXHORMUZWEEKLY-26JUL12-T150 | >150 Hormuz transit calls Jul 6–12 | 60 / 65 | 12,721 | REJECT — coin-flip band |
| KXHORMUZWEEKLY-26JUL12-T125 | >125 Hormuz transit calls Jul 6–12 | 82 / 83 | 2,943 | REJECT — edge too thin |
| KXHORMUZWEEKLY-26JUL12-T100 | >100 Hormuz transit calls Jul 6–12 | 91 / 92 | 4,599 | REJECT — deep favorite, thin |
| KXHORMUZMAX-26JUL12-JUL07 | Jul 7 is the week's peak Hormuz day | 72 / 74 | 5,433 | REJECT — fair + tie ambiguity |
| KXHORMUZNORM-26MAR17-B260815 | Hormuz 7-day MA >60 before Aug 15 | 7 / 9 | 6,399 | REJECT — duplicates live pick |
| KXAPRPOTUS-26JUL10-40.6 | RCP approval 40.5–40.7 on Jul 10 | 48 / 49 | 5,842 | REJECT — coin-flip band |
| KXSULYOKOUT-26MAY-AUG01 | Sulyok out as Hungary president before Aug 1 | 25 / 26 | 2,711 | REJECT — unpriceable timing |
| KXTRUMPUFC-26JUL-DJT | Trump attends UFC 329 | 6 / 7 | 169,882 | REJECT — already priced |
| KXTRUMPWORLDCUP-26-DJT-2 | Trump attends ≥2 World Cup matches | 6 / 7 | 12,095 | REJECT — already priced |
| KXTRUMPWORLDCUP-26-DJT-1 | Trump attends ≥1 World Cup match | 92 / 93 | 8,927 | REJECT — duplicates live pick |
| KXLAGODAYS-26JUL-1 | Exactly 1 Mar-a-Lago trip in July | 5 / 6 | 5,439 | REJECT — duplicates live pick |
| KXTRUMPATTEND, KXTRUMPVH-26JUL10-T40.2, KXHORMUZNORM-…B260715 | — | — | — | EXCLUDED — already active picks |
3. Picks — detail and thesis
Pick 1 — KXROADOUTCOME-26-NOSIG · BUY YES @ 0.75 · MEDIUM CONVICTION
"Will it be reported that the 21st Century ROAD to Housing Act becomes law without Donald Trump's signature before Jul 14, 2026?" — closes 2026-07-14 03:59 UTC, resolves early on occurrence.
Mispricing thesis. The bill becomes law by pure clockwork tomorrow unless Trump takes an affirmative action he has spent two weeks publicly refusing. The market gives "he signs it after all" ~24% (the SIGN leg trades 24/25¢). That overweights the signing-ceremony instinct and underweights how loudly he has boxed himself in: signing now, with the SAVE America Act unpassed, is a public capitulation for a law he gets anyway by doing nothing.
Evidence.
- Passed the House 390–9 (Feb 9, 2026) and Senate 89–10 (Mar 12, 2026); presented to the President June 29, 2026. The 10-day constitutional window (excluding Sunday July 5) expires July 10 — it becomes law automatically absent a veto (Wikipedia bill page; Newsweek).
- Trump cancelled the scheduled June 24 signing on Truth Social: "cancelled until such time as we pass the desperately needed SAVE AMERICA ACT, which I consider to be a National Emergency" (ABC, Axios, NBC, NLIHC). He has held that position for 15 days, repeating it as recently as this week (The Hill, Jul 7–8).
- Speaker Mike Johnson: "He won't veto the bill. We already know that. He'll either allow it to just go into law, or he'll put his signature on it" (The Hill). A veto would face 390–9 / 89–10 override margins — pointless humiliation.
- Pocket veto requires congressional adjournment; both chambers are in session mid-July (the Senate is actively confirming nominees). Kalshi prices the POCK leg at 0/1¢.
- The SAVE America Act cannot pass the Senate by July 10 — Democrats are unified against it and no floor vote is scheduled (Kalshi's own Senate-vote market runs to Aug 8).
Resolver profile (Stage 2.5). Resolver = "Source Agencies" reporting that the Act became law without signature, first occurrence before Jul 14; the rules explicitly separate regular veto and pocket veto into other legs, so definitional collision is minimal. The event (10-day expiry on Jul 10) leaves 3+ days of reporting margin. Priced risks: −2 pts (a Source Agency framing the law's effectiveness date oddly, or slow reporting). Evidence-based branch probability 82% → model_prob 80%.
Tail risks (cleanest loss first). (1) Trump flips in the next ~30 hours and signs to claim credit — this is the real risk and why this is MEDIUM, not HIGH; Johnson himself left it open. (2) A spite veto under base pressure (Coulter and The American Conservative are campaigning for one) — ~4–5%. (3) A pocket-veto stunt via an adjournment dispute — priced ~1%.
Liquidity / entry context. yes_bid 73 (59), yes_ask 75 with 642 contracts offered; next offers 100@76¢, 200@77¢. Vol24h 2,080; OI 1,437. The 600-contract size fills inside the top ask level — no slippage beyond the quoted 75¢.
Price history. Market opened Jul 8 (new market); has traded a tight 72–79¢ since, no 20¢ moves.
Pick 2 — KXMAXSHIPSHORMUZ-26JUL31-AL50 · BUY YES @ 0.28 · LOW CONVICTION ASYMMETRIC LOTTERY — 2% CAP
"Will the highest daily number of transit calls through the Strait of Hormuz as reported by IMF PortWatch be at least 50 in July 2026?" — closes 2026-08-04 16:45 UTC.
Mispricing thesis. The crowd is betting on the world; this market pays on a lagged scoreboard. After the July 6–7 tanker attacks, traders crushed this from 85¢ to 28¢ on the (correct) view that Hormuz traffic will now stay depressed. But the market resolves YES if any single July day prints ≥50 on IMF PortWatch — and July 7 itself was an exodus day: United Against Nuclear Iran's shipping update counted 51 transits on July 7 (16 inbound, 35 outbound) as ships fled the Gulf after the strikes. PortWatch publishes with a ~4-day lag (latest published day is July 5), so the day that likely already clears the bar hits the resolver's feed around July 11. This is the v3.1 leaderboard lesson inverted: last cycle the program lost by arguing with a snapshot resolver; here the snapshot resolver is the entire edge.
Evidence.
- PortWatch (chokepoint6) daily prints, pulled directly from the IMF ArcGIS feed today: Jul 1–5 = 42, 36, 34, 25, 34 — a recovery from the mid-June near-closure (3–8/day) after the June 19 US–Iran sea-lane deal (CNBC). Baseline pre-crisis ≈ 88/day.
- Overnight Jul 6–7 attacks on Al Rekayyat, Wedyan, Cyprus Prosperity (Bloomberg: "biggest day of attacks since the US-Iran peace deal"; gCaptain; Insurance Journal); US retaliatory strikes July 7 (NPR); JMIC threat level raised to "severe"; IMO advised avoiding the strait (Al Jazeera).
- UANI's July 7 Iran Shipping Update: 51 total transits on July 7, outbound-heavy — the fleeing-the-Gulf spike. Independent live trackers corroborate an outbound surge before the July 8 withdrawal (Breitbart: four tankers withdrew Jul 8).
- Kalshi's own sibling market KXHORMUZMAX-26JUL12-JUL07 trades at 72–74¢ that July 7 was the peak day of its week — the market already believes July 7 was a local maximum, yet prices this month-high market as if that maximum were nowhere near 50.
- Fallback path if Jul 7 prints in the 40s: 24 more July days in a hot-cold conflict that has already produced one negotiated reopening (Jun 19 deal → 52 and 51 prints on Jun 24–25 within days). A second de-escalation or convoy surge gives a second shot at a ≥50 day.
Resolver profile (Stage 2.5). Resolver = IMF PortWatch Daily_Chokepoints_Data, portid chokepoint6, field n_total; mechanism = any calendar day in July with n_total ≥ 50, published on ~4-day lag, revisions possible. Evidence-based probability that some July day sees ≥50 actual transits ≈ 75% (July 7 likely already did, per trackers; plus late-month reopening scenarios). Priced risks: −12 pts (PortWatch's AIS algorithm is not UANI's count — a tracker "51" can print as PortWatch mid-40s), −3 pts (downward revision of an initial print). Total deductions 15 pts — at the cap, which is exactly why this is LOW conviction and lottery-sized. model_prob 60%.
Tail risks. (1) PortWatch prints July 7 at 44–49 and the strait stays under "severe" threat all month — the single cleanest loss. (2) PortWatch methodology change or publication gap during the crisis. (3) Full closure making even exodus days small.
Liquidity / entry context. yes_bid 24, yes_ask 28 with 606 contracts at 28¢ (next 4,370@31¢). Vol24h 5,030; OI 13,039. The 600-lot fills at the 28¢ level.
Price history. 85¢ → 28¢ over Jul 2–9, the big legs on Jul 7–8 with 8–11k daily volume — the post-attack panic this pick fades at the resolver level, not the world level.
4. Recommended $10,000 portfolio
| # | Ticker | Action | Limit ¢ | Contracts | Cost $ | Conviction / band | Max payout $ | EV ¢/ct | EV % |
|---|---|---|---|---|---|---|---|---|---|
| 1 | KXROADOUTCOME-26-NOSIG | BUY YES | 75 | 600 | 450 | MEDIUM · favorite (75¢) | 600 | +5 | +6.7 |
| 2 | KXMAXSHIPSHORMUZ-26JUL31-AL50 | BUY YES | 28 | 600 | 168 | LOW · tail lottery (28¢) | 600 | +32 | +114 |
| Total deployed | 618 | 6.2% of capital | 1,200 | +34 blended | |||||
| Cash held | 9,382 | 93.8% — cash is a position; this was an efficient/whipsawed week | |||||||
Cluster exposure (cap 15% of capital per cluster)
| Cluster | Picks | Cost $ | % of capital | Cap |
|---|---|---|---|---|
| road-housing-act | Pick 1 | 450 | 4.5% | 15% |
| hormuz-traffic | Pick 2 | 168 | 1.7% | 15% |
Conviction exposure
| Tier | Picks | Cost $ | % of capital | Per-pick cap |
|---|---|---|---|---|
| HIGH | 0 | 0 | 0% | 15% |
| MEDIUM | 1 | 450 | 4.5% | 7% |
| LOW (lottery) | 1 | 168 | 1.7% | 3% (2% lottery) |
Risk profile
- Worst case (Trump signs the housing bill AND PortWatch never prints a ≥50 day): −$618, −6.2% of capital. No single event can flip the run's sign beyond that.
- Best case (both win): +$582 profit on $618 deployed.
- Most likely outcomes: both win p ≈ 0.48; Pick 1 alone p ≈ 0.32 (+$126); Pick 2 alone p ≈ 0.12 (−$18); both lose p ≈ 0.08. Expected profit ≈ +$210 by my probabilities.
- Concentration: the two theses (a presentment-clause clock in Washington; an AIS scoreboard in the Gulf) are causally unrelated.
Execution notes
- Pick 1: Limit 75¢, good-till-close; 642 contracts sit at that level now. Invalidation: any Truth Social post or White House guidance signaling a signing ceremony, or SAVE Act floor-vote scheduling before Jul 10 — cancel unfilled orders immediately on either. The market should resolve within ~4 days.
- Pick 2: Limit 28¢ only — do not chase to 31¢; the whole point of a lottery slot is fixed, capped cost. Catalyst: PortWatch's July 7 print, expected ~July 11 on the ArcGIS feed (checkable directly). If it prints ≥50 the market should snap toward 99; if it prints 45–49, hold — the residual is the late-July reopening option, already fully paid for. Watchlist trigger for the next run: a ceasefire or convoy announcement makes the 24 remaining July days live again.
- Hedges: none needed at this size; both positions are capped near their bands' floors.
5. What I rejected and why
Every candidate below survived Stage-2 diligence and is machine-logged and shadow-tracked to settlement — if the rejects outperform the picks, the screen itself is the finding. The Stage-3.5 entry-band screen cut two of the most tempting ones (marked ✂).
| Ticker | Would-be side | Price ¢ | My prob % | Reject reason |
|---|---|---|---|---|
| KXHORMUZWEEKLY-26JUL12-T175 | NO | 60 | 78 | Post-attack collapse thesis already repriced 65→40 in 48h; live-AIS traders can see the three unpublished days (Jul 6–8) I'd be modeling blind. Chasing the leftovers of someone else's information is the v1 phantom-edge pattern. |
| KXHORMUZWEEKLY-26JUL12-T150 | NO | 40 | 50 | ✂ Effective NO entry 40¢ = coin-flip band; my estimate genuinely straddles. Historically this band hit ~33% and bled — exactly what the screen refuses. |
| KXHORMUZWEEKLY-26JUL12-T125 | YES | 83 | 86 | +3¢ modeled edge on guessed inputs others can verify; not worth cluster budget. |
| KXHORMUZWEEKLY-26JUL12-T100 | YES | 92 | 94 | Deep-favorite band; a hard full-closure scenario erases the ~+2¢. |
| KXHORMUZMAX-26JUL12-JUL07 | YES | 74 | 75 | Fairly priced, and the rules don't say how a tie between days resolves — unpriceable resolver ambiguity (Stage 2.5 reject). |
| KXHORMUZNORM-26MAR17-B260815 | NO | 93 | 96 | Duplicates the live KXHORMUZNORM Jul-15 NO pick's thesis at +3¢; would just re-lever an existing cluster. |
| KXAPRPOTUS-26JUL10-40.6 | YES | 49 | 50 | ✂ RCP sat at 40.4 on Jul 6 and is drifting up; a 0.3-point band decided by tomorrow morning's poll drops is a coin flip by construction. Coin-flip band without HIGH conviction. |
| KXSULYOKOUT-26MAY-AUG01 | NO | 75 | 70 | Crashed 58→26 today (48h rule). Removal needs: amendment vote (~Jul 13–17) → promulgation that Sulyok himself can delay via Constitutional Court referral → entry into force → next-day termination; Magyar's own target is "before Aug 20," not Aug 1. Timing unknowable at my distance. |
| KXTRUMPUFC-26JUL-DJT | NO | 94 | 95 | Crashed 20→6 this week on schedule news with 170k volume; ~+1¢ left against pure presidential whim on fight night (McGregor–Holloway, Jul 11). |
| KXTRUMPWORLDCUP-26-DJT-2 | NO | 94 | 94 | Repriced 25→6 on Jul 7; zero modeled edge either side, and it overlaps the published KXTRUMPATTEND cluster. |
| KXTRUMPWORLDCUP-26-DJT-1 | YES | 93 | 93 | Pays ~iff Trump attends the final — a 1:1 duplicate of the already-published KXTRUMPATTEND YES pick. |
| KXLAGODAYS-26JUL-1 | NO | 95 | 93 | Near-perfectly correlated with the published KXLAGODAYS-0 YES pick, with negative modeled edge in the >90 band. |
6. Sources
- IMF PortWatch — portal and Daily_Chokepoints_Data ArcGIS feed (chokepoint6 daily n_total, queried 2026-07-09)
- UANI — Iran Shipping Update, July 7, 2026 (51 transits Jul 7; tanker strike details)
- Al Jazeera — Ships attacked in the Strait of Hormuz (Jul 7)
- NPR — US launches new strikes after three ships hit (Jul 7)
- Bloomberg — Hormuz sees biggest day of attacks since US-Iran peace deal (Jul 7)
- gCaptain — Al Rekayyat at risk after attack · Insurance Journal — damaged Qatari LNG tanker awaits salvage (Jul 8)
- Breitbart — Four tankers withdraw from Hormuz (Jul 8)
- CNBC — Tanker traffic jumps after US-Iran sea-lane deal (Jun 19)
- Wikipedia — 21st Century ROAD to Housing Act (passage votes; presented Jun 29; Jul 10 deadline)
- Newsweek — Housing bill reaches crucial deadline
- NLIHC — Trump cancels signing of ROAD to Housing Act · ABC News · Axios · NBC News
- The Hill — Johnson: Trump won't veto housing bill · The Hill — Trump dismisses housing bill, prioritizes SAVE America Act · The Hill — Can Trump use a pocket veto?
- Euronews — Hungary could vote to oust president next week (Jul 6) · Bloomberg — Hungary files constitutional bill (Jul 4) · Al Jazeera — Magyar to amend constitution
- RealClearPolling — Trump job approval (40.4 as of Jul 6)
- Wikipedia — UFC 329 (Jul 11, T-Mobile Arena) · Wikipedia — UFC Freedom 250 (White House, Jun 14) · NPR — Trump's White House UFC event
- Kalshi public trade API (api.elections.kalshi.com/trade-api/v2) — live quotes and orderbooks, 2026-07-09 ~12:00 UTC
Data: live Kalshi mirror (read-only SQL over trading_events, trading_markets, market_snapshots), Kalshi public API, IMF PortWatch ArcGIS feed, and the cited press. All probabilities are subjective estimates by the auditing model; losing contracts resolve to $0.00 — never stake money you can't lose. EV figures are recorded for calibration and did not determine position sizes (v3 sizing is conviction- and band-gated). This report is archived publicly; picks feed the auto-copy track record.