ADDENDUM: Actionable Edge Mapping + Prediction Market Ladder

Weather Lock-In Desk — MERGED FINAL

Base: Claude Opus 4.6 (complete, unmodified) + Panel Additions from Gemini Pro, GPT-4.1, Grok-4-Fast

Panel review: Opus (base), Gemini Pro, GPT-4.1, Grok-4-Fast, DeepSeek V3 (no unique additions)

This addendum supplements the original Weather Lock-In spec. It does NOT replace the existing spec — it adds two critical layers: (1) mapping every edge to a specific trade on a specific platform, and (2) a systematic methodology for scanning prediction market temperature ladders for mispriced contracts.

CRITICAL DATA SOURCE RULE: For all weather data, NWS API is the ONLY trusted source for temperatures and weather observations. NEVER trust web search for temps. All temperature anchors, intraday observations, and forecast updates must come from api.weather.gov or NWS-derived products (NBM, HRRR, GFS ensemble). Web search results for temperatures are unreliable and prohibited.


TOPIC 1: ACTIONABLE EDGE OUTPUT

1. Edge-to-Trade Mapping Table

Edge Type Edge Description Tradeable Platforms Specific Trade Action Expected Edge Size Example Scenario
Lock-in signal (reactive) Temperature has dropped 4F+ below the running daily high after peak time — high is locked, market hasn't adjusted Kalshi, Polymarket Sell YES (buy NO) on all "high above X" contracts where X > current running high on both Kalshi and Polymarket ladders. The high is locked — these contracts will settle NO. 5-40c depending on how far the contract is above the locked high Chicago running high = 78F, current temp = 73F at 4:30 PM (post-peak). Kalshi "Chicago high above 80F" still trading at 22c. Fair value ~3c. Edge = 19c. Buy NO at 78c. Check Polymarket for equivalent contract.
Lock-in signal (extended drop) Temperature has dropped 6F+ below running high after peak time — extremely high confidence the high is locked Kalshi, Polymarket Same as above but with higher confidence. Larger position size warranted. Scan both Kalshi and Polymarket ladders simultaneously. 10-50c on tail contracts Phoenix running high = 102F, current temp = 95F at 6:15 PM. Kalshi "Phoenix high above 104F" at 15c. Fair value ~1c. Edge = 14c. Buy NO at 85c.
Forecast-based predictive NWS/ensemble models agree high will be significantly lower than market implies — BUY before the drop happens to capture higher prices Kalshi, Polymarket Buy NO on overpriced "above X" contracts while market still prices them at 30-60c instead of 5-10c. Bigger edge, more risk. Trade both platforms where available. 10-30c (but with higher model risk than reactive) Morning: NWS forecasts NYC high of 72F. GFS agrees at 73F. HRRR says 71F. Kalshi "NYC high above 76F" trading at 35c. Model consensus says fair value ~8c. Edge = 27c. Buy NO at 65c.
Multi-city correlation Same weather system affects 3-5 cities simultaneously — if signal fires in one, the others likely have the same mispricing pattern Kalshi, Polymarket Scan all affected cities' ladders simultaneously on both platforms. Trade the mispriced contracts across all cities hit by the same system. 3-15c per city, multiplied across cities Cold front dropping temps across CHI, DET, CLE, PIT. If CHI has already locked in below forecast, check DET/CLE/PIT for the same pattern — the market often lags on secondary cities.
Morning drop false signal filter Temperature drops in the morning (before peak) — NOT a lock-in signal — but market overreacts and sells Kalshi, Polymarket Buy YES on "above X" contracts that the market has panic-sold due to a morning drop, when NWS models still predict afternoon recovery 3-10c on contracts the market underpriced Denver: 9 AM temp drops to 58F from 62F due to passing cloud bank. Market sells "Denver high above 72F" from 65c to 48c. NWS still forecasts 74F high at 2 PM. Fair value ~70c. Edge = 22c. Buy YES at 48c.
Peak time arbitrage Early-peaking city (NYC) has confirmed high, but late-peaking city (Phoenix) hasn't peaked yet — use the early city's pattern to inform the late city Kalshi, Polymarket If NYC locked in 2F below forecast, check if PHX shows the same pattern forming. Front-run the PHX lock-in signal on both platforms. 3-8c NYC confirms high at 75F vs 78F forecast at 2 PM ET. PHX typically peaks at 5 PM ET. If same synoptic pattern, PHX may also come in under. Buy NO on PHX "above X" contracts early.
High-confidence precipitation forecast HRRR/NAM models show high probability of rain/snow during a specific event window — market underpricing Kalshi, Polymarket, Sportsbooks, DFS Kalshi: Buy YES on precipitation contracts. Polymarket: Buy YES on equivalent event contract. Sportsbooks: Bet Under on game totals (NFL/MLB); player prop Unders. DFS: Roster RBs over QBs/WRs in rainy NFL games. Kalshi/Polymarket: 8-25c; Sportsbooks: 3-5% HRRR shows 90% rain at MetLife Stadium during Bills/Jets game. Kalshi contract at 70c (fair ~90c). Game total 44.5, model re-prices to 39.5. Edge: 20c on Kalshi/Polymarket, ~5.5% on Under. [PANEL: Gemini Pro]
High-confidence wind forecast Models lock in unusually high winds affecting passing/kicking games or specific events Kalshi, Sportsbooks, DFS Kalshi: Buy YES on wind speed contracts if available. Sportsbooks: Bet Under on game totals and QB/Kicker props. DFS: Fade QBs, WRs, Kickers in high-wind games. Sportsbooks: 4-7%; Kalshi: 5-10c 25mph crosswinds at Lambeau Field. Game total 48, re-price to 43. Under 48 is >6% edge. Fade Aaron Rodgers and kickers in DFS. [PANEL: Gemini Pro]
Hurricane track edge — macro weather event Market has not fully priced in confirmed hurricane track/severity affecting Gulf platforms, agriculture, or energy infrastructure Kalshi, Polymarket, Futures Broker Kalshi/Polymarket: Trade storm landfall contracts. Futures: Short OJ if hurricane misses Florida; Long Natural Gas if it hits Gulf platforms. Options: Buy puts on agriculture ETFs if flash drought confirmed. Futures: 1-3%; Kalshi/Polymarket: 6-18c Hurricane track confirmed to make landfall in Louisiana. RBOB futures risen 2%, but historical refinery shutdowns suggest 5% move warranted. Long RBOB futures for 3% edge. Polymarket storm contract at 40c vs ECMWF model at 58c — 18c edge. [PANEL: Gemini Pro, Grok-4-Fast]
Wind turbine shutdown threshold edge Forecast wind speed exceeds turbine shutdown threshold — energy production disruption mispriced in prediction markets Kalshi Buy YES on Kalshi wind speed contracts at the relevant threshold Kalshi: 10-15c "Will wind speed exceed 50mph in ERCOT zone?" Market: 25c, NWS: 37% probability. Edge: 12c. [PANEL: Grok-4-Fast]

2. Actionable Output Format

JSON output sent via Telegram and to other desks:

{
  "edge_id": "WEATHER-20260315-CHI-LOCKIN-001",
  "desk": "weather_lock_in",
  "timestamp": "2026-03-15T16:45:00Z",
  "edge_description": "Chicago high temperature locked in at 71F (4.2F drop from running high of 75.2F, post-peak). Kalshi and Polymarket contracts above 73F are overpriced.",
  "signal_type": "lock_in_reactive",
  "city": "Chicago",
  "date": "2026-03-15",
  "running_high_f": 75.2,
  "current_temp_f": 71.0,
  "drop_magnitude_f": 4.2,
  "peak_time_passed": true,
  "confidence_level": 93,
  "lock_in_probability": 0.97,
  "risk_adjusted_edge": "14c after Kelly sizing",
  "platforms": {
    "Kalshi": {
      "mispriced_contracts": [
        {
          "contract": "Chicago high above 76F",
          "current_price": 18,
          "fair_value": 2,
          "edge_cents": 16,
          "edge_after_fees": 14,
          "action": "Buy NO at 82c",
          "liquidity_usd": 280
        },
        {
          "contract": "Chicago high above 78F",
          "current_price": 8,
          "fair_value": 1,
          "edge_cents": 7,
          "edge_after_fees": 5,
          "action": "Buy NO at 92c",
          "liquidity_usd": 150
        }
      ]
    },
    "Polymarket": {
      "mispriced_contracts": [
        {
          "contract": "Chicago high above 76F",
          "current_price": 20,
          "fair_value": 2,
          "edge_cents": 18,
          "edge_after_fees": 16,
          "action": "Buy NO at 80c",
          "liquidity_usd": 120,
          "note": "Lower liquidity than Kalshi — use limit orders, monitor slippage"
        }
      ]
    }
  },
  "time_sensitivity": "MEDIUM — lock-in signal is confirmed, edge shrinks as market catches up. Estimated window: 30-90 minutes.",
  "sharp_reference": "NWS observed high at station KORD: 75.2F at 2:23 PM CT. Current temp 71.0F at 4:45 PM CT and falling.",
  "weather_context": "Cold front passage at 3:15 PM CT. Wind shifted NW at 15 mph. Clear skies but thermal recovery impossible — sun angle too low.",
  "risk_factors": ["Station discrepancy: Kalshi uses KORD, verify same station", "Rare late-day temperature spike possible if wind dies"]
}

Telegram summary format:

WEATHER LOCK-IN: Chicago, Mar 15

High LOCKED at 75.2F (dropped 4.2F, post-peak)

Kalshi Edges:
  Above 76F @ 18c | Fair 2c | Edge 16c | Buy NO @ 82c | $280 liq
  Above 78F @ 8c | Fair 1c | Edge 7c | Buy NO @ 92c | $150 liq

Polymarket Edges:
  Above 76F @ 20c | Fair 2c | Edge 18c | Buy NO @ 80c | $120 liq

Confidence: 93% | Lock-in prob: 97%
Catalyst: Cold front, NW wind 15mph, sun angle low
Window: 30-90 min

3. Platform Priority Ranking

Rank Platform Why This Rank for Weather
1 Kalshi + Polymarket (tied) Both are the primary execution venues for temperature and weather prediction markets. Kalshi has the deepest US city temperature ladder network (20+ cities, every 2F threshold). Polymarket has a growing ladder presence and is essential for extreme/tail events and non-US weather. Neither is secondary — scan both platforms for every signal. Temperature ladders on both platforms should be scanned simultaneously. Edges on Polymarket may be larger due to lower efficiency; Kalshi has more liquidity on US city temps.
2 Sportsbooks High Priority for weather-impacted sports events. Rain/wind/cold effects on NFL/MLB/college totals and props are well-modeled and can produce 3-7% edges. Excellent liquidity but vig (4-10%) erodes value. Use only for high-confidence signals.
3 DraftKings / FanDuel (DFS) Medium Priority. Weather impacts optimal roster construction in qualitative ways (RBs over QBs/WRs in rain, fade kickers in wind). Less quantifiable but still significant. Overlay on prediction market trades when the signal is already actionable there.
4 Futures / Options Broker Situational Priority. Reserved for major market-moving weather events (hurricanes, droughts, polar vortexes). Immense liquidity but weather is only one factor. Requires more capital and sophisticated risk management. Examples: Long NG on cold snap; Short OJ if hurricane misses Florida.
5 Crypto / Stock Exchanges Lowest Priority. Indirect connection to weather edges — energy tokens, utility stocks, ag ETFs. The signal degrades significantly in translation. Only activate when a clear causal chain is established (e.g., hurricane disrupting Gulf refinery capacity → RBOB futures, not crypto).

Summary: The Weather Lock-In desk is primarily a Kalshi + Polymarket play. Both platforms have temperature and weather ladder structures with multiple contracts at different thresholds. Both must be scanned for every signal. All engineering effort should focus on API integration with both platforms, NWS real-time weather data, and fast signal-to-trade execution on both.


TOPIC 2: PREDICTION MARKET LADDER STRUCTURE

1. Desk Data Mapping to Prediction Market Contracts

Data Type Kalshi Series Polymarket Series Example Contracts Typical Ladder Spacing
Daily high temperature — Chicago Kalshi KXTEMP-CHI series Polymarket "CHI high above X" event markets "Chicago high above 70F", "above 72F", "above 74F", "above 76F", "above 78F", "above 80F" Every 2F
Daily high temperature — NYC Kalshi KXTEMP-NYC series Polymarket "NYC high above X" event markets "NYC high above 68F", "above 70F", "above 72F", "above 74F" Every 2F
Daily high temperature — Phoenix Kalshi KXTEMP-PHX series Polymarket "PHX high above X" event markets "Phoenix high above 98F", "above 100F", "above 102F", "above 104F" Every 2F
Daily high temperature — Houston Kalshi KXTEMP-HOU series Polymarket "HOU high above X" event markets "Houston high above 84F", "above 86F", "above 88F", "above 90F" Every 2F
Daily high temperature — LA Kalshi KXTEMP-LAX series Polymarket "LAX high above X" event markets "LA high above 74F", "above 76F", "above 78F", "above 80F" Every 2F
Daily high temperature — Dallas Kalshi KXTEMP-DFW series Polymarket "DFW high above X" event markets "Dallas high above 80F", "above 82F", "above 84F", "above 86F" Every 2F
Additional cities Kalshi KXTEMP-{city} Polymarket city-specific markets Similar ladder for each of 20 tracked cities Every 2F
Daily precipitation (binary/ladder) Kalshi KXPRC series Polymarket "Precipitation in X" binary/ladder "Seattle rain over 0.1in", "over 0.25in", "over 0.5in" Varies by event
Wind speed Kalshi KXWND series Polymarket "Wind speed over X" events "Miami gusts over 15mph/20mph/25mph", hurricane wind ladders Varies by event
Hurricane / extreme events Kalshi KXHURRICANE / KXEVN series Polymarket storm event ladders "Hurricane landfall in TX", "Category 3+ winds", "Heat index over 100/105/110" Varies

Note: All 20 tracked cities map to Kalshi and Polymarket temperature ladders. Kalshi typically has 10-15 rungs per city per day at 2F intervals. Polymarket availability varies by event and season but should be checked for every city where Kalshi has an active contract. This means 200+ individual contracts to scan per day across all cities on Kalshi alone, plus equivalent Polymarket contracts where available.

2. Sharp Reference Identification

Data Type Sharp Reference Why It's Sharp Limitations
Daily high temperature (primary) NWS point forecast (api.weather.gov) — the official NOAA forecast for each city's reporting station. THIS IS THE ONLY TRUSTED SOURCE. NWS is the resolution source for Kalshi and Polymarket weather markets. Their forecast is produced by professional meteorologists combining model output with local knowledge. It's the benchmark the market prices against. NWS forecasts update every 1-6 hours. Between updates, the forecast can become stale. Also, NWS forecasts are for specific stations — verify Kalshi and Polymarket each use the same station.
Daily high temperature (ensemble) Multi-model ensemble: GFS, NAM, HRRR, ECMWF via Open-Meteo + NWS National Blend of Models (NBM) for medium-range When models disagree, the market must choose. Ensemble spread quantifies forecast uncertainty. NBM blends all models with professional weighting — use as the mean of the probability distribution. Models update at fixed cycles (GFS every 6h, HRRR every hour). Raw model output is for grid points, not stations — interpolation introduces ~1F error.
Intraday temperature trajectory NWS hourly observations at the Kalshi and Polymarket resolution station Real-time temperature from the actual station both platforms use. This is the ground truth as it develops. When current temp is 71F and falling at 4 PM, the probability of reaching 76F is near zero. Observations can lag by 5-15 minutes. Station equipment occasionally malfunctions.
Cloud cover / wind / pressure NWS METAR reports (Aviation weather, updated every hour, special obs for rapid changes) Physical drivers of temperature recovery. Increasing cloud cover + shifting wind = high is locked. Clearing skies + calm winds = recovery possible. METAR is airport-based. Conditions at the weather station may differ slightly from the airport.
Precipitation forecasts HRRR model (api.weather.gov or Synoptic Data API) for short-range (<18h) PoP. NBM for longer range. HRRR is updated hourly and is the sharpest short-term precipitation model available for free. For binary rain markets, HRRR PoP is the best single-model reference. HRRR degrades beyond 18h. For multi-day precipitation markets, use ensemble PoP from NBM.
Hurricane / extreme events National Hurricane Center (NHC) official forecast cone + ensemble strike probability NHC is the resolution authority for hurricane-related markets on Kalshi and Polymarket. Their official track and cone incorporate all major model ensembles with expert weighting. NHC updates every 6 hours. Between updates, model runs may shift significantly, especially 3-5 days out.

3. Probability Curve Construction Method

Distribution type: Empirical + Normal hybrid (with Poisson and Empirical Bootstrap for non-temperature markets)

Unlike sports where the outcome is generated by a stochastic game, temperature forecasts have a well-studied error distribution:

Distribution type by market:

Historical data feeding the model:

How the sharp reference anchors the curve:

  1. Anchor: Take the NWS point forecast for the daily high from api.weather.gov (e.g., 76F for Chicago). This is the only trusted source.
  2. Spread: Use the historical forecast error SD for this city + season (e.g., Chicago in March: SD = 3.2F).
  3. Adjustment: If multiple models disagree, weight the ensemble mean but widen the SD by the model spread (e.g., if GFS says 78F and ECMWF says 73F, the spread is 5F — increase SD by ~1F to account for increased uncertainty).
  4. Construct CDF: P(high > X) = 1 - Phi((X - forecast_high) / SD) where Phi is the standard normal CDF.
  5. Intraday update: As the day progresses and observations come in, the distribution narrows dramatically:

Recalculation frequency:

4. Ladder Scanning Methodology

Step-by-step process:

  1. Pull all contracts for each city on both platforms: Call Kalshi API for all active temperature contracts for each of the 20 tracked cities. Call Polymarket API for equivalent contracts where available. Typically ~10-15 rungs per city per day on Kalshi, variable on Polymarket.

  2. Determine current state:

  3. For each contract threshold, calculate fair probability:

  4. Calculate raw edge: fair_NO_price = 1 - fair_probability. If Kalshi/Polymarket YES price > fair_probability, buy NO (edge = market_YES_price - fair_probability). If YES price < fair_probability, buy YES (edge = fair_probability - market_YES_price).

  5. Calculate net edge after fees:

  6. Filter:

  7. Rank and flag:

  8. Track edge persistence: Log every detected edge and rescan every 15 minutes. Build a decay curve: how fast do weather edges shrink? Hypothesis: lock-in edges persist for 30-90 minutes because weather markets have fewer active traders than sports. Log the decay rate per contract type (e.g., ">78F edges drop ~2c/hour on Kalshi in the lock-in window"). [PANEL: Grok-4-Fast]

5. Edge Examples with Real Numbers

Example 1: Lock-In Signal — Chicago Post-Peak Drop

Example 2: Forecast-Based Predictive — Model Disagreement in Phoenix

Example 3: Multi-City Correlation — Cold Front Sweep

Example 4: Precipitation Edge — High-Confidence Rain Signal


IMPORTANT NOTES

Source: ~/edgeclaw/results/spec-panel/weather-lock-in/addendum/spec-final.md