Weatherbot
Weather trading bot for Polymarket — Kelly Criterion + EV filtering + simulation mode
Install / Use
/learn @alteregoeth-ai/WeatherbotREADME
🌤 WeatherBet — Polymarket Weather Trading Bot
Automated weather market trading bot for Polymarket. Finds mispriced temperature outcomes using real forecast data from multiple sources across 20 cities worldwide.
No SDK. No black box. Pure Python.
Versions
bot_v1.py — Base Bot
The foundation. Scans 6 US cities, fetches forecasts from NWS using airport station coordinates, finds matching temperature buckets on Polymarket, and enters trades when the market price is below the entry threshold.
No math, no complexity. Just the core logic — good for understanding how the system works.
weatherbet.py — Full Bot (current)
Everything in v1, plus:
- 20 cities across 4 continents (US, Europe, Asia, South America, Oceania)
- 3 forecast sources — ECMWF (global), HRRR/GFS (US, hourly), METAR (real-time observations)
- Expected Value — skips trades where the math doesn't work
- Kelly Criterion — sizes positions based on edge strength
- Stop-loss + trailing stop — 20% stop, moves to breakeven at +20%
- Slippage filter — skips markets with spread > $0.03
- Self-calibration — learns forecast accuracy per city over time
- Full data storage — every forecast snapshot, trade, and resolution saved to JSON
How It Works
Polymarket runs markets like "Will the highest temperature in Chicago be between 46–47°F on March 7?" These markets are often mispriced — the forecast says 78% likely but the market is trading at 8 cents.
The bot:
- Fetches forecasts from ECMWF and HRRR via Open-Meteo (free, no key required)
- Gets real-time observations from METAR airport stations
- Finds the matching temperature bucket on Polymarket
- Calculates Expected Value — only enters if the math is positive
- Sizes the position using fractional Kelly Criterion
- Monitors stops every 10 minutes, full scan every hour
- Auto-resolves markets by querying Polymarket API directly
Why Airport Coordinates Matter
Most bots use city center coordinates. That's wrong.
Every Polymarket weather market resolves on a specific airport station. NYC resolves on LaGuardia (KLGA), Dallas on Love Field (KDAL) — not DFW. The difference between city center and airport can be 3–8°F. On markets with 1–2°F buckets, that's the difference between the right trade and a guaranteed loss.
| City | Station | Airport | |------|---------|---------| | NYC | KLGA | LaGuardia | | Chicago | KORD | O'Hare | | Miami | KMIA | Miami Intl | | Dallas | KDAL | Love Field | | Seattle | KSEA | Sea-Tac | | Atlanta | KATL | Hartsfield | | London | EGLC | London City | | Tokyo | RJTT | Haneda | | ... | ... | ... |
Installation
git clone https://github.com/alteregoeth-ai/weatherbot
cd weatherbot
pip install requests
Create config.json in the project folder:
{
"balance": 10000.0,
"max_bet": 20.0,
"min_ev": 0.05,
"max_price": 0.45,
"min_volume": 2000,
"min_hours": 2.0,
"max_hours": 72.0,
"kelly_fraction": 0.25,
"max_slippage": 0.03,
"scan_interval": 3600,
"calibration_min": 30,
"vc_key": "YOUR_VISUAL_CROSSING_KEY"
}
Get a free Visual Crossing API key at visualcrossing.com — used to fetch actual temperatures after market resolution.
Usage
python weatherbet.py # start the bot — scans every hour
python weatherbet.py status # balance and open positions
python weatherbet.py report # full breakdown of all resolved markets
Data Storage
All data is saved to data/markets/ — one JSON file per market. Each file contains:
- Hourly forecast snapshots (ECMWF, HRRR, METAR)
- Market price history
- Position details (entry, stop, PnL)
- Final resolution outcome
This data is used for self-calibration — the bot learns forecast accuracy per city over time and adjusts position sizing accordingly.
APIs Used
| API | Auth | Purpose | |-----|------|---------| | Open-Meteo | None | ECMWF + HRRR forecasts | | Aviation Weather (METAR) | None | Real-time station observations | | Polymarket Gamma | None | Market data | | Visual Crossing | Free key | Historical temps for resolution |
Disclaimer
This is not financial advice. Prediction markets carry real risk. Run the simulation thoroughly before committing real capital.
