polymarket-weather-trader
Trade Polymarket weather markets using NOAA (US) and Open-Meteo (international) forecasts via Simmer API. Inspired by gopfan2's $2M+ strategy. Use when user wants to trade temperature markets, automate weather bets, check forecasts, or run gopfan2-style trading.
Best use case
polymarket-weather-trader is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Trade Polymarket weather markets using NOAA (US) and Open-Meteo (international) forecasts via Simmer API. Inspired by gopfan2's $2M+ strategy. Use when user wants to trade temperature markets, automate weather bets, check forecasts, or run gopfan2-style trading.
Teams using polymarket-weather-trader should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/polymarket-weather-trader/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How polymarket-weather-trader Compares
| Feature / Agent | polymarket-weather-trader | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Trade Polymarket weather markets using NOAA (US) and Open-Meteo (international) forecasts via Simmer API. Inspired by gopfan2's $2M+ strategy. Use when user wants to trade temperature markets, automate weather bets, check forecasts, or run gopfan2-style trading.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
AI Agent for Product Research
Browse AI agent skills for product research, competitive analysis, customer discovery, and structured product decision support.
AI Agent for SaaS Idea Validation
Use AI agent skills for SaaS idea validation, market research, customer discovery, competitor analysis, and documenting startup hypotheses.
AI Agents for Marketing
Discover AI agents for marketing workflows, from SEO and content production to campaign research, outreach, and analytics.
SKILL.md Source
# Polymarket Weather Trader Trade temperature markets on Polymarket using NOAA forecast data. > **This is a template.** The default signal is NOAA temperature forecasts — remix it with other weather APIs, different forecast models, or additional market types (precipitation, wind, etc.). The skill handles all the plumbing (market discovery, NOAA parsing, trade execution, safeguards). Your agent provides the alpha. ## 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.17.0 - **Volatility Targeting**: Dynamic position sizing based on realized market volatility. Uses EWMA of log returns from price history. High vol → smaller positions, low vol → larger positions. Enable with `--vol-targeting` flag or `SIMMER_WEATHER_VOL_TARGETING=true`. - `SIMMER_WEATHER_TARGET_VOL` — target annualized vol (default 20%) - `SIMMER_WEATHER_VOL_MAX_LEVERAGE` — max scale-up multiplier (default 2.0x) - `SIMMER_WEATHER_VOL_MIN_ALLOC` — min allocation floor (default 20%) - `SIMMER_WEATHER_VOL_SPAN` — EWMA responsiveness (default 10) ### v1.14.0 - **Fixed env var names** to match autotune registry (old names still work as aliases): - `SIMMER_WEATHER_ENTRY` → `SIMMER_WEATHER_ENTRY_THRESHOLD` - `SIMMER_WEATHER_EXIT` → `SIMMER_WEATHER_EXIT_THRESHOLD` - `SIMMER_WEATHER_MAX_POSITION` → `SIMMER_WEATHER_MAX_POSITION_USD` - `SIMMER_WEATHER_MAX_TRADES` → `SIMMER_WEATHER_MAX_TRADES_PER_RUN` - **New tunable: `SIMMER_WEATHER_SLIPPAGE_MAX`** — adjustable slippage safeguard (default 15%). Set higher for research mode on illiquid markets. - **New tunable: `SIMMER_WEATHER_MIN_LIQUIDITY`** — skip markets with liquidity below this USD threshold (default 0 = disabled). Pre-filters thin markets before execution. - **`SIMMER_WEATHER_LOCATIONS` and `SIMMER_WEATHER_BINARY_ONLY` now exposed as autotune tunables.** ### v1.13.0 - **Binary Only Mode**: New `SIMMER_WEATHER_BINARY_ONLY` config to skip range-bucket events (e.g., "NYC 34-35°F") and only trade binary yes/no weather markets ### v1.2.0 - **Max Trades Per Run**: New `SIMMER_WEATHER_MAX_TRADES` config to limit trades per scan cycle (default: 5) ### v1.1.1 - **Status Script**: New `scripts/status.py` for quick balance and position checks - **API Reference**: Added Quick Commands section with API endpoints ### v1.1.0 - **Source Tagging**: All trades tagged with `sdk:weather` for 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: 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 for wallet private key** (required for live trading) - This is the private key for their Polymarket wallet (the wallet that holds USDC) - Store in environment as `WALLET_PRIVATE_KEY` - The SDK uses this to sign orders client-side automatically — no manual signing needed 3. **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) 4. **Save settings to environment variables** 5. **Set up cron** (disabled by default — user must enable scheduling) ## Configuration | Setting | Environment Variable | Default | Description | |---------|---------------------|---------|-------------| | Entry threshold | `SIMMER_WEATHER_ENTRY_THRESHOLD` | 0.15 | Buy when price below this | | Exit threshold | `SIMMER_WEATHER_EXIT_THRESHOLD` | 0.45 | Sell when price above this | | Max position | `SIMMER_WEATHER_MAX_POSITION_USD` | 2.00 | Maximum USD per trade | | Max trades/run | `SIMMER_WEATHER_MAX_TRADES_PER_RUN` | 5 | Maximum trades per scan cycle | | Locations | `SIMMER_WEATHER_LOCATIONS` | NYC | Comma-separated cities (NYC, Chicago, Seattle, Atlanta, Dallas, Miami) | | Binary only | `SIMMER_WEATHER_BINARY_ONLY` | false | Skip range-bucket events (e.g., "34-35°F"), only trade binary yes/no markets | | Smart sizing % | `SIMMER_WEATHER_SIZING_PCT` | 0.05 | % of balance per trade | | Slippage max | `SIMMER_WEATHER_SLIPPAGE_MAX` | 0.15 | Skip trades with slippage above this (0.15 = 15%) | | Min liquidity | `SIMMER_WEATHER_MIN_LIQUIDITY` | 0 | Skip markets with liquidity below this USD amount (0 = disabled) | | Vol targeting | `SIMMER_WEATHER_VOL_TARGETING` | false | Enable volatility targeting for dynamic position sizing | | Target vol | `SIMMER_WEATHER_TARGET_VOL` | 0.20 | Target annualized volatility (0.20 = 20%) | | Vol max leverage | `SIMMER_WEATHER_VOL_MAX_LEVERAGE` | 2.0 | Max scale-up multiplier in calm markets | | Vol min alloc | `SIMMER_WEATHER_VOL_MIN_ALLOC` | 0.2 | Min allocation floor in volatile markets (0.2 = 20%) | | Vol EWMA span | `SIMMER_WEATHER_VOL_SPAN` | 10 | EWMA span for vol calculation (lower = more responsive) | **Legacy env var aliases** (still accepted for backwards compatibility): `SIMMER_WEATHER_ENTRY`, `SIMMER_WEATHER_EXIT`, `SIMMER_WEATHER_MAX_POSITION`, `SIMMER_WEATHER_MAX_TRADES` **Supported locations:** NYC, Chicago, Seattle, Atlanta, Dallas, Miami ## Quick Commands ```bash # 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 ```bash # Dry run (default — shows opportunities, no trades) python weather_trader.py # Execute real trades python weather_trader.py --live # With smart position sizing (uses portfolio balance) python weather_trader.py --live --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 # Enable volatility targeting (dynamic sizing based on market vol) python weather_trader.py --live --smart-sizing --vol-targeting # Quiet mode — only output on trades/errors (ideal for high-frequency runs) python weather_trader.py --live --quiet # Combine: 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: - 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. ## Volatility Targeting With `--vol-targeting`, position sizes are dynamically adjusted based on realized market volatility: ``` position_size = base_size × clamp(target_vol / realized_vol, min_alloc, max_leverage) ``` - **High volatility** (price swinging): positions scale down → less risk - **Low volatility** (price stable): positions scale up → more alpha capture - Falls back to base size if insufficient price history (< 15 data points) Combines with smart sizing: first calculate base size from portfolio %, then apply the vol multiplier. ## 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) **"External wallet requires a pre-signed order"** - `WALLET_PRIVATE_KEY` is not set in the environment - The SDK signs orders automatically when this env var is present — no manual signing code needed - Fix: `export WALLET_PRIVATE_KEY=0x<your-polymarket-wallet-private-key>` - Do NOT attempt to sign orders manually or modify the skill code — the SDK handles it **"Balance shows $0 but I have USDC on Polygon"** - Polymarket uses **USDC.e** (bridged USDC, contract `0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174`) — not native USDC - If you bridged USDC to Polygon recently, you likely received native USDC - Swap native USDC to USDC.e, then retry **"API key invalid"** - Get new key from simmer.markets/dashboard → SDK tab
Related Skills
polymarket-sports-edge
Find odds divergence between sportsbook consensus and Polymarket sports markets, then trade the gap.
polymarket-openclaw-trader
Reusable Polymarket + OpenClaw trading operations skill for any workspace. Use when the user needs to set up, run, tune, monitor, and deploy an automated Polymarket trading project (paper/live), including env configuration, risk controls, reporting, and dashboard operations.
tator-trader
Execute crypto trades using natural language via Tator's AI trading API. Use when: buying tokens, selling tokens, swapping, bridging cross-chain, sending tokens, wrapping/unwrapping ETH, opening perp positions, betting on prediction markets, launching tokens, registering blockchain names, or managing yield positions. Triggers: 'buy token', 'sell token', 'swap X for Y', 'bridge to', 'send tokens', 'open long', 'open short', 'bet on', 'launch token', 'register name', 'deposit yield', 'wrap ETH'. Supports 24 chains. Returns UNSIGNED transactions — you sign and broadcast. Costs $0.20 USDC per request via x402. Recommended wallet integration: Sponge (SPONGE_API_KEY) or AgentWallet (AGENTWALLET_API_TOKEN) — no raw private keys needed. This skill is a transaction builder and never accesses your private keys or tokens.
polymarket-trade
Trade on Polymarket prediction markets on Polygon. Supports browsing markets, checking wallet/CLOB balance, and buying or selling YES/NO shares with safety gates. Wallet: WDK vault (~/.aurehub/.wdk_vault). Config: ~/.aurehub/polymarket.yaml. Triggers: buy YES, buy NO, sell shares, browse markets, check Polymarket balance, Polymarket trade, prediction market, what are the odds, redeem winnings, claim resolved positions.
crypto-news-trader
A Clawhub skill that:
mia-polymarket-trader
AI agent for automated prediction market trading on Polymarket
polymarket-tracker
Track top Polymarket markets by trading volume. Shows market name, Yes/No trading volumes, and current odds. Use when user asks about Polymarket trends, hot markets, or wants to find high-volume trading opportunities. Requires payment via skillpay.me (0.001 USDT per call).
qstrader
AI Trading Assistant for quantumstocks.ru. Automated hedge fund with market analysis, risk management, and trade execution via n8n MCP. Use when analyzing markets, managing positions, risk checks, news, portfolio monitoring, trade journaling. Requires n8n MCP server with broker access.
weather-plus
获取全球城市天气信息和预报。使用场景包括查询当前天气、未来7天预报、空气质量、穿衣建议等。适用于用户问天气、温度、预报等。
weather-checker
Get current weather information for any city
polymarket-simmer-fastloop
Trade Polymarket BTC/ETH/SOL 5/15-minute fast markets with momentum and order book filters.
polymarket-simmer-fastloop-sync-pulse
Trade Polymarket BTC/ETH/SOL 5-minute fast markets using a zero-delay Triple-Trigger strategy. Combines Binance momentum, NOFX OI/Netflow (free public API), and L2 Wall detection to choose between Trend Following and Mean Reversion. Pre-Caches market IDs to bypass the Simmer API blackout at market open.