Install
openclaw skills install polymarket-geopolitics-traderTrades Polymarket prediction markets on geopolitical events — wars, ceasefires, sanctions, diplomatic breakthroughs, and regime changes. Use when you want to capture alpha on international relations markets using fear-premium correction and regional news timezone windows.
openclaw skills install polymarket-geopolitics-traderThis is a template. The default signal is keyword-based market discovery combined with conviction-based sizing and
geopolitics_bias()— remix it with the data sources listed below. The skill handles all the plumbing (market discovery, trade execution, safeguards). Your agent provides the alpha.
Geopolitical markets are systematically mispriced by retail traders in two ways: they overweight dramatic, scary outcomes relative to documented conflict research base rates, and they reprice slowly when breaking news hits during Asian or European business hours while US retail is asleep. This skill corrects both without any external API.
geopolitics_bias() — combines fear-premium correction with regional news timingmax(MIN_TRADE, conviction × bias × MAX_POSITION) — capped at MAX_POSITIONTwo compounding structural edges:
Factor 1 — Fear/Narrative Premium Correction
Retail systematically overprices dramatic, scary outcomes and underprices boring-but-likely ones. Conflict research databases (ACLED, ICG) document base rates that deviate sharply from media-driven market pricing:
| Event type | Why retail misprices it | Multiplier |
|---|---|---|
| Nuclear / WMD use | Post-WWII base rate is near-zero; media panic inflates | 0.65x |
| Coup / regime change | Retail overprices drama; ~50% actual success rate | 0.75x |
| Full invasion / occupation | Retail anchors to worst-case escalation | 0.80x |
| Ceasefire / peace deal / truce | Only ~40% of ceasefires hold within 6 months | 0.80x |
| Sanctions / embargo | ~30–40% achieve stated objectives; overestimated | 0.85x |
| UN vote / Security Council | P5 veto patterns are well-documented; procedural | 1.10x |
| Diplomatic breakthrough | Boring — retail consistently underprices it | 1.15x |
Factor 2 — Regional News Timing Window
Polymarket is US-dominated. Markets take 15–45 min to reprice events that break during Asian or European business hours when US retail is asleep:
| Region | Active window (UTC) | Multiplier | Rationale |
|---|---|---|---|
| Asia/Pacific (China, Taiwan, NK, Japan) | 00:00–08:00 | 1.20x | US asleep, repricing lag open |
| Asia/Pacific | 13:00–22:00 | 0.95x | US prime time — priced quickly |
| Europe/Middle East (Ukraine, Russia, Iran, Israel, NATO) | 06:00–14:00 | 1.15x | US just waking, partial lag |
| Europe/Middle East | 18:00–04:00 | 0.95x | Off-hours, less news flow |
Combined and capped at 1.35x. A diplomatic breakthrough (1.15x) during Asia active hours (1.20x) → 1.35x cap. A nuclear market at any time → 0.65x floor.
war, ceasefire, sanctions, NATO, Ukraine, Russia, China, Taiwan, Iran,
nuclear, UN, diplomacy, invasion, treaty, military, missile, coup,
election interference, espionage, regime change, Security Council,
veto, peace deal, summit, Gaza, Israel, North Korea, DPRK,
South China Sea
p to trade divergence between conflict data and market pricingThe 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 — nothing runs automatically until you configure it in Simmer UI.
| Variable | Required | Notes |
|---|---|---|
SIMMER_API_KEY | Yes | Trading authority. Treat as high-value credential. |
All declared as tunables in clawhub.json and adjustable from the Simmer UI.
| Variable | Default | Purpose |
|---|---|---|
SIMMER_MAX_POSITION | 30 | Max USDC per trade (reached at 100% conviction) |
SIMMER_MIN_VOLUME | 20000 | Min market volume filter (USD) — geopolitical markets need liquidity |
SIMMER_MAX_SPREAD | 0.08 | Max bid-ask spread (8%) |
SIMMER_MIN_DAYS | 5 | Min days until resolution |
SIMMER_MAX_POSITIONS | 6 | Max concurrent open positions |
SIMMER_YES_THRESHOLD | 0.38 | Buy YES if market price ≤ this value |
SIMMER_NO_THRESHOLD | 0.62 | Sell NO if market price ≥ this value |
SIMMER_MIN_TRADE | 5 | Floor for any trade (min USDC regardless of conviction) |
simmer-sdk by Simmer Markets (SpartanLabsXyz)