360 Secure SkillHub
360 安全技能中心

Polymarket World Cup Player Goal Value

通过 Understat 与 ESPN 球员数据构建球员进球概率模型,扫描 Polymarket 球员进球 YES 市场,在公允价值与卖价之差超过阈值时按折扣价挂阶梯限价买单,并带冷却、预算、价差与滑点风控;默认模拟盘运行,未知球员直接跳过。

bridgeaisocial
bridgeaisocial
热度 49.77
最近更新 2026-06-29 16:06:19
分类:自动化依赖:代码执行 / 第三方 API / 读写文件应用场景:财务 / 市场分析 / 自动化脚本 / 工作流 ...

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add bridgeaisocial/polymarket-world-cup-player-goal-value
Metadata
name
polymarket-world-cup-player-goal-value
description
Trade Polymarket player-goal YES markets (World Cup + league + match props) using role/minutes/penalty/value scoring and patient limit orders.
metadata
{"author":"Alyna + Hermes","version":"0.1.8","displayName":"Polymarket World Cup Player Goal Value","difficulty":"intermediate"}

Polymarket Player Goal Value

This skill implements a value framework for player-goal YES markets (World Cup + league + match-level props) using real player-level scoring data.

It models fair value using:

  • real historical goals/90
  • expected minutes per appearance (from real minutes/games)
  • role from position (F/M/D/G)
  • small penalty-goal uplift (from goals vs non-penalty goals)

Then it places patient limit buy ladders only when fair value edge exceeds a threshold.

Reference inspiration: https://x.com/Predicti0r/status/2061791808158400570

What it does

  • Scans active player-goal markets from Simmer imports plus Polymarket sports-page premade combo legs
  • Loads single-source player data from data/wc_players_filtered.csv generated by scripts/fetch_wc_stats.py
  • Merges data/custom_players.json into the refresh pipeline for non-Understat players such as MLS/Eredivisie players
  • Converts player stats into fair P(score >= 1) with a Poisson model
  • Skips unknown players (no fallback guessing)
  • Uses ask price for edge checks (fair - ask_yes >= min_edge)
  • Applies spread/slippage quality gates + optional context safeguards
  • Places laddered limit orders (GTC) at discounted prices from fair
  • Enforces cooldown + daily budget controls
  • Supports --venue (sim, polymarket, kalshi) for testing and deployment

Defaults

  • Dry-run by default (no real orders)
  • min_edge: 0.06
  • max_position_usd: 12
  • daily_budget_usd: 40
  • max_trades_per_run: 3
  • limit ladder: 8c / 5c / 3c below fair with 25% / 35% / 40% allocation

Run

cd skills/polymarket-world-cup-player-goal-value

# refresh player stats from the free Understat connector
python scripts/fetch_understat_players.py --seasons 2026,2025,2024 --min-minutes 300

# refresh World Cup stats and rebuild filtered player data (incremental cache)
python scripts/fetch_wc_stats.py

python player_goal_value.py --config
python player_goal_value.py --venue sim                  # dry run in $SIM venue
python player_goal_value.py --venue sim --positions      # inspect open sim positions
python player_goal_value.py --venue polymarket --live    # live orders on Polymarket

Tune

python player_goal_value.py --set min_edge=0.08
python player_goal_value.py --set max_position_usd=20
python player_goal_value.py --set daily_budget_usd=75
python player_goal_value.py --set limit_offsets_cents=10,6,4
python player_goal_value.py --set limit_splits=0.2,0.3,0.5

Notes

  • Uses free Understat player data (top 5 leagues) for goals, non-penalty goals, minutes, and role.
  • Non-Understat players are supported through data/custom_players.json; scripts/fetch_wc_stats.py merges those base stats with ESPN World Cup goals/appearances before writing data/wc_players_filtered.csv.
  • Latest season in --seasons is included only if upstream sources already expose player rows (e.g. 2026 may be empty pre-kickoff).
  • Unknown player markets are skipped instead of falling back to synthetic priors.
  • Designed for low-liquidity conditions where market chasing is penalized.
  • Start in dry-run/sim and tune expected_tournament_matches, expected_single_market_matches, expected_season_market_matches, min_edge, and minute filters after collecting outcomes.

Bugfixes applied in v0.1.8

  • Added Polymarket Gamma /events/slug/{event}/premade-combos discovery so sports-page player-goal legs like fifwc-bra-jpn-2026-06-29 are found even when Simmer indexed search returns zero.
  • Added SIMMER_WCPGV_COMBO_EVENT_SLUGS to focus runs on specific World Cup event slugs and auto-wire active ESPN game windows to Polymarket event slugs in adaptive_game_runner.py.
  • Added regression coverage for Brazil/Japan premade combo player-goal import and event-slug focused discovery.

Bugfixes applied in v0.1.7

  • Added game-window adaptive runner support so frequent cron ticks stay silent off-window and run only around relevant World Cup fixtures.
  • Added player-data freshness gating and scan-limit controls so live/prep window runs do not repeatedly refresh slow stats or exceed scheduler timeouts.
  • Added local client factory wiring for safer venue/live client construction in local dogfood runs.
  • Refreshed bundled World Cup player data from the merged Understat + custom player + ESPN World Cup pipeline.

Bugfixes applied in v0.1.6

  • Added fallback discovery search via /api/sdk/markets?q=... and merged + deduped results with snapshot feed to recover missing player-goal candidates.
  • Added sim-only proxy quote option (allow_proxy_price_in_sim_only) so missing asks in $SIM no longer block all execution tests.
  • Fixed venue-specific trade payload: only send price + GTC on polymarket; sim/kalshi now submit supported market orders.
  • --positions now queries live account context so it reflects executed sim orders without requiring a separate --live flag.
  • Existing v0.1.1 fixes retained: venue plumbing, dry-run state isolation, ask-based edge checks, SDK-managed price normalization.

Deterministic spec (Skill Builder style)

Signal

  • Player fair-value estimate from weighted priors:
    • penalties, expected matches, minutes certainty, role centrality, mismatch upside

Entry logic

  • Require fair_yes - ask_yes >= min_edge
  • Build discounted limit ladder below fair value
  • Enter only when spread/slippage/cooldown/budget gates pass

Exit logic

  • v0.1 focuses on disciplined entry only
  • Exit handling can be layered as explicit sell rules in future version

Market selection

  • Active Polymarket-imported World Cup “player to score at least one goal” markets

Position sizing

  • Fixed per-market cap max_position_usd
  • Ladder split from limit_splits

Risk controls

  • max_spread, max_slippage_pct
  • cooldown_hours
  • max_trades_per_run
  • daily_budget_usd
  • optional context safeguards (disable with --no-safeguards)