Geopolitics Weekly Pattern Trader
This is a template.
The default signal is keyword-based geopolitical market discovery combined with conviction-based sizing and weekly_pattern_multiplier() — four weekly cycle factors, no external API required.
The skill handles all the plumbing (market discovery, trade execution, safeguards). Your agent provides the alpha.
Strategy Overview
Geopolitical news flow follows predictable weekly cycles. Military operations and official statements spike Monday through Thursday during government working hours. Diplomatic announcements — UN sessions, G7/G20 summits, bilateral talks — cluster around Tuesday through Thursday. Weekends see reduced news flow from both Western and non-Western governments, leaving Polymarket prices stale and ripe for Monday repricing.
Polymarket's US-dominated retail base amplifies this pattern: US traders are least active Saturday-Sunday, meaning Friday evening and weekend news breaks sit unpriced for 24-48 hours. Monday mornings bring a wave of repricing as Asian and European news from the weekend flows into the US market open.
This skill exploits four distinct weekly windows:
-
Weekend Staleness — Reduced US retail attention on Saturday/Sunday means news isn't fully absorbed. Moderate-probability geopolitical markets (20-40% or 60-80%) are most likely to reprice Monday.
-
Monday Repricing — The sharpest window. Weekend events get priced in during Monday 00:00-14:00 UTC as Asian, European, and US sessions open sequentially. Early Monday conviction boost: 1.25x.
-
Friday Afternoon Unwinding — Traders reduce risk before the weekend, creating temporary price dislocations as positions are closed. Friday 18:00+ UTC conviction boost: 1.10x.
-
Midweek Diplomatic Calendar — UN sessions, G7/G20 meetings, and diplomatic summits cluster Tuesday through Thursday. Markets tagged with diplomatic keywords are more actionable midweek. Tue-Thu diplomatic boost: 1.10x.
Edge Thesis
The weekly cycle effect in prediction markets is well-documented:
-
Weekend staleness: US retail dominance on Polymarket means weekday-heavy activity. Friday evening through Sunday sees reduced volume and slower price discovery. News that breaks outside US hours (Asian military operations, European diplomatic announcements) sits unpriced until Monday.
-
Institutional absence: Unlike equity markets with 24/5 institutional desks, Polymarket has no market makers obligated to maintain fair pricing over weekends. This creates systematic staleness that the Monday session corrects.
-
Geopolitical news cadence: Government press conferences, UN votes, and military briefings follow working-day schedules. The news cycle itself is cyclical, and markets that depend on government actions are most affected.
-
Position unwinding: Friday afternoon risk reduction is a cross-asset phenomenon. On Polymarket, it manifests as price drift away from fair value as traders close positions ahead of weekend uncertainty.
Signal Logic
Default Signal: Conviction-Based Sizing with Weekly Pattern Multiplier
- Discover active geopolitical markets via keyword search
- Gate: must match geopolitics regex filter (war, ceasefire, military, sanctions, NATO, etc.)
- Gate: spread, days-to-resolution checks
- Compute base conviction from distance to YES_THRESHOLD / NO_THRESHOLD bands
- Apply
weekly_pattern_multiplier() based on current day/hour UTC and market type
- Final conviction =
min(1.0, base_conviction * weekly_multiplier)
- Size =
max(MIN_TRADE, round(conviction * MAX_POSITION, 2))
Weekly Pattern Multiplier (built-in, no API required)
| Day / Time (UTC) | Multiplier | Why |
|---|
| Saturday-Sunday (all day) | 1.15x | Weekend staleness: US retail absent, news unpriced |
| Monday 00:00-14:00 UTC | 1.25x | Monday repricing: weekend events flow into market open |
| Monday 14:00+ UTC | 1.05x | Repricing fading, most adjustment done |
| Friday 18:00+ UTC | 1.10x | Position unwinding: pre-weekend risk reduction creates dislocations |
| Friday before 18:00 UTC | 1.00x | Normal trading session |
| Tue-Thu (diplomatic markets) | 1.10x | Diplomatic calendar: UN, G7/G20, summits cluster midweek |
| Tue-Thu (non-diplomatic) | 1.00x | Baseline — no weekly pattern edge |
How Sizing Works at Different Probability Levels
With defaults (YES_THRESHOLD=0.38, MIN_TRADE=$5, MAX_POSITION=$40, Monday AM multiplier=1.25x):
| Market price p | Base conviction | Weekly conviction | Size |
|---|
| 38% (at threshold) | 0% | 0% | $5 (floor) |
| 30% | 21% | 26% | $11 |
| 20% | 47% | 59% | $24 |
| 10% | 74% | 92% | $37 |
| 0% | 100% | 100% capped | $40 |
Weekend multiplier (1.15x) at same levels:
| Market price p | Base conviction | Weekly conviction | Size |
|---|
| 30% | 21% | 24% | $10 |
| 20% | 47% | 54% | $22 |
| 10% | 74% | 85% | $34 |
Keywords Monitored
war, ceasefire, military, strike, Iran, Israel, Gaza, Lebanon,
sanctions, nuclear, troops, conflict, diplomacy, NATO, Ukraine,
Russia, China, Taiwan, meeting, summit, peace
Geopolitics Filter
Regex-based filter ensures only genuine geopolitical markets are traded. Prevents false positives from non-geopolitical uses of keywords (e.g., "labour strike", "lightning strike", "nuclear energy stock").
Remix Signal Ideas
- News API velocity by day-of-week: Wire GDELT or MediaCloud event counts by day into
weekly_pattern_multiplier() — when actual Monday news volume exceeds the weekly baseline by >2 standard deviations, the repricing window is even sharper; dynamically scale the Monday multiplier up to 1.40x
- Diplomatic calendar feeds: Pull UN General Assembly schedule, G7/G20 summit dates, and bilateral meeting announcements from official APIs — boost midweek diplomatic multiplier to 1.20x on days with confirmed high-level meetings; reduce to 1.00x on empty calendar days
- Weekend volume anomaly detection: Track Polymarket volume by hour-of-week for geopolitical markets — when weekend volume drops below the 20th percentile of its historical range, the staleness premium is highest; dynamically scale the weekend multiplier
- Cross-timezone news flow: Wire Reuters/AP breaking news timestamps — when a story breaks during Asian hours (00:00-08:00 UTC) about a European/ME conflict, the repricing lag is longest; boost to 1.30x for these cross-timezone mismatches
Safety & Execution Mode
The 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.
Required Credentials
| Variable | Required | Notes |
|---|
SIMMER_API_KEY | Yes | Trading authority. Treat as high-value credential. |
Tunables (Risk Parameters)
All declared as tunables in clawhub.json and adjustable from the Simmer UI.
| Variable | Default | Purpose |
|---|
SIMMER_MAX_POSITION | 40 | Max USDC per trade (reached at 100% conviction) |
SIMMER_MIN_VOLUME | 15000 | Min market volume filter (USD) |
SIMMER_MAX_SPREAD | 0.08 | Max bid-ask spread (8%) |
SIMMER_MIN_DAYS | 3 | Min days until resolution |
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) |
Dependency
simmer-sdk by Simmer Markets (SpartanLabsXyz)