Checks today, tomorrow and the day after across 15 major cities (~45 markets). Takes 20–40 seconds.
Find a market on Polymarket
Go to polymarket.com/weather, open any temperature market (e.g. "Highest temperature in London on June 10?"), and copy the URL from your browser.
Paste URL and run analysis
Paste into the URL bar on the Analyse market tab and click Load. The city, date, and all buckets fill automatically. Then click Run analysis and wait ~5 seconds.
Read the results and bet
Look for green edge pills in the results table. If a bucket shows +10pp or more, the model says it's underpriced. The Kelly column tells you how much to bet from your bankroll. Log it in the Results tracker.
Three data sources are combined, each adding a different signal:
The primary signal. Open-Meteo runs 31 GFS members and 51 ECMWF members — separate forecast runs with slightly different starting conditions. Instead of a single forecast, we count what fraction of members land in each temperature bucket. For example, if 24 of 31 GFS members show a high of 17°C, that bucket gets 77% probability. This is far more rigorous than a point forecast plus guesswork about uncertainty.
Single best-estimate outputs from ECMWF IFS and GFS. Shown as a cross-check. When the deterministic forecasts and ensemble means all agree, bet with more confidence. When they diverge by more than 1.5°C, consider reducing stake size.
The current live temperature at the exact airport station Polymarket resolves against. Requires a free CheckWX API key. Most useful for same-day markets — if the station is already reading 14°C at noon on a stable day, models showing 18°C are probably wrong.
The Kelly formula sizes bets proportionally to your edge: f = (p × b − q) / b where p = your probability, q = 1−p, b = decimal odds minus 1.
This app uses quarter-Kelly (25% of full Kelly) because ensemble models aren't perfect. It also caps at 5% of bankroll per trade. These two limits prevent ruin from model errors.
Enter your total betting bankroll in the Analyse tab to get dollar-denominated suggestions.
Models update every 6 hours. The best time to find mispriced markets is just after a new model run, before the market reprices:
ECMWF: 00:00 and 12:00 UTC (midnight and noon UK time)
GFS: 00:00, 06:00, 12:00, 18:00 UTC
The market is typically slowest to reprice in the first 1–2 hours after a new run. Check within that window for the best opportunities.
Every market resolves against Wunderground data for a specific airport station named in the market rules. London City Airport (EGLC) can read 1–2°C different from Heathrow (EGLL). Paris resolves at Le Bourget (LFPB), not the city centre — which runs notably cooler in summer.
This app uses the correct airport coordinates for every city. Always verify the station in the market's resolution rules before trading.
Being honest about what the model can't do is part of using it safely.
We don't yet know whether GFS or ECMWF runs systematically warm or cold for a given city. Professional tools recalibrate weekly by comparing past forecasts against actual Wunderground outcomes. Mitigation: use the Results tracker diligently — after 20+ trades per city you'll see whether the model is consistently over- or underconfident, and you can adjust your edge threshold accordingly.
Polymarket occasionally changes the resolution station between market series. This app uses hardcoded coordinates which may become stale. Mitigation: always check the Resolution Source in the market's Rules section on Polymarket before betting. The sanity check reminds you every time.
Wunderground resets at midnight local time. A cold reading at 12:15 AM can become the first recorded temperature for the new day, artificially lowering the eventual "highest" temperature. This matters most in spring and autumn when overnight temperatures are volatile. Mitigation: for markets where the forecast high is close to a bucket boundary, add 1pp caution buffer before betting.
Polymarket charges approximately 2% per trade, and low-liquidity buckets have wide bid-ask spreads. An 8pp gross edge may become 4–5pp net. Mitigation: only bet when gross edge exceeds 10pp on liquid buckets (volume >$500). The sanity check flags edges below 5pp as potentially unviable.
The app requests gfs_seamless and ecmwf_ifs04 from Open-Meteo. If Open-Meteo renames or deprecates these, member counts will drop to zero. Mitigation: the sanity check flags low member counts immediately.
There are now several automated bots trading these markets. Edges are likely smaller and shorter-lived than they were in 2024. Mitigation: check markets immediately after model updates (ECMWF: 00Z/12Z UTC, GFS: 00Z/06Z/12Z/18Z UTC), use the scanner for speed, and target less-traded cities where bots are less active.