Install
openclaw skills install polymarket-nordic-traderTrades Polymarket prediction markets focused on Scandinavian and Nordic events — Swedish politics, Norwegian economy, Danish infrastructure, Nordic business milestones (Spotify, Northvolt, Klarna), local weather extremes, and regional sports outcomes. Use when you want to capture alpha on underserved Nordic markets where local knowledge is a structural edge.
openclaw skills install polymarket-nordic-traderThis is a template.
The default signal is keyword discovery + Swedish/Nordic news feed monitoring — remix it with Riksdagen API for legislative tracking, SCB (Statistics Sweden) data releases, Affärsvärlden market feeds, or Spotify investor relations signals.
The skill handles all the plumbing (market discovery, trade execution, safeguards). Your agent provides the alpha.
Nordic markets are one of the most underserved categories on global prediction platforms. Traders with genuine local knowledge — Swedish politics, Scandinavian business news, Nordic weather patterns — hold structural information advantages over global retail traders.
This skill trades:
Key edge: the vast majority of Polymarket liquidity is US/global retail. Nordic-specific markets will have mispriced odds whenever the resolver requires local knowledge.
local_edge_bias() — combines CET timezone timing with domain confidencemax(MIN_TRADE, conviction × bias × MAX_POSITION) — capped at MAX_POSITIONlocal_edge_bias() multiplies conviction using two factors simultaneously:
Factor 1 — CET Timezone Window
Nordic news breaks during CET business hours (approx 06:00–18:00 UTC). Polymarket is US-dominated — repricing on Nordic news takes 2–6 hours. Trading inside the window means information is still fresh.
| Time (UTC) | Multiplier | Why |
|---|---|---|
| 06:00–18:00 | 1.2x | CET business hours — Nordic news is fresh, US retail hasn't caught up |
| 18:00–06:00 | 0.9x | Outside window — advantage likely already priced in |
Factor 2 — Domain Confidence
| Domain | Multiplier | Why |
|---|---|---|
| Riksdag / politics / elections | 1.20x | Public structured data, predictable process |
| Nordic tech (Spotify, Klarna, Northvolt) | 1.15x | Swedish business press is early and detailed |
| SMHI / local weather | 1.10x | Swedish forecasts published before English-language coverage |
| Sports / culture (Zlatan, Melodifestivalen) | 0.85x | High randomness, hard to model |
Combined multiplier is capped at 1.40x to avoid over-sizing on illiquid markets.
Example: Riksdag vote question at 25% during CET hours → conviction 34% × (1.2 × 1.2 = 1.40x capped) = 48% → $10 position. Same question at 01:00 UTC → 34% × (0.9 × 1.2 = 1.08x) = 37% → $7.
KEYWORDS = [
'Sweden', 'Sverige', 'Stockholm', 'Malmö', 'Göteborg',
'Norway', 'Norge', 'Oslo', 'Denmark', 'Danmark', 'Copenhagen',
'Finland', 'Helsinki', 'Nordic', 'Scandinavian',
'Spotify', 'Northvolt', 'Klarna', 'Ericsson', 'Volvo', 'IKEA',
'Riksdag', 'Melodifestivalen', 'Zlatan', 'Allsvenskan',
'SMHI', 'Öresund',
]
| Parameter | Default | Notes |
|---|---|---|
| Max position size | $20 USDC | Nordic markets may be illiquid |
| Min market volume | $1,000 | Accept lower liquidity for edge opportunity |
| Max bid-ask spread | 20% | Niche markets have wider spreads |
| Min days to resolution | 3 | Local events can resolve quickly |
| Max open positions | 8 | Diversify across Nordic themes |
Swedish/Nordic news typically breaks in CET timezone (UTC+1/+2). US-dominated Polymarket markets take 2–6 hours to reprice on Nordic news.
clawhub install polymarket-nordic-trader
Requires: SIMMER_API_KEY environment variable.
Runs every 15 minutes (*/15 * * * *). Nordic events follow business hours (CET); tighter polling during 06:00–22:00 CET recommended in remixes.
The skill defaults to paper trading (venue="sim"). Real trades only execute when --live is passed explicitly.
| Scenario | Mode | Financial risk |
|---|---|---|
python trader.py | Paper (sim) | None |
| Cron / automaton | Paper (sim) | None |
python trader.py --live | Live (polymarket) | Real USDC |
The automaton cron is set to null — it does not run on a schedule until you configure it in the Simmer UI. autostart: false means it won't start automatically on install.
| Variable | Required | Notes |
|---|---|---|
SIMMER_API_KEY | Yes | Trading authority — keep this credential private. Do not place a live-capable key in any environment where automated code could call --live. |
All risk parameters are declared in clawhub.json as tunables and adjustable from the Simmer UI without code changes. They use SIMMER_-prefixed env vars so apply_skill_config() can load them securely.
| Variable | Default | Purpose |
|---|---|---|
SIMMER_MAX_POSITION | 20 | Max USDC per trade (reached at 100% conviction) |
SIMMER_MIN_VOLUME | 1000 | Min market volume filter (USD) |
SIMMER_MAX_SPREAD | 0.20 | Max bid-ask spread (0.20 = 20%, wider for niche markets) |
SIMMER_MIN_DAYS | 3 | Min days until market resolves |
SIMMER_MAX_POSITIONS | 8 | 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 is published on PyPI by Simmer Markets.
Review the source before providing live credentials if you require full auditability.