Simmer Weather Trading
Trade temperature markets on Polymarket using NOAA forecast data.
When to Use This Skill
Use this skill when the user wants to:
- •Trade weather markets automatically
- •Set up gopfan2-style temperature trading
- •Buy low on weather predictions
- •Check their weather trading positions
- •Configure trading thresholds or locations
What's New in v1.2.0
- •Max Trades Per Run: New
SIMMER_WEATHER_MAX_TRADESconfig to limit trades per scan cycle (default: 5)
v1.1.1
- •Status Script: New
scripts/status.pyfor quick balance and position checks - •API Reference: Added Quick Commands section with API endpoints
v1.1.0
- •Source Tagging: All trades tagged with
sdk:weatherfor portfolio tracking - •Smart Sizing: Position sizing based on available balance (
--smart-sizing) - •Context Safeguards: Checks for flip-flop warnings, slippage, time decay
- •Price Trend Detection: Detects recent price drops for stronger signals
Setup Flow
When user asks to install or configure this skill:
- •
Ask for Simmer API key
- •They can get it from simmer.markets/dashboard → SDK tab
- •Store in environment as
SIMMER_API_KEY
- •
Ask about settings (or confirm defaults)
- •Entry threshold: When to buy (default 15¢)
- •Exit threshold: When to sell (default 45¢)
- •Max position: Amount per trade (default $2.00)
- •Locations: Which cities to trade (default NYC)
- •
Save settings to environment variables
- •
Set up cron (runs every 2 hours by default)
Configuration
| Setting | Environment Variable | Default | Description |
|---|---|---|---|
| Entry threshold | SIMMER_WEATHER_ENTRY | 0.15 | Buy when price below this |
| Exit threshold | SIMMER_WEATHER_EXIT | 0.45 | Sell when price above this |
| Max position | SIMMER_WEATHER_MAX_POSITION | 2.00 | Maximum USD per trade |
| Max trades/run | SIMMER_WEATHER_MAX_TRADES | 5 | Maximum trades per scan cycle |
| Locations | SIMMER_WEATHER_LOCATIONS | NYC | Comma-separated cities |
| Smart sizing % | SIMMER_WEATHER_SIZING_PCT | 0.05 | % of balance per trade |
Supported locations: NYC, Chicago, Seattle, Atlanta, Dallas, Miami
Quick Commands
# Check account balance and positions python scripts/status.py # Detailed position list python scripts/status.py --positions
API Reference:
- •Base URL:
https://api.simmer.markets - •Auth:
Authorization: Bearer $SIMMER_API_KEY - •Portfolio:
GET /api/sdk/portfolio - •Positions:
GET /api/sdk/positions
Running the Skill
# Standard scan python weather_trader.py # Dry run (no trades) python weather_trader.py --dry-run # With smart position sizing (uses portfolio balance) python weather_trader.py --smart-sizing # Check positions only python weather_trader.py --positions # View config python weather_trader.py --config # Disable safeguards (not recommended) python weather_trader.py --no-safeguards # Disable trend detection python weather_trader.py --no-trends
How It Works
Each cycle the script:
- •Fetches active weather markets from Simmer API
- •Groups markets by event (each temperature day is one event)
- •Parses event names to get location and date
- •Fetches NOAA forecast for that location/date
- •Finds the temperature bucket that matches the forecast
- •Safeguards: Checks context for flip-flop warnings, slippage, time decay
- •Trend Detection: Looks for recent price drops (stronger buy signal)
- •Entry: If bucket price < threshold and safeguards pass → BUY
- •Exit: Checks open positions, sells if price > exit threshold
- •Tagging: All trades tagged with
sdk:weatherfor tracking
Smart Sizing
With --smart-sizing, position size is calculated as:
- •5% of available USDC balance (configurable via
SIMMER_WEATHER_SIZING_PCT) - •Capped at max position setting ($2.00 default)
- •Falls back to fixed size if portfolio unavailable
This prevents over-deployment and scales with your account size.
Safeguards
Before trading, the skill checks:
- •Flip-flop warning: Skips if you've been reversing too much
- •Slippage: Skips if estimated slippage > 15%
- •Time decay: Skips if market resolves in < 2 hours
- •Market status: Skips if market already resolved
Disable with --no-safeguards (not recommended).
Source Tagging
All trades are tagged with source: "sdk:weather". This means:
- •Portfolio shows breakdown by strategy
- •Copytrading skill won't sell your weather positions
- •You can track weather P&L separately
Example Output
🌤️ Simmer Weather Trading Skill ================================================== ⚙️ Configuration: Entry threshold: 15% (buy below this) Exit threshold: 45% (sell above this) Max position: $2.00 Locations: NYC Smart sizing: ✓ Enabled Safeguards: ✓ Enabled Trend detection: ✓ Enabled 💰 Portfolio: Balance: $150.00 Exposure: $45.00 Positions: 8 📍 NYC 2026-01-28 (high temp) NOAA forecast: 34°F Matching bucket: 34-35°F @ $0.12 💡 Smart sizing: $2.00 (capped at max position) ✅ Below threshold ($0.15) - BUY opportunity! 📉 (dropped 15% in 24h) Executing trade... ✅ Bought 62.5 shares @ $0.12 📊 Summary: Events scanned: 12 Entry opportunities: 1 Trades executed: 1
Troubleshooting
"Safeguard blocked: Severe flip-flop warning"
- •You've been changing direction too much on this market
- •Wait before trading again
"Slippage too high"
- •Market is illiquid, reduce position size or skip
"Resolves in Xh - too soon"
- •Market resolving soon, risk is elevated
"No weather markets found"
- •Weather markets may not be active (seasonal)
"API key invalid"
- •Get new key from simmer.markets/dashboard → SDK tab