← Back to Blog
Strategy7 min2026-03-18

How to Find Mispriced Weather Contracts on Kalshi

A step-by-step strategy for identifying mispriced weather prediction contracts using forecast model consensus and historical bias data.

Finding mispriced weather contracts is the core skill of weather market trading. Unlike traditional financial markets, weather markets have an asymmetric information advantage: numerical weather prediction models provide objective probability estimates that most retail traders don't use.

Step 1: Understand What the Models Say

Before looking at market prices, check what GFS and ECMWF forecast for the event. For a contract like "Will Chicago's high exceed 55°F on Friday?", you need:

  • The GFS deterministic forecast for Chicago's high
  • The ECMWF deterministic forecast
  • The ensemble spread from both models (how confident they are)

Celsi automates this by pulling forecasts from Open-Meteo's GFS and ECMWF endpoints and calculating a consensus probability.

Step 2: Compare Against Market Price

If the model consensus says 85% probability but the Kalshi contract trades at $0.65, that's a 20-point divergence. This is your raw edge signal.

But raw divergence isn't enough — you need to filter for quality.

Step 3: Check Model Bias

Models aren't perfect. GFS might consistently overpredict highs in Phoenix by 2°F, which means its "85% chance of exceeding 105°F" might really be closer to 70% after bias correction.

Celsi tracks rolling bias for each model × city × metric combination. A contract with 20 points of raw edge but significant model bias in that direction might only have 8-10 points of true edge.

Step 4: Evaluate Ensemble Agreement

The single most reliable signal is when both model ensembles agree and the market disagrees. If 28 of 31 GFS ensemble members and 45 of 51 ECMWF ensemble members predict the event, but the market prices it at 65%, that's a high-confidence opportunity.

Conversely, if the ensembles are split (16/31 GFS, 25/51 ECMWF), the "consensus" of ~50% is low-confidence and the market might actually be smarter.

Step 5: Consider the Market Context

Some mispricings exist for structural reasons: - Thin liquidity: Few traders, wide spreads, slow price discovery - Retail bias: Casual traders overweight recent weather ("it was cold yesterday so it'll be cold tomorrow") - Settlement timing: Contracts settle on NWS observed data, which can differ from model forecast locations

A Practical Framework

Focus on contracts where: - Edge score ≥ 60 on Celsi - Both models agree (low ensemble spread) - Historical bias doesn't explain the divergence - At least 24 hours until settlement (models update, prices adjust)

Start with paper trading on Celsi to track your hit rate before committing real capital.