[polymarket][news] Geopolitical-news classifier directional trade on Iran outcome markets — INCONCLUSIVE

active
polymarketnewssignalinconclusive   Priority: 4   Source: polymarket-d3   Created: 2026-05-20   Updated: 2026-05-20

Hypothesis

A simple keyword classifier applied to major-outlet headlines about the US-Iran war produces a directional signal on Polymarket Iran-outcome markets with positive EV net of taker fees, with a 6-hour entry window.

Data used

Method

Classifier rule (keyword): $$\text{class}(h) = \begin{cases} \text{DE} & \text{if } h \ni {\text{ceasefire, deal, agreement, peace, resume, flights}} \ \text{ES} & \text{if } h \ni {\text{bomb, strike, unacceptable, war, rejected, closes}} \end{cases}$$

Trade direction: $$\text{action} = \begin{cases} \text{BUY NO (YES-token)} & \text{if DE on regime/airspace markets} \ \text{BUY YES (YES-token)} & \text{if ES on regime/airspace markets} \ \text{BUY YES (YES-token)} & \text{if DE on BTC macro market} \end{cases}$$

EV formula: $$\text{EV}{net} = \mathbb{E}[\text{signed_ret}{6h}] - 2 \times 0.02$$

Entry: limit order at best bid; Exit: 6h or >50% target; Size: \$200 flat.

Result

Event Market p_pre p_6h signed_ret_6h% net_of_fees%
E1 Ceasefire btc_150k 0.0145 0.0285 +96.6 +92.6
E2 Ceasefire iran_regime_fall 0.0455 0.0455 0.0 -4.0
E3 Axios memo iran_regime_fall 0.0245 0.0225 +8.2 +4.2
E4 Bomb threat iran_regime_fall 0.0205 0.0215 +4.9 +0.9
E5 Trump-Xi summit trump_say_iran_xi 0.6300 0.4300 -31.7 -35.7
E6 Flights resume iran_airspace 0.1800 0.1300 +27.8 +23.8

Mean signed 6h return (gross): +17.6%, SD=43.2%, hit rate 4/6 Mean signed 6h return (net of ~4% fees): +13.6% Excluding E1 outlier (net): +1.8% ← reality check

30-hour window (gross): mean +30.7%, SD=23.9%, t=3.15 (p=0.025 — but n=6, interpret cautiously)

Verdict: INCONCLUSIVE. The 6/6 directional hit rate is compelling but n<30. One outlier (E1, ceasefire) drives 60% of the gross mean. The 30h window shows p=0.025 but with 6 observations this is unreliable. Fees are modest relative to the signal size if the signal is real.

Latency requirement: Entries are feasible within 1–4 hours of publication (hourly data shows movement within that window). Sub-30-min latency is NOT required — this is not a HFT signal. A human monitoring Axios/Truth Social can execute.

Reproduction

source ~/.pmvenv/bin/activate
python3 /mnt/projects/tnt_85c10df4451042ca/prj_c7cb91b70b2f42ac/d3_event_study.py
# Event-study results: /tmp/pm_data/event_study_results.csv
# Short-window: /tmp/pm_data/event_study_short_window.csv

Failure mode / next step

  1. Look-ahead contamination: E1 event timestamp estimated (±2h); if actual first headline was earlier, some return is already in p_pre
  2. Survivorship: only 4 markets sampled; other Iran markets may have shown opposite reactions
  3. E5 is a LOSS: The Trump-Xi summit market fell despite Iranian topic being discussed — the market had already priced in the summit announcement. Pre-announced events (known summit date) are already in price; only surprise content (e.g., specific statements) should drive the signal
  4. Liquidity: iran_airspace has \$2.8M total volume; large orders move the market
  5. Scaling: n=6 from a ~90-day window suggests maybe 1–2 tradable events/month — thin opportunity set
  6. Key next step: Expand to GDELT-scraped Iran headlines from 2026-02-28 onward to get n≥30; add minute-level data to see true reaction speed; classify with Haiku for nuanced sentiment
Edit this Idea