Analyse market
Paste a Polymarket URL to load buckets automatically, then run the forecast analysis.
Step 1 — Load from Polymarket
Paste a URL above and click Load — city, date and buckets will all fill in automatically.
Step 2 — Confirm details
Step 3 — Buckets (auto-loaded from URL)
Temperature bucketMarket yes %
Market scanner
Automatically checks all open Polymarket temperature markets and surfaces the ones with the strongest model edge. Click any result to load it into the Analyse tab.

Checks today, tomorrow and the day after across 15 major cities (~45 markets). Takes 20–40 seconds.

Results tracker
Log your trades and track whether the model edge is translating into real profit. Hit rate above 55% with consistent edge suggests the model is well-calibrated.
Log a trade
Trade history
How to use
Everything you need to find edge on Polymarket temperature markets.
Quick start — 3 steps
1

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.

2

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.

3

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.

How the model works

Three data sources are combined, each adding a different signal:

Ensemble models

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.

Deterministic forecasts

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.

METAR (live station)

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.

Kelly criterion — bet sizing

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.

When to check markets

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.

Resolution — why airport coordinates matter

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.

Known weaknesses — and how we mitigate them

Being honest about what the model can't do is part of using it safely.

No historical calibration

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.

Station coordinates may drift

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 midnight reset edge case

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.

Transaction costs eat small edges

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.

Open-Meteo ensemble model names can change

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.

Competition is growing

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.