The validated, deep-dive-backed trading plan for weather-bet: trade the repricing lag on a near-certain winning temperature bucket in the final 2-3h before Polymarket’s fixed 12:00:00Z order-book close. The whales make ~88% of all weather money waiting for 0.99; the alpha is taking the 0.90-0.95 crossing they decline, gated to the final hours once the daily high is physically locked in. This note is the reference distillation — the full deep-dive report lives at research/reports/weather-trader-deep-dive.md (36.5K).
For Agents
This is the GO plan for weather-bet. It supersedes the open questions from prior studies by reframing them. The two prior studies (intraday-drift-study-naive-no-go naive drift = NO-GO; copytrade-top-weather-traders copy-trade recon) both pointed at “nowcast the winning bucket” — this note specifies how, which markets, and when. Validate-first: backtest the 6-8c edge out-of-sample before building the live Rust nowcaster. Source of record:
research/reports/weather-trader-deep-dive.md.
One-line strategy
Poll the resolution station’s METAR per-minute → track the running whole-degree daily max → once the high is pinned to one bucket in the final 2-3h, BUY at the 0.90-0.95 crossing and hold to $1. Rank candidates on live price, not volume.
The reframing insight (why an edge exists at all)
Polymarket closes the order book at a fixed 12:00:00Z for every city, which lands at very different local times depending on the city’s offset:
| Region | UTC offset | 12:00Z local time | State of the weather day at close | Edge? |
|---|---|---|---|---|
| Asia | UTC+9 (Tokyo/Seoul) | ~21:00 local | Day OVER — high already observed; market sits at 1.0 | No — efficient, already settled |
| London | UTC+0/+1 | ~13:00 local | Before the afternoon peak | Yes — forecast game |
| US East | UTC-4/-5 | ~07-08:00 local | Early morning, well before peak | Yes — biggest gap |
For the US and London, the winning bucket trades at only 0.40-0.57 at close because the afternoon high hasn’t happened yet — a genuine forecast game with a 0.43-0.61 gap to $1. For Asia the close is after the day is over, so the bucket is already ~1.0 and there is no edge. This is the whole reason the trade works: the fixed-Z close decouples “book closes” from “weather resolves” everywhere west of the Atlantic.
Verdict — late near-certain settlement wins
Three archetypes were measured against on-chain capital (see copytrade-top-weather-traders for the trade-level recon):
- Late near-certain settlement — the real money. Commands 88% of all weather capital (3.27M). **HondaCivic alone runs 2.07M sitting at 0.998 median is real conviction at real size.
- Early forecast value — real but tiny. ~2% of capital (Railbird/dpnd buying favorites pre-resolution). Legitimate but not where the money is.
- Round-trip / sell-the-pop (longshot flipping) — avoid. Lowest PnL of the three; only huskyvs and ShyGuy1 trade this way, and huskyvs is LAST in PnL. This was the project’s original idea — the data rejects it.
Do not chase the pop
“Buy a longshot cheap, sell into the spike” feels clever but is the worst-performing archetype on-chain. The money is in patiently buying near-certainty late, not in flipping volatility.
The edge, quantified
Measured across 113 full-coverage market-days:
- When the winning bucket first crosses 0.90, there is ~6-8c left to settlement (~3h out).
- Decays to ~1.5c at 2h, ~0.4c at 1h.
- A bucket at >=0.90 in the final 2-3h resolved YES 55/55 = 100% — risk-free once the daily high is physically observed at the station.
The whales leave the rich 4-8c on the table: they wait for 0.99 and collect ~0.5c at enormous size (their constraint is capacity + execution, not picking the winner). Our alpha is taking the 0.90-0.95 crossing they decline, gated to the final 2-3h so the daily high is already locked.
The one false positive (the gate exists for a reason)
The single miss in the sample — Beijing 29C at 0.93, then 30C won — was a degree-boundary day acted on ~6h early, before the high was locked. The final-2-3h time gate is what turns 0.90 from “probably” into “observed.” Never take a 0.90+ crossing while the high can still move into the next bucket.
Targets
For Agents — city/station whitelist
Rank within Tier-1 first; Tier-2 are international late-settlement-only plays. NYC is the single best market.
Tier-1 — top-money US (BOTH late-settlement AND HRRR predict-ahead available):
| City | Station | Notes |
|---|---|---|
| New York | KLGA | Single best market. |
| Atlanta | KATL | |
| Chicago | KORD | O’Hare (NOT Midway) |
| Miami | KMIA |
Tier-2 — international, late-settlement only:
| City | Station |
|---|---|
| London | EGLC |
| Seoul | RKSI |
| Buenos Aires | SAEZ |
| Toronto | CYYZ |
| Paris | LFPB |
Entry rule (the executable spec)
- Poll the resolution station’s METAR per-minute.
- Maintain a running whole-degree daily max (°F for US, °C for intl — match the market’s resolution unit).
- Once the high is pinned to one bucket (high locked AND we are in the final 2-3h before 12:00Z close): BUY at the 0.90-0.95 crossing.
- Hold to $1 (settlement).
- Rank candidate cities on LIVE PRICE, not volume — live price predicts the winner within ±1 bucket 90-100% of the time. Volume does not.
Why price beats volume for ranking
The market’s own live price on a bucket is a near-perfect winner-predictor (±1 bucket, 90-100%). Use it as the primary signal for which city to act on; use your independent METAR nowcast to confirm the high is locked before pulling the trigger.
Resolution mechanics to mirror (the nowcaster must replicate the oracle exactly)
The live nowcaster has to compute the same number the oracle will. Resolution source = Wunderground daily-history for a named ICAO airport:
- Whole °F (US) / whole °C (intl).
- Local midnight-to-midnight day boundary.
- Built from hourly METARs + SPECIs.
- Resolves after the next local day’s first datapoint appears.
- Oracle = UMA (~2h liveness window, $750 bond).
Wrong-station traps (these cost you the whole trade)
The “city” is NOT the obvious airport. Hard-code the correct ICAO:
- Dallas = Love Field KDAL (NOT DFW)
- Houston = Hobby KHOU
- Denver = Buckley KBKF
- Moscow = Vnukovo UUWW
- Chicago = O’Hare KORD
- Skip Hong Kong — it uses a city station at 0.1°C precision (different resolution model, no whole-degree bucket edge).
Two distinct products — trade the global one
- Polymarket global → resolves on Wunderground ICAO airport. This is what we trade and what the nowcaster mirrors.
- Polymarket US / CFTC → resolves on NWS CLI (e.g. KNYC Central Park). Different source, different number. Do not mix them.
Key resources
For Agents — reference repos, feeds, leaderboards
Reusable prior art and ground-truth data sources. Star counts as of the deep-dive.
Repos / libraries:
suislanchez/polymarket-kalshi-weather-bot(441★)alteregoeth-ai/weatherbot(332★)warproxxx/poly_data(2.1k★)- Polymarket py-clob-client + real-time-data-client
- avwx-engine (METAR parsing)
Ground-truth & intel:
- IEM ASOS archive — backtest ground-truth for resolution highs.
- Real Polymarket weather leaderboard: gopfan2 ~277k (note: distinct from the weatherbot.fi general-PnL board used in copytrade-top-weather-traders).
- ColdMath wallet autopsy →
polymarketweather.com.
Next steps (validate-first)
- Python backtest with a real multi-city Wunderground/METAR resolution feed to confirm the 6-8c edge out-of-sample (the 113-day sample is in-sample; need OOS before risking capital).
- Then build the live Rust nowcaster on the validated rule (per-minute METAR → running whole-degree max → 0.90-0.95 entry, final-2-3h gate, hold-to-$1).
Dependency
The live nowcaster already has its data-fetch primitives in place: wx-market-prices-history (CLOB price-history) and wx-market-trades-client (data-api trades). The resolution-mirror logic builds on the TWC/IEM resolver from fix-resolve-twc-primary-source.
Related
- copytrade-top-weather-traders — on-chain copy-trade recon; independently shows late near-certain settlement = the real money, sell-the-pop = worst
- intraday-drift-study-naive-no-go — naive drift NO-GO → forecast-conditioned breakeven → this plan is the surviving “live nowcast” edge
- polymarket-weather-market-structure — 11 neg-risk 1°C buckets, ICAO/Wunderground whole-degree resolution, Gamma endpoints
- fix-resolve-twc-primary-source — TWC-primary resolution resolver the nowcaster’s resolution-mirror builds on
- weather-bet — project overview