Install
openclaw skills install @diagnostikon/polymarket-micro-weather-sniper-traderTrades Polymarket weather temperature markets using NOAA and Open-Meteo forecasts as an information edge. Buys YES on bins matching the forecast at discount prices, sells NO on bins the forecast disagrees with. Micro-sized positions ($2-$5).
openclaw skills install @diagnostikon/polymarket-micro-weather-sniper-traderThis is a template. The default signal uses NOAA (US) and Open-Meteo (global) weather forecasts to find mispriced temperature bins on Polymarket -- remix it with additional weather sources, ensemble model averaging, or multi-day position building. The skill handles all the plumbing (market discovery, forecast fetching, bin matching, trade execution, safeguards). Your agent provides the alpha.
Polymarket lists "highest temperature" bin markets for cities worldwide (e.g. "Will the highest temperature in Warsaw be 10°C on April 10?"). These bins are priced by market participants who often lack access to professional weather forecast data.
This skill fetches actual weather forecasts from NOAA (US cities, ~85% accuracy for 1-2 day predictions) and Open-Meteo (global cities, free API, similar accuracy). It then compares the forecast temperature against each market bin:
Example: Open-Meteo forecasts Warsaw high = 10°C on April 10. The bin "Warsaw 10°C" is priced at p=20%. Edge = 0.85 - 0.20 = 0.65. Conviction = 0.65 / 0.85 = 0.76. Size = max($2, 0.76 * $5) = $3.82. The skill buys YES at $3.82.
Weather forecasts from NOAA and Open-Meteo are publicly available but not widely used by Polymarket participants. NOAA 1-2 day high temperature forecasts have documented accuracy of approximately 85%. This creates a structural information edge:
get_fast_markets() and get_markets(limit=200) bulk scanp <= YES_THRESHOLD (0.40): buy YES -- conviction = (0.85 - p) / 0.85, size = max($2, conviction * $5)p >= NO_THRESHOLD (0.80): sell NO -- conviction = (p - 0.15) / 0.85, size = max($2, conviction * $5)MAX_SPREAD (15%)MAX_POSITIONS (10) micro trades per runsignal_data with forecast temperature, city, and edge for backtest supportEXIT_THRESHOLD (take profit) or forecast changesThe skill defaults to paper trading (venue="sim"). Real trades only with --live flag.
| Scenario | Mode | Financial risk |
|---|---|---|
python trader.py | Paper (sim) | None |
| Cron / automaton | Paper (sim) | None |
python trader.py --live | Live (polymarket) | Real USDC |
autostart: false and cron: null mean nothing runs automatically until configured in Simmer UI.
| Variable | Required | Notes |
|---|---|---|
SIMMER_API_KEY | Yes | Trading authority. Treat as a high-value credential. |
All declared as tunables in clawhub.json and adjustable from the Simmer UI.
| Variable | Default | Purpose |
|---|---|---|
SIMMER_MAX_POSITION | 5 | Max USDC per micro trade (ceiling at 100% conviction) |
SIMMER_MIN_TRADE | 2 | Floor for any trade (min USDC regardless of conviction) |
SIMMER_MAX_SPREAD | 0.15 | Max bid-ask spread (15%) |
SIMMER_MIN_DAYS | 0 | Min days until resolution (0 = allow same-day weather) |
SIMMER_MAX_POSITIONS | 10 | Max concurrent micro positions |
SIMMER_YES_THRESHOLD | 0.40 | Buy YES when forecast matches bin and p <= this |
SIMMER_NO_THRESHOLD | 0.80 | Sell NO when forecast disagrees with bin and p >= this |
simmer-sdk is published on PyPI by Simmer Markets.