Kalshi Politics — Mispricing Audit
2026-07-30 · $10,000 model portfolio · 45-day horizon · v3.3 methodology (conviction-weighted, EV-agnostic sizing) · picks are live for the public track record and auto-copy
1. How this was researched
Mode: category-match. $CATEGORY = Politics matched 365 active markets in trading_events.category closing within 45 days, so no theme-keyword fallback was needed. All 365 tickers were then re-quoted live from the Kalshi public API (the mirror carries no bid/ask), and the Stage-1 screens were applied mechanically: 24-hour volume ≥ 1,500, bid–ask spread ≤ 5¢, not fully priced (YES bid < 95¢ and YES ask > 5¢), no say/mention markets, and no ticker already live in users' feeds (32 existing picks excluded up front, including the two live Hormuz picks and the dead KXBLANCHEJUDICIARY-27-26AUG01 YES).
12 candidates survived. Each got the full Stage-2 treatment: rules text from the mirror, 14-day daily candlesticks, live order book with depth, and primary-source news diligence (Federal Register API, whitehouse.gov, IMF PortWatch ArcGIS feed, the trumpstruth.org archive, Senate committee reporting). Stage 2.5 resolver profiles were built for every serious candidate — this week that mattered more than usual, because three separate "edges" turned out to be bets on a resolver's publication behavior rather than on the world.
The result is a nearly-empty book, on purpose. One pick cleared every screen. The category repriced violently on its own news this week (Blanche postponement, the empty presidential-actions week, the Truth Social count) — in every one of those cases the crowd got there first, and v3 policy treats a 48-hour repricing as an eaten edge. 97.8% of capital stays in cash. Thirteen rejects are logged and shadow-tracked, including two Hormuz legs where I believe the modeled edge is real but the mechanical screens (spread, sub-35¢ tail ban) forbid deployment — if the shadow track shows those screens cost money, that is the documented path to changing them.
2. Markets reviewed
| Ticker | Market | Quote at scan (YES) | Vol 24h | Disposition |
|---|---|---|---|---|
| KXHORMUZWEEKLY-26AUG02-T50 | >50 Hormuz transit calls Jul 27–Aug 2 (PortWatch) | 70 / 72 | 1,733 | PICK — BUY YES @ 72 (MEDIUM) |
| KXBLANCHEJUDICIARY-27-26SEP01 | Judiciary reports Blanche AG nomination before Sep 1 | 42 / 44 | 6,538 | Reject — coin-flip band, not HIGH |
| KXAGCONF-26JUN05-SEP01 | Blanche confirmed AG before Sep 1 | 10 / 11 | 5,319 | Reject — repriced same-day, no edge |
| KXTRUMPACT-26JUL26-T1 | ≥1 presidential action, week of Jul 26 | 92 / 93 | 3,891 | Reject — fairly priced posting-lag |
| KXEOWEEK-26AUG01-0 | >0 executive orders Jul 26–Aug 1 | 17 / 18 | 4,802 | Reject — no edge either side |
| KXTRUMPMEET-26JUL-RDES | Trump & DeSantis meet (incl. calls) before Aug 1 | 28 / 30 | 1,673 | Reject — unexplained whipsaw |
| KXAPRPOTUS-26JUL31-40.3 | RCP approval 40.2–40.4 at 11am ET Jul 31 | 3 / 6 | 18,503 | Reject — nowcast, no resolver access |
| KXTRUTHSOCIAL-26AUG01-B169 | 160–179 Truth Social posts, week of Jul 26 | 7 / 8 | 7,969 | Reject — cluster (see below) |
| KXTRUTHSOCIAL-26AUG01-B189 | 180–199 posts | 41 / 43 | 4,550 | Reject — coin-flip band, count unverifiable |
| KXTRUTHSOCIAL-26AUG01-B209 | 200–219 posts | 23 / 24 | 3,873 | Reject — tail band |
| KXTRUTHSOCIAL-26AUG01-B230 | 220–240 posts | 15 / 16 | 3,830 | Reject — tail band |
| KXTRUTHSOCIAL-26AUG01-T240 | >240 posts | 13 / 14 | 8,117 | Reject — tail band (v3.2) |
Four additional markets that failed Stage-1 mechanics (spread > 5¢) but carried large modeled edges are logged as shadow-tracked rejects in §5 — most notably the prior-week Hormuz ladder, where the resolver has already published 4 of 7 days.
3. The pick
Pick 1 — KXHORMUZWEEKLY-26AUG02-T50 · BUY YES @ 0.72 limit · MEDIUM CONVICTION
Will there be more than 50 transit calls through the Strait of Hormuz from Jul 27 to Aug 2, 2026 (IMF PortWatch)?
- Current market
- 66 bid / 74 ask (was 70/72 at scan; book widened intraday)
- My probability
- 85% vs market-implied ~70% → +13¢ edge at a 72¢ limit (recorded for calibration only — did not set size)
- Entry band
- 60–90¢ favorite (72¢ effective entry)
- Cluster
- hormuz-traffic-persistence
- Size
- 300 contracts × 72¢ = $216 at risk (2.2% of capital; MEDIUM cap is 7% = $700 — deliberately undersized to the thin book)
- Closes
- 2026-08-04T13:00Z
Resolver profile (Stage 2.5)
Source: IMF PortWatch daily chokepoint dataset (Strait of Hormuz, n_total transit calls), summed over Jul 27–Aug 2. Rules: "If the number of transit calls through the Strait of Hormuz as reported by the IMF PortWatch is above 50 from Jul 27, 2026 to Aug 2, 2026, then the market resolves to Yes." The counting convention is not a guess: nine settled weekly ladders pin it down, and the Jul 13–19 week is an exact-match validation — PortWatch dailies sum to 77 and Kalshi settled T75 = YES, T100 = NO. The metric is the sum of PortWatch's own daily prints, published on a ~7-day lag (data currently through Jul 23).
Priced resolver risks: new escalation suppressing transits in the unpublished Jul 30–Aug 2 days: −8 pts · PortWatch revision/methodology quirk (this series burned a prior audit when the resolver printed 28 against a live tracker's 51 — note that trade trusted a tracker over the resolver; this one uses only the resolver's own history): −3 pts · data outage forcing resolver discretion: −1 pt. Evidence-based persistence estimate ~97% − 12 pts ≈ 85%. Deductions total under the 15-pt screen cap.
Mispricing thesis
The market is pricing a further collapse that the resolver's own data does not show. PortWatch dailies have been locked in a 9–16/day band for over two weeks under the blockade/escorted-convoy regime — weekly sums of 77 (Jul 13–19, settled) and 42-through-4-days (Jul 20–26, on pace ~73). Simple persistence puts this week near 72. For NO to win, the full week must come in ≤50 — i.e. average ≤7.1/day for seven days, when no single published day since Jul 12 has printed below 9. Three-plus of this week's seven days had already elapsed at pick time with no closure headline, so the remaining path to NO requires an abrupt, news-making halt in the back half of the window.
Evidence
- PortWatch ArcGIS dailies (queried directly, twice, unrevised between pulls): Jul 17–23 = 10, 16, 10, 9, 12, 11, 10. Jul 13–19 total 77; Jul 20–23 partial 42.
- Settled-ladder validation: Jul 13–19 settled T75 YES / T100 NO — confirming the sum-of-dailies convention against my own computed 77.
- No escalation headline after the mid-July blockade tightening (USNI, Jul 17; CNBC, Jul 21) — which is already inside the 9–16/day baseline. Live trackers (straits.live, NBC tracker) describe the same escorted-convoy regime continuing as of Jul 29, and NBC's "only 10 ships transited Jul 23" matches the PortWatch print exactly.
- Adjacent legs agree with the persistence read at the low end (T25 at 97/98, T35 at 89/90) but kink sharply at 50 — the kink, not the level, is the mispricing.
Tail risks — cleanest way to lose
- A fresh escalation or convoy pause in the unpublished Jul 27–Aug 2 window. This is the whole bet. "Fighting intensifies" reporting is live, and the intraday seller pressure I watched while researching (bid 70 → 66) may be informed AIS-based flow. This risk is why the probability is 85 and not 97, why the tier is MEDIUM and not HIGH, and why the size is 2.2% and not 7%.
- PortWatch revisions: historical prints have been stable, but the series is model-processed AIS data and can be revised.
Liquidity / entry context (as fetched)
- Top of book
- yes_bid 66 (27 lots) / yes_ask 74 (2 lots)
- Depth ≤ 72¢ limit
- 0 contracts marketable — this is a RESTING limit order, top of bid queue
- Volume 24h / OI
- 1,739 / 5,578
- Fill logic
- Today's session traded 43–66 on ~1.7k contracts of two-way flow; a 72¢ bid would have filled repeatedly. Do not lift 74+ — real size only appears at 84–85¢, which erases the edge.
Price history (daily close, YES)
Jul 25: 17 → Jul 26: 43 → Jul 27: 11 → Jul 28: 27 → Jul 29: 57 → Jul 30: 55 (range 43–66)
The violent whipsaw on rising OI says the crowd has no shared model of this number — consistent with a market anchoring on headlines ("strait closed") while the resolver counts escorted convoys at ~10/day.
4. Recommended $10,000 portfolio
| # | Ticker | Action | Limit | Contracts | Cost | Max payout | Edge ¢ | EV % | Conviction | Band |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | KXHORMUZWEEKLY-26AUG02-T50 | BUY YES | 72¢ | 300 | $216 | $300 | +13 | 18% | MEDIUM | 60–90¢ favorite |
| — | Cash reserve | $9,784 | 97.8% of capital — cash is a position; the category repriced itself this week | |||||||
Sizing was set by conviction tier + entry band only. edge_cents / ev_pct are recorded for calibration and did not drive contract counts (the resolved v1/v2 record showed stated EV was anti-predictive). The MEDIUM cap allowed $700; the position is deliberately smaller because top-of-book depth is 2 lots and the entry is a resting order.
Cluster exposure
| Cluster | Cost | % of capital | Cap (15%) |
|---|---|---|---|
| hormuz-traffic-persistence | $216 | 2.2% | $1,500 ✓ |
Correlation with existing live picks, disclosed: the feed already carries KXHORMUZNORM-26MAR17-B260901 NO (7-day avg > 60/day before Sep 1) and KXMAXSHIPSHORMUZ-26JUL31-AL50 YES. This pick and NORM-NO both win in the status-quo middle band (~7–60 transits/day) and fail in opposite tails — NORM-NO loses on a full recovery, this loses on a full closure — so they are complementary rather than compounding. Neither existing pick counts toward this run's cluster arithmetic, but readers holding both should know the shared status-quo thesis.
Conviction exposure
| Tier | Cost deployed | Per-pick cap |
|---|---|---|
| HIGH | $0 | $1,500 |
| MEDIUM | $216 | $700 |
| LOW | $0 — never deploys (v3.3) | — |
Risk profile
- Worst case: a closure event in the back half of the week resolves the pick NO → −$216 (−2.2% of capital). No single event can flip the run's sign beyond that.
- Best case: pick resolves YES → +$84 profit on $216 (+39% on cost, +0.8% on capital).
- Most likely: transits persist at ~9–12/day, the week sums near 70, YES resolves around Aug 9 when PortWatch publishes. Expected value at my 85%: ≈ +$39.
- Unfilled scenario: the resting 72¢ bid may simply not fill (top-of-book selling could stop). That outcome costs nothing and is acceptable; do not chase through 74.
Execution notes
- Resting limit only. Bid 300 × 72¢, good-til-close (market closes Aug 4 13:00Z). Cancel rather than improve past 74.
- Invalidation triggers: any headline of a full convoy halt, new mining, or strikes on transiting vessels dated Jul 27 or later → cancel unfilled orders immediately (a fill after such news is adverse selection, the known failure mode of resting bids).
- Watchlist: the prior-week ladder (KXHORMUZWEEKLY-26JUL26, §5) resolves off data publishing in the next ~1–3 days. If PortWatch prints Jul 24–26 at the persistent ~10/day, that both settles the shadow-tracked rejects and hardens this pick's thesis; a surprise low print is an early exit signal.
5. What I rejected and why
All 13 rejects below are machine-logged in picks.json and shadow-tracked to settlement — if the rejects outperform the picks, the screens add nothing, and we want to know that. The first four are the loud ones: real modeled edges that v3's mechanical screens forbid.
Cut by the Stage-1 / Stage-3.5 mechanical screens (the discipline section)
| Ticker | Side I'd take | Price | My prob | Screen that killed it |
|---|---|---|---|---|
| KXHORMUZWEEKLY-26JUL26-T60 | YES | 65¢ ask | 97% | Spread > 5¢ (book was 22/65 at log time). This is the run's biggest forgone edge: PortWatch has already published 42 of the needed >60 through Jul 23, and the three unpublished days need only >18 against a two-week daily minimum of 9. The 53→22 bid collapse during research is either capitulation in a confused book or informed flow — the shadow track will adjudicate, and that is exactly the v3.2-style evidence a future screen change requires. |
| KXHORMUZWEEKLY-26JUL26-T50 | YES | 89¢ ask | 99% | Spread > 5¢ (80/89). Needs >8 more transits over three days averaging ~31. |
| KXHORMUZWEEKLY-26JUL26-T70 | YES | 21¢ ask | 62% | Sub-35¢ tail — hard reject, no exceptions (v3.2). A modeled +41¢ edge dies here by policy. |
| KXHORMUZWEEKLY-26AUG02-T70 | YES | 27¢ ask | 40% | Sub-35¢ tail + 8¢ spread. |
| KXTRUTHSOCIAL-26AUG01-T240 | YES | 14¢ | 27% | Sub-35¢ tail, though spree-days (113 on Jul 5, 57 on Jul 26 by archive count) make the price look roughly half of fair. |
| KXTRUTHSOCIAL-26AUG01-B209 | YES | 24¢ | 30% | Sub-35¢ tail. |
| KXTRUTHSOCIAL-26AUG01-B189 | NO | 58¢ eff. | 60% | Coin-flip band (35–60¢) without HIGH conviction: my archive count (~142 posts Jul 26–28, then an unverifiable 4 on Jul 29 — tracker lag indistinguishable from a real slowdown) plus rules that never define whether retruths count (Stage-2.5 unpriceable ambiguity). B169/B230 legs rejected on identical grounds. |
| KXBLANCHEJUDICIARY-27-26SEP01 | NO | 58¢ eff. | 70% | Coin-flip band, conviction only MEDIUM. Committee vote postponed Jul 29 (Cornyn/Tillis, IRS-settlement objections; CNN: "stall indefinitely or... the fall at the earliest") and the Senate leaves after the first week of August until Sep 14 — but one markup window remains and the White House is pressing, so it is not mechanically locked. A ~12¢ edge below the 15¢ coin-flip threshold. |
Cut for eaten edges, phantom information, or no resolver access
| Ticker | Side I'd take | Price | My prob | Why rejected |
|---|---|---|---|---|
| KXAGCONF-26JUN05-SEP01 | NO | 90¢ eff. | 90% | Repriced same-day: 57 → 14 today on the postponement news (intraday range 9–85 on 6.9k volume). Zero edge left at NO ≈ 90; the 48-hour screen exists for exactly this. |
| KXTRUMPACT-26JUL26-T1 | YES | 93¢ | 91% | The world has already produced a qualifying action (Brazil national-emergency continuation notice, signed Jul 28, Federal Register doc 2026-15389) — but the resolver is the whitehouse.gov Presidential Actions page at 10:00 ET Aug 2, and that page has posted nothing since Jul 24. 93¢ fairly prices the posting-lag risk; a Stage-2.5 lesson in miniature: right about the world ≠ right about the resolver. |
| KXEOWEEK-26AUG01-0 | NO | 82¢ eff. | 80% | Fair both sides after a 74 → 18 same-day collapse. Federal Register shows exactly 2 July EOs (Jul 20, Jul 24), none in the window; ~2.5 days of Friday-signing hazard remain. No defensible edge. |
| KXTRUMPMEET-26JUL-RDES | NO | 72¢ eff. | 80% | The stale-decay thesis died on the tape: 30 → 72 → 38 across Jul 26–27 on rising OI, and no outlet I searched carries a scheduled meeting or call. Somebody is trading information I cannot source; betting NO against invisible informed flow is not an edge. |
| KXAPRPOTUS-26JUL31-40.3 | NO | ~96¢ eff. | — | A nowcast of one website's number at 11am tomorrow, and the resolver page (RealClearPolitics) blocks programmatic access — I cannot independently verify what the average reads. This is the leaderboard-snapshot failure mode from the resolved record. Also correlated with an existing live pick on the adjacent 40.2 leg. |
6. Sources
- IMF PortWatch — portal and Daily Chokepoints ArcGIS feature service (Strait of Hormuz daily transit calls; queried 2026-07-30, twice)
- Kalshi public trade API — settled KXHORMUZWEEKLY ladders, live orderbooks and daily candlesticks per ticker
- Federal Register API — presidential documents signed Jul 26–Aug 1 (doc 2026-15389) and July executive-order query
- whitehouse.gov — Presidential Actions (fetched 2026-07-30; nothing posted after Jul 24)
- CNN — Key committee vote for Todd Blanche postponed · NPR — Senate panel delays vote as key Republicans withhold support · CNBC — vote postponed over IRS-settlement concerns
- Roll Call — Senate 2026 calendar (in session first week of August, back Sep 14) · Roll Call — Trump to Senate: cancel August recess
- USNI News — U.S. disables ship a day into blockade (Jul 17) · CNBC — renewed U.S.–Iran conflict chokes Hormuz (Jul 21) · NBC News — Hormuz traffic tracker · straits.live — live strait monitor
- Trump's Truth (trumpstruth.org) — Truth Social archive used for the Jul 26–29 post count · Daily Beast — rageposting spree (Jul 28) · Daily Beast — Jul 27 six-hour spree
- Kalshi market mirror (read-only SQL over trading_events / trading_markets) for rules text and the 365-market category scan
Data: Kalshi mirror DB + Kalshi public API (quotes as of 2026-07-30 ~15:30–17:30 UTC; the pick's entry context reflects the final fetch), IMF PortWatch, Federal Register, whitehouse.gov, and the cited press. All probabilities are subjective estimates; every contract can resolve to zero, and losing the full cost of any position is a normal outcome. Picks in this report enter the public v3 track record and the auto-copy feed; rejects are shadow-tracked. This is not investment advice.