Polymarket Weather Trader
by @johnjerry8749
Trade Polymarket weather markets using NOAA forecasts via Simmer API. Inspired by gopfan2's $2M+ strategy. Use when user wants to trade temperature markets,...
clawhub install weather-pyπ About This Skill
name: polymarket-weather-trader displayName: Polymarket Weather Trader description: Trade Polymarket weather markets using NOAA forecasts via Simmer API. Inspired by gopfan2's $2M+ strategy. Use when user wants to trade temperature markets, automate weather bets, check NOAA forecasts, or run gopfan2-style trading. metadata: {"clawdbot":{"emoji":"π‘οΈ","requires":{"env":["SIMMER_API_KEY"]},"cron":null,"autostart":false}} authors: - Simmer (@simmer_markets) attribution: "Strategy inspired by gopfan2" version: "1.7.2" published: true
Polymarket Weather Trader
Trade temperature markets on Polymarket using NOAA forecast data.
When to Use This Skill
Use this skill when the user wants to:
What's New in v1.2.0
SIMMER_WEATHER_MAX_TRADES config to limit trades per scan cycle (default: 5)v1.1.1
scripts/status.py for quick balance and position checksv1.1.0
sdk:weather for portfolio tracking--smart-sizing)Setup Flow
When user asks to install or configure this skill:
1. Ask for Simmer API key
- They can get it from simmer.markets/dashboard β SDK tab
- Store in environment as SIMMER_API_KEY
2. 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)
3. Save settings to environment variables
4. Set up cron (disabled by default β user must enable scheduling)
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.pyDetailed position list
python scripts/status.py --positions
API Reference:
https://api.simmer.marketsAuthorization: Bearer $SIMMER_API_KEYGET /api/sdk/portfolioGET /api/sdk/positionsRunning the Skill
# Dry run (default β shows opportunities, no trades)
python weather_trader.pyExecute real trades
python weather_trader.py --liveWith smart position sizing (uses portfolio balance)
python weather_trader.py --live --smart-sizingCheck positions only
python weather_trader.py --positionsView config
python weather_trader.py --configDisable safeguards (not recommended)
python weather_trader.py --no-safeguardsDisable trend detection
python weather_trader.py --no-trendsQuiet mode β only output on trades/errors (ideal for high-frequency runs)
python weather_trader.py --live --quietCombine: frequent scanning, minimal noise
python weather_trader.py --live --smart-sizing --quiet
How It Works
Each cycle the script:
1. Fetches active weather markets from Simmer API
2. Groups markets by event (each temperature day is one event)
3. Parses event names to get location and date
4. Fetches NOAA forecast for that location/date
5. Finds the temperature bucket that matches the forecast
6. Safeguards: Checks context for flip-flop warnings, slippage, time decay
7. Trend Detection: Looks for recent price drops (stronger buy signal)
8. Entry: If bucket price < threshold and safeguards pass β BUY
9. Exit: Checks open positions, sells if price > exit threshold
10. Tagging: All trades tagged with sdk:weather for tracking
Smart Sizing
With --smart-sizing, position size is calculated as:
SIMMER_WEATHER_SIZING_PCT)This prevents over-deployment and scales with your account size.
Safeguards
Before trading, the skill checks:
Disable with --no-safeguards (not recommended).
Source Tagging
All trades are tagged with source: "sdk:weather". This means:
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"
"Slippage too high"
"Resolves in Xh - too soon"
"No weather markets found"
"API key invalid"
βοΈ 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
π Tips & Best Practices
"Safeguard blocked: Severe flip-flop warning"
"Slippage too high"
"Resolves in Xh - too soon"
"No weather markets found"
"API key invalid"