polymarket-bundle-cs2-maps-trader

Trades CS2 BO3 Winner markets when individual map winner probabilities imply a different BO3 outcome on Polymarket. Uses the binomial BO3 model to calculate implied win probability from Map 1, Map 2, and Map 3 prices, then trades the BO3 market when it diverges beyond a minimum violation threshold. Conviction-based sizing scales with the magnitude of the map-vs-BO3 disagreement.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "polymarket-bundle-cs2-maps-trader" with this command: npx skills add Diagnostikon/polymarket-bundle-cs2-maps-trader

Bundle -- CS2 Maps BO3 Arbitrage Trader

This is a template. The default signal detects inconsistencies between individual CS2 map winner probabilities and the BO3 match winner market -- remix it with team Elo ratings, map pool veto data, or live scoreboard feeds. The skill handles all the plumbing (market discovery, bundle construction, trade execution, safeguards). Your agent provides the alpha.

Strategy Overview

CS2 matches on Polymarket list separate markets for each map winner and the overall BO3 winner:

  • "Counter-Strike: NAVI vs FaZe - Map 1 Winner" = 55% (NAVI)
  • "Counter-Strike: NAVI vs FaZe - Map 2 Winner" = 60% (NAVI)
  • "Counter-Strike: NAVI vs FaZe - Map 3 Winner" = 50% (NAVI)
  • "Counter-Strike: NAVI vs FaZe (BO3) - IEM Katowice" = 58% (NAVI)

The individual map probabilities constrain the BO3 probability via the binomial model. When they don't match, the BO3 market is mispriced.

Edge

P(BO3 win) must equal P(win M1)*P(win M2) + P(win M1)*P(lose M2)*P(win M3) + P(lose M1)*P(win M2)*P(win M3). Retail traders price the BO3 market independently from individual maps, creating structural mispricings that this skill exploits.

Signal Logic

  1. Discover CS2 markets via get_markets(limit=200) as primary + keyword search fallback
  2. Parse each question: extract (match_key, map_number, team_a, team_b) for map winners
  3. Parse BO3 winner markets: extract (match_key, team_a, team_b)
  4. Group into match bundles: one BO3 market + its individual map markets
  5. For each bundle with at least Map 1 + Map 2 + BO3 winner:
    • Calculate implied BO3 probability from map probabilities (binomial model)
    • If Map 3 market exists, use its probability; otherwise assume 0.5
    • Compare implied vs actual BO3 market probability
    • If difference > MIN_VIOLATION: trade the BO3 market toward map-implied probability
  6. Size by conviction (CLAUDE.md formula), not flat amount

Remix Signal Ideas

  • HLTV Elo ratings: Pull team ratings and recent head-to-head records -- teams with map pool advantages create asymmetric Map 3 probabilities that the default 0.5 assumption misses
  • Map veto prediction: Use historical veto patterns to predict which maps will be played -- if a team always bans Inferno, the Map 3 probability on Inferno should be different from Mirage
  • Live scoreboard data (PandaScore API): Stream real-time round scores during Map 1 -- if one team is dominating, Map 2 and BO3 probabilities should shift before the market adjusts
  • Map-specific win rates: Fetch team win rates on specific maps from HLTV -- if FaZe has 70% win rate on Nuke but the market prices Map 2 at 55%, that is an additional edge layer

Safety & Execution Mode

The skill defaults to paper trading (venue="sim"). Real trades only with --live flag.

ScenarioModeFinancial risk
python trader.pyPaper (sim)None
Cron / automatonPaper (sim)None
python trader.py --liveLive (polymarket)Real USDC

autostart: false and cron: null mean nothing runs automatically until configured in Simmer UI.

Required Credentials

VariableRequiredNotes
SIMMER_API_KEYYesTrading authority. Treat as a high-value credential.

Tunables (Risk Parameters)

All declared as tunables in clawhub.json and adjustable from the Simmer UI.

VariableDefaultPurpose
SIMMER_MAX_POSITION40Max USDC per trade at full conviction
SIMMER_MIN_TRADE5Floor for any trade
SIMMER_MIN_VOLUME5000Min market volume filter (USD)
SIMMER_MAX_SPREAD0.08Max bid-ask spread
SIMMER_MIN_DAYS0Min days until resolution (0 = allow same-day)
SIMMER_MAX_POSITIONS8Max concurrent open positions
SIMMER_YES_THRESHOLD0.38Buy YES only if market probability <= this
SIMMER_NO_THRESHOLD0.62Sell NO only if market probability >= this
SIMMER_MIN_VIOLATION0.05Min implied-vs-actual BO3 probability difference to trade

Edge Thesis

Traditional sportsbooks employ quantitative models that enforce consistency between individual game prices and series prices. Polymarket has no such mechanism -- each market is priced by its own order book. CS2 BO3 markets are particularly vulnerable because:

  • Individual map markets attract map-specific bettors who don't consider the BO3 implication
  • BO3 markets attract series-level bettors who don't decompose into individual maps
  • Map 3 probability is often unknown or assumed at 50%, creating systematic errors
  • Live match flow on Map 1 shifts map probabilities before the BO3 market adjusts
  • Tournament format changes (upper/lower bracket) affect team motivation asymmetrically across maps
  • The binomial constraint is mathematical -- map probabilities must sum correctly to produce the BO3 probability

This skill treats the map winner probabilities as inputs to a binomial model and trades the BO3 market when it diverges from the model's output.

Dependency

simmer-sdk by Simmer Markets (SpartanLabsXyz)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

通义晓蜜 - 智能外呼

触发阿里云晓蜜外呼机器人任务,自动批量拨打电话。适用于批量外呼、客户回访、满意度调查、简历筛查约面试等场景。可从前置工具或节点获取外呼名单。

Registry SourceRecently Updated
General

Letterboxd Watchlist

Scrape a public Letterboxd user's watchlist into a CSV/JSONL list of titles and film URLs without logging in. Use when a user asks to export, scrape, or mirror a Letterboxd watchlist, or to build watch-next queues.

Registry SourceRecently Updated
General

Seedance Video Generation

Generate AI videos using ByteDance Seedance. Use when the user wants to: (1) generate videos from text prompts, (2) generate videos from images (first frame, first+last frame, reference images), or (3) query/manage video generation tasks. Supports Seedance 1.5 Pro (with audio), 1.0 Pro, 1.0 Pro Fast, and 1.0 Lite models.

Registry SourceRecently Updated
4.2K17jackycser
General

Universal Skills Manager

The master coordinator for AI skills. Discovers skills from multiple sources (SkillsMP.com, SkillHub, and ClawHub), manages installation, and synchronization...

Registry SourceRecently Updated