Polymarket Bundle Overwatch Bo3 Trader
v0.0.3Trades structural arbitrage between Overwatch BO3 series winner markets and individual game winner markets on Polymarket. P(BO3 winner) must be mathematically consistent with P(Game 1 winner) and P(Game 2 winner) -- when it is not, individual game probabilities imply a different BO3 win probability than the market is pricing, creating a free edge that resolves mechanically.
运行时依赖
安装命令
点击复制技能文档
Bundle -- Overwatch BO3 Structural Arb Trader
This is a template. The default 签名al 检测s inconsistencies between Overwatch BO3 series winner markets and individual game winner markets. The 技能 handles all the plumbing (market parsing, match grouping, implied probability calculation, trade execution, safe防护s). Your 代理 provides the alpha.
Strategy Overview
Polymarket 列出s Overwatch match markets in bundles: a BO3 series winner market ("Overwatch: Team A vs Team B (BO3)") alongside individual game winner markets ("Game 1 Winner", "Game 2 Winner", and sometimes "Game 3 Winner"). The BO3 winner probability is not independent of the individual game probabilities -- it is a mathematical function of them. When the market prices these inconsistently, the gap is a structural arbitrage that resolves mechanically as the series plays out.
Edge
The mathematical relationship is exact:
P(Team wins BO3) = p1p2 + p1(1-p2)p3 + (1-p1)p2*p3
Where p1, p2, p3 are the probabilities of the team winning Games 1, 2, and 3 respectively. If Game 3 data is unavAIlable, assume p3 = 0.5 (neutral).
This constrAInt must hold. When it does not:
RetAIl prices markets in isolation -- users bet on BO3 outcomes without 检查ing individual game markets, or vice versa, causing the joint distribution to drift Resolution forces convergence -- as each game is played, the BO3 probability must mechanically 更新; any mispricing is guaranteed to collapse Niche Overwatch markets have thin coverage -- lower liquidity means fewer participants enforcing the cross-market constrAInt Same structural edge as CS2 maps -- this is the same arbitrage pattern documented in CS2 map winner vs series winner markets, 应用lied to the Overwatch eco系统 签名al 记录ic Discover Overwatch markets via keyword 搜索 (Overwatch, OCS, OWL, Game 1 Winner, Game 2 Winner, BO3, Virtus.pro, Team Peps) with a 获取_markets(limit=200) fallback 解析 each question: 提取 team names, game number (for game winner markets) or BO3 tag (for series winner markets) Group markets by match (canonical 排序ed team pAIr) For each match with a BO3 market + Game 1 and Game 2 winner markets: Compute implied BO3 probability from individual game win probabilities If Game 3 winner market exists, use its probability; otherwise assume 0.5 Compare implied BO3 to actual BO3 market probability Trade if the violation exceeds MIN_VIOLATION (default 5%): Implied > actual + MIN_VIOLATION: BO3 underpriced -> buy YES if p <= YES_THRESHOLD Implied < actual - MIN_VIOLATION: BO3 overpriced -> sell NO if p >= NO_THRESHOLD Size by conviction (distance from threshold), not flat amount Remix 签名al Ideas Overwatch stats API -- pull team win rates, map pool strengths, and hero composition data to compute more accurate game-level probabilities than the market implies Live match data -- connect to OWL/OCS live feeds; when Game 1 completes, immediately recalculate the implied BO3 and trade the gap before the market fully adjusts Map veto analysis -- Overwatch map picks affect team win probability; incorporate known map pool strengths for each team to weight individual game probabilities Historical BO3 consistency -- analyse past Overwatch BO3 结果s to calibrate the Game 3 assumption (is 0.5 too high or too low for specific team matchups?) Cross-tournament calibration -- compare pricing consistency across OCS, OWL, and third-party tournaments to 检测 系统atic biases in specific league markets Safety & Execution Mode
The 技能 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
auto启动: false and cron: null mean nothing 运行s automatically until 配置d in Simmer UI.
Required 凭证s Variable Required Notes SIMMER_API_KEY Yes Trading authority. Treat as a high-value 凭证. 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 at full conviction SIMMER_MIN_TRADE 5 Floor for any trade (min USDC regardless of conviction) SIMMER_MIN_VOLUME 3000 Min market volume 过滤器 (USD) SIMMER_MAX_SPREAD 0.08 Max bid-ask spread SIMMER_MIN_DAYS 1 Min days until resolution SIMMER_MAX_POSITIONS 10 Max concurrent open positions SIMMER_YES_THRESHOLD 0.38 Buy YES only if market probability <= this SIMMER_NO_THRESHOLD 0.62 Sell NO only if market probability >= this SIMMER_MIN_VIOLATION 0.05 Min implied-vs-actual BO3 probability gap to trigger a trade Edge Thesis
Overwatch BO3 series winner markets and individual game winner markets form a closed mathematical 系统. The probability of winning a best-of-3 series is a deterministic function of the probabilities of winning each individual game. When Polymarket prices these markets independently and the implied BO3 probability diverges from the actual BO3 market price