Predict English Premier League football match outcomes first, keep World Cup national-team support for compatibility, include schedule/result context, answer in the user's language, and keep output as statistical reference only, never betting advice.
Coding
yyWorldCup
Try itUse when predicting World Cup match results and generating China Sports Lottery betting strategies (胜平负/让球/半全场/总进球/比分), including injury factor analysis, wea...
What it does
Use when predicting World Cup match results and generating China Sports Lottery betting strategies (胜平负/让球/半全场/总进球/比分), including injury factor analysis, weather impact assessment, market price calibration with Polymarket, and **3 differentiated strategies** with hidden odds estimation. **All times must be 北京时间** - Polymarket endDate is UTC, requires +8h conversion.
The skill document
增强版世界杯预测器 v3.6.0
Overview
基于双模式评分模型和Elo评级系统的增强型世界杯赛事预测工具,v3.6.0 重大升级:
- 真实FIFA Elo (Wikipedia官方)
- Polymarket市场赔率 (P2P预测市场)
- 中国体彩盘口估算 (基于Polymarket + 8%庄家利润)
- 🆕 时区正确处理: 严格区分北京时间 vs UTC
- 🆕 动态赛程: 不再 hard-code,从 Polymarket 实时拉取
- 🆕 差异化策略: 3 种玩法不同 (单关/让球/半全场+心理战)
- 🆕 隐藏赔率推算: 让球/半全场等中国体彩盘口
- 🆕 AI 深度见解: C罗心理战 + 历史交锋 + 实力悬殊判断
v3.6.0 关键能力
1. 时区严格处理 (用户反馈后修复)
from predictor.utils.timezone import bjt_day_range, is_in_bjt_day, utc_to_bjt_str
# 北京时间 6/18 当天 = UTC 6/17 16:00 ~ UTC 6/18 16:00
utc_start, utc_end = bjt_day_range('2026-06-18')
2. 动态赛程拉取
from predictor.data.polymarket_client import PolymarketClient
poly = PolymarketClient()
matches = poly.get_matches_by_bjt('2026-06-18') # 北京时间6/18的所有比赛
# Returns: 葡萄牙/英格兰/加纳/乌兹别克 vs 刚果/克罗地亚/巴拿马/哥伦比亚
3. 差异化3种策略
- 策略1 (稳): 单关 - 押最高胜率 (葡萄牙胜 1.45)
- 策略2 (中): 2串1 - 让球混合 (实力悬殊场让1球胜 + 实力接近场让1球平)
- 策略3 (高): 半场+让球 - 含 C 罗心理战
4. 让球玩法逻辑 (用户纠正后修复)
- 让1球胜 = 强队赢2球以上 → 用于实力悬殊场 (Elo 差 > 150)
- 让1球平 = 强队赢1球 → 用于实力接近场 (Elo 差 < 100)
- ❌ 错误: 实力悬殊场推"让1球平", 实力接近场推"让1球胜"
5. 隐藏赔率推算公式
体彩胜平负赔率 = 1 / (Polymarket概率 × 0.92) # 8% 庄家利润
让1球胜赔率 ≈ 1 / (主胜概率 × 0.95)
让1球平赔率 ≈ 1 / (主胜概率 × 0.90)
半场胜赔率 ≈ 1 / (主胜概率 × 0.88)
v3.0 核心能力(保留)
When to Use
- 需要预测世界杯单场或多场比赛结果时
- 需要生成中国体育彩票足球竞猜购票策略时
- 需要对比模型预测与Polymarket市场赔率找套利机会时
- 需要结合多数据源(FIFA+Polymarket+体彩)综合分析时
When NOT to use
- 非世界杯赛事预测(可适配但针对性优化不足)
- 用于非法赌博用途(仅支持合法中国体育彩票分析)
- 构成任何投注建议(所有结果仅供参考,投注风险自担)
v3.0 核心能力
🔴 6/16 实测结果(基准)
- 赛前预测准确率: 0/4 (0%) — 4场全预测胜负,实际全平局
- 6/16后修复: 引入"小组赛首轮谨慎因子",平局概率从18%提升到25-40%
- 6/17 EV发现: 利用体彩真实盘口找到多个正EV玩法(最高+43.4%)
🎯 三大数据源对比
| 数据源 | 优势 | 限制 |
|---|---|---|
| 真实FIFA Elo | 客观、可复现、覆盖全部球队 | 不反映伤停/天气等即时因素 |
| Polymarket市场 | $24.5亿真金白银投票,反映集体智慧 | 部分比赛可能未上架 |
| 中国体彩盘口 | 中国市场真实赔率、含庄家利润 | 仅比赛前1-2天公布 |
📊 v3.0 修复历程
| 版本 | 修复点 | 验证 |
|---|---|---|
| v1.0 | 基础Elo模型(用编造数据) | 失败 |
| v2.0 | 修复upset_mode bug,补全因子 | 2024欧洲杯3/3 |
| v2.1 | 引入首轮谨慎因子 | 15场66.7%准确率 |
| v3.0 | 整合Polymarket + 体彩 | 25个测试通过 |
目录结构
world-cup-predictor-enhanced/
├── SKILL.md # 本文件
├── predictor/
│ ├── __init__.py
│ ├── core.py # 双模式预测引擎(v2.1)
│ ├── factors.py # 10类预测因子
│ ├── calibration.py # 🆕 市场赔率校准器(v3.0)
│ ├── enhanced_demo.py # 🆕 综合演示脚本(v3.0)
│ ├── data/ # 数据接入层
│ │ ├── models.py
│ │ ├── api_client.py # balldontlie FIFA API
│ │ ├── polymarket_client.py # 🆕 Polymarket API(v3.0)
│ │ └── cache.py
│ ├── strategy/ # 策略引擎
│ │ ├── lottery.py
│ │ ├── conservative.py
│ │ └── aggressive.py
│ └── validator/ # 验证模块
│ └── backtest.py
├── tests/ # 🆕 25个测试全部通过
│ ├── test_factors.py
│ └── test_polymarket.py # 🆕 v3.0 测试
└── data/ # 运行时数据
核心模式
双模式预测模型
Elo差 ≥ 15分 → 爆冷模式(爆冷因子+客胜加权)
Elo差 < 15分 → 平衡模式(泊松分布+动态平局)
小组赛首轮 → 谨慎因子 +6%(v2.1新增)
10类预测因子
| 因子 | 权重 | 说明 |
|---|---|---|
| 基础Elo | 35% | 1600-1950区间 |
| 伤病上场概率 | 15% | 主力+位置差异化 |
| 近期状态 | 12% | 近5场加权 |
| 天气影响 | 8% | 温度/降水/风力 |
| 小组排名 | 7% | 出线形势对战意 |
| 攻防数据 | 7% | 进球/失球差值 |
| 主场优势 | 5% | 中立25/真实70 Elo |
| 平局率 | 5% | 同阶段校正 |
| 平局偏差 | 4% | 历史对战 |
| 战术克制 | 2% | 风格相克 |
三种数据源整合
真实FIFA Elo → 基础预测概率
↓
Polymarket市场 → 校验/调整(24.5亿市场智慧)
↓
中国体彩盘口 → 中国市场赔率 + 庄家利润评估
↓
最终预测 + 套利机会报告
快速使用
综合预测(含市场校准)
from predictor.enhanced_demo import enhanced_predict_6_17
enhanced_predict_6_17() # 6/17 3场完整预测+EV分析
单场比赛预测
from predictor import WorldCupPredictor
from predictor.data import Team, MatchInfo, TeamStyle
home = Team(id=1, name="France", elo=1870, style=TeamStyle.BALANCED, ...)
away = Team(id=2, name="Senegal", elo=1684, style=TeamStyle.PHYSICAL, ...)
match = MatchInfo(home_team=home, away_team=away, ..., is_neutral=True)
pred = WorldCupPredictor().predict(match)
print(f"主胜 {pred.home_win_prob*100:.1f}%")
Polymarket市场数据
from predictor.data import PolymarketClient
poly = PolymarketClient()
wc = poly.get_world_cup_winner()
print(f"法国: {wc['teams']['France']*100:.2f}%") # 17.65%
市场校准报告
from predictor.calibration import MarketCalibrator
cal = MarketCalibrator()
report = cal.generate_report(
model_winner_probs={'France': 0.20, 'Spain': 0.13, ...}
)
print(MarketCalibrator.format_report(report))
单元测试
# 全部25个测试
python3 -m unittest tests.test_factors tests.test_polymarket -v
# 仅Polymarket相关
python3 -m unittest tests.test_polymarket -v
Important Disclaimer
- 本工具所有预测仅供参考,不构成任何投注建议
- 中国体育彩票购买请遵守国家相关法律法规,理性购彩
- 彩票有风险,投注需谨慎,未成年人禁止购彩
- 模型存在历史失败案例(6/16预测0%准确率),使用前请充分测试
- 套利机会仅基于模型估算,实际赔率会随时间变化
上传状态
- ClawHub URL: https://clawhub.ai/deloyong/yy-world-cup
- 当前版本: v3.0 (待发布)
- 已发布版本: v2.0 (v3.0 待手动上传)
Related skills
FIFA World Cup match predictor: dual-mode score model + Elo ratings. Win/draw/loss probabilities & score predictions.
Use for English or Chinese football match forecasts, pre-kickoff alerts, post-match review, and controlled self-evolution from multi-book odds, line movement...
Live football & basketball odds and scores from InferSports — who's favored, the live score, today's matches and what's worth watching, a specific day's sche...
Used to generate post-match reviews of World Cup football matches, and supports standardized scene input, post-match information retrieval and fan group noti...
Use to generate World Cup football conversation kits from standardized match input and notification retrieval. It supports prep for fan-group chats, in-person viewing, social posts, or selected modules such as "understand the match in 30 seconds," "main match highlights," "what everyone is discussin