Daily briefing
All value bets across every open market, ranked by edge. Status tells you whether to bet now or wait for fresher models.
Model freshness — current time: UTC
Analyse market
Paste a Polymarket URL to load buckets automatically, then run the forecast analysis.
Step 1 — Load from Polymarket
Paste a URL above — city, date and buckets will all fill in automatically.
Step 2 — Confirm details
Step 3 — Buckets
Temperature bucketMarket yes %
Results tracker
Log your trades and track whether the model edge is translating into real profit.
Log a trade
Trade history
How to use
Everything you need to find edge on Polymarket temperature markets.
Quick start
1

Check the Daily briefing first

Every morning after 06:00 BST (when both ECMWF and GFS have just updated), click Run daily briefing. It scans all open markets across every city for the next 3 days and shows you a ranked table of value bets with status: BET NOW, WAIT, or PASS.

2

Only bet on BET NOW

BET NOW means edge >10pp, models are fresh, and GFS and ECMWF agree. WAIT means there's edge but a model is stale or diverging — check again after the next update. PASS means no meaningful edge.

3

Deep-dive with Analyse market

Click any BET NOW row to load it into the Analyse tab for the full sanity check, ensemble distribution, and detailed bucket breakdown.

4

Log and track

Record every bet in the Results tracker. After 20+ trades you'll see whether the model edge is real for each city, and calibrate accordingly.

Reading the daily briefing table

Each row in the briefing table represents the single best bet opportunity in that market. Here's what every column means:

Dir — Direction

YES means the model thinks this temperature bucket is more likely than the market implies — buy YES shares. NO means the market has overpriced this bucket — buy NO shares (betting it won't happen). Both can be profitable; the edge calculation works the same way.

Model% — Model probability

The probability the GFS ensemble assigns to this bucket. Calculated by counting how many of the 31 GFS runs, after rounding to whole degrees (matching Wunderground's resolution), land in this temperature range. If 14 of 31 members show a daily high of 19°C, Model% = 45%. This is a genuine probability from real forecast data, not a guess.

Mkt% — Market implied probability

The current Yes price on Polymarket expressed as a percentage. If 19°C is trading at 6¢ per share, Mkt% = 6%. This is what the collective market believes the probability to be. Our edge is the gap between what the model thinks and what the market thinks.

Edge — The opportunity

Model% minus Mkt%. Green (+) means the bucket is underpriced — bet YES. Red (−) means overpriced — bet NO. A +39pp edge means the model says 45% probability but the market prices it at only 6%. Only act on edges above 10pp — below 5pp the edge probably doesn't survive Polymarket's ~2% fee plus the bid-ask spread.

Kelly — Suggested bet size

The suggested stake in dollars, from your bankroll, using the quarter-Kelly formula scaled for forecast lead time. Quarter-Kelly (25% of full Kelly) is used to account for model uncertainty. Capped at 5% of bankroll per trade. $0 or blank means the bucket has no active market (0% odds) so the formula can't calculate a sensible bet — skip it. Always treat Kelly as a ceiling, not a target — start smaller until you've tracked enough trades to trust the model for that city.

Spread — GFS internal uncertainty

The standard deviation of the 31 GFS ensemble members in degrees. This tells you how much the 31 runs disagree with each other — not how much GFS and ECMWF disagree, but how self-consistent GFS is internally. ±0.8° means the runs are tightly clustered — GFS is confident. ±2.5° means the runs are scattered — forecast is genuinely uncertain regardless of the edge size. Above ±2° consider halving your Kelly stake.

Stars — Combined confidence rating

★★★ all conditions favourable: 25+ ensemble members, GFS and ECMWF agree within 1.5°, GFS spread tight, edge above 12pp. ★★☆ one condition marginal — proceed with caution and reduced stake. ★☆☆ multiple conditions weak — treat as speculative only. Stars are a quick visual summary; always click through to the Analyse tab for the full sanity check before placing a real bet.

Models update on fixed schedules. Open-Meteo ingests them with a 4–6 hour lag.

06:00–08:00 BST — Both GFS (06Z) and ECMWF (00Z) fresh. Best morning window.
18:00–20:00 BST — Both GFS (12Z) and ECMWF (12Z) fresh. Best evening window.

The freshness bar at the top of Daily briefing shows you exactly how old each model run is right now and counts down to the next update.

The daily workflow — building calibration data

The goal for the first month is to accumulate paper trade data, not to make money. You need ~50 resolved trades before you can trust the model's edge is real.

1

Check at 06:15 BST and 18:15 BST

These are the two windows when both GFS and ECMWF have just updated. The freshness bar shows exactly how old each model is. Set phone alarms for both times. If models are stale, the briefing will tell you when to come back.

2

Run daily briefing — scans all 7 days

The briefing checks all open markets across every city for tomorrow through to 7 days ahead (~200 potential markets). Markets from yesterday will reappear, possibly at different odds. New markets open daily. The scan takes 30–60 seconds. WAIT rows are hidden when models are stale — only actionable results are shown.

3

Log every BET NOW as a paper trade

Click the 📋 button on any BET NOW row. This pre-fills the Results tracker with everything — city, direction, date, model probability, market odds, and Kelly stake. Review and click Log trade. Do this for every BET NOW even if not betting real money. The data is what matters right now.

4

Mark outcomes as markets resolve

Each market resolves the evening of its date. Check Polymarket for the outcome, then update the trade in the Results tracker. After 20 resolved trades you'll start to see whether the model is calibrated. After 50 you'll have a meaningful hit rate to trust.

5

What to look for

Hit rate above 55% — model is genuinely predictive. Below 50% — possible systematic bias (e.g. GFS runs warm for London). Stars correlation — do ★★★ trades win more than ★☆☆? If yes, the confidence rating is working and you can size bets accordingly. City patterns — some cities may show consistent over- or under-prediction. Note these and adjust your threshold.

Understanding the status

BET NOW Edge >10pp · models fresh · GFS and ECMWF agree · GFS spread tight

WAIT Edge exists but one or more conditions not met. The reason is shown. Check again after the next model run.

PASS Edge below threshold after fees. Not worth trading.

How the model works

Three sources, each adding a different signal:

GFS ensemble (31 members)

The American GFS model run 31 times with slightly different starting conditions. We count what fraction of members land in each temperature bucket after rounding to whole °C (matching Wunderground's resolution). This gives a genuine probability distribution, not a guess.

ECMWF IFS + GFS deterministic

Single best-estimate forecasts from both main global models. Used as cross-checks. When all sources agree, confidence is high.

METAR (live station)

Current observed temperature at the exact airport station the market resolves against. Most useful for same-day markets.

Known weaknesses

Be honest about model limitations before betting.

No calibration yet — we don't know if GFS runs warm or cold for a given city. Use the tracker to find out over time.
Station coordinates may drift — always verify the resolution station in the Polymarket market rules.
Fees eat small edges — Polymarket charges ~2%. Only bet above 10pp gross edge on liquid buckets.
Bots are active — edges are smaller and shorter-lived than 2024. Speed matters — check within 2 hours of model updates.
One season ≠ calibration — 50 trades in June tells you about summer. It tells you almost nothing about winter, cold snaps, or market regime changes. Stay humble across seasons.
Why the market is wrong — the psychology behind your edge

The people pricing these markets aren't irrational. They're human. And being human means their brains run shortcuts that create predictable, systematic errors. Two Nobel Prize winners spent their careers documenting exactly these errors — and they map precisely onto what this tool exploits.

Daniel Kahneman — Thinking, Fast and Slow

Human decision-making runs on two systems. System 1 is fast, automatic, and intuitive — it handles roughly 96% of all decisions, including pricing a temperature market at 8am. System 2 is slow and deliberate — the kind required to process 31 ensemble runs and calculate probability distributions. System 1 can't do that. It will never do that. This structural gap is the permanent, non-arbitrageable core of your edge.

Nassim Taleb — The Black Swan, Fooled by Randomness

Markets built on human intuition systematically underprice tail events — the extreme outcomes that "feel" unlikely because they rarely come to mind easily. This mispricing isn't random noise: it's structural. It will persist as long as humans are pricing markets. The tail buckets in these temperature markets face a double discount — statistically underpriced (Taleb) and psychologically avoided (Kahneman). That's where the highest-payout opportunities live.

WYSIATI (What You See Is All There Is) — the market prices what it can see: yesterday's weather, the BBC headline, the season. It cannot see 31 ensemble runs, the spread across members, or the ECMWF divergence. You can. That's the entire edge in one sentence.

Anchoring — the first prices set on a market are highly sticky. Even when new model data arrives, the market under-adjusts from the opening anchor. The largest edges appear in the 1–2 hours after model updates at 06:00 and 18:00 BST, before the market has had time to reprice. This is why speed matters.

Availability bias — after a cold spell, cold feels probable. After a hot week, warmth feels inevitable. The ensemble has no memory of last week — it uses only current atmospheric state. After unusual weather in one direction, check the opposite tail for underpriced value.

Loss aversion — people avoid long-shot tail bets emotionally. Losing a 10:1 bet feels worse than the money lost. This suppresses tail bucket prices beyond what statistical bias alone explains. Small-stake convex bets on tail buckets exploit this double discount.

Overconfidence (the rule for you) — algorithms consistently outperform expert judgment in complex probabilistic environments. Kahneman proved this repeatedly. You are the algorithm. Never override the model based on personal weather intuition. The moment you do, you've become the market you're trying to beat. Log every BET NOW. Let the data decide.
The four opportunity types
Type A — Daily edge (WYSIATI + Anchoring): models fresh, GFS confident, days 1–2. Your bread and butter. Act within 2 hours of model update.
Type B — Recency play (Availability bias): after unusual weather, opposite tail underpriced. Check manually after heatwaves or cold snaps.
Type C — Barbell bet (Loss aversion + Fat tails): low-odds tail bucket with meaningful ensemble support. Small stake, hold to resolution, high payout.
Type D — Base rate signal (Base rate neglect): market odds inconsistent with long-run historical frequency for that city and month. Coming in a future update.