Skip to main content

football-betting-prediction

竞彩足球 / 体彩混合过关的赛事预测与出单方案设计,以及赛前临场复核、赛果回填与复盘。适用于胜平负/让球/比分/总进球/半全场及串关组合分析;含数据源停摆降级预案、负期望资金纪律与防编造铁律。 Triggers: "预测足彩", "竞彩", "足球预测", "足球比赛结果", "胜平负", "让球", "比分预测", "总进球", "半全场", "串关", "过关", "胆材", "混合过关", "投注方案", "临场复核", "出票前确认", "sporttery", "体彩".

설치로 이동

소스 정보

저장소
MrZhangShenSheng/football
최근 소스 활동
2026년 9월 16일 15:24
감지된 SKILL.md 언어
중국어
스타
0
포크
1

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
9 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
football-betting-prediction
description
竞彩足球 / 体彩混合过关的赛事预测与出单方案设计,以及赛前临场复核、赛果回填与复盘。适用于胜平负/让球/比分/总进球/半全场及串关组合分析;含数据源停摆降级预案、负期望资金纪律与防编造铁律。 Triggers: "预测足彩", "竞彩", "足球预测", "足球比赛结果", "胜平负", "让球", "比分预测", "总进球", "半全场", "串关", "过关", "胆材", "混合过关", "投注方案", "临场复核", "出票前确认", "sporttery", "体彩".
# 竞彩足球混合过关预测 v5.10 > 更新日期:2026-09-16(常见比分赔率条件模板):新增 `skill/references/score-odds-template.md`,将1:0、0:1、2:0、2:1、0:2、1:2按胜平负热门赔率区间与形状族纳入比分预筛;历史条件频率只作基线,不得替代本场模型概率。 > 更新日期:2026-09-15(比分形状校准补强):方向与精确比分分离;强队零封集中、低估弱队进球、同形状候选伪分散纳入硬复盘字段;新增 `skill/references/score-calibration.md`,先影子比较 DC、freq-band 与校准混合链,样本达标前不替换生产概率源。 > 更新日期:2026-09-11(形状回测实证标注 ★ engine/scripts/research/shape_backtest.py·636 轮孪生票·fd 四季 16414 场 B365 收盘:①三形状(4串1/4串11/全2关-4)**期望回收率打平**(100.7~103.8%·配对差 CI 全跨 0·分季冠军轮换),真差异全在**方差**——容错族回款轮占比 96.8% vs 4串1 38.5%、连灭 1 vs 10、回撤减半:保底档 4串11 骨架实证=**同等回报下路径质量,非更高回报**;②选腿 α 唯一来源=**热度集中**(top4 vs 随机 +4.5~23pp·B365 超热腿系统性慷慨=favorite-longshot bias 强形式·全中率实测 38.5% vs 去水理论 21%),**B365 抽水 6.41% ≠ 体彩 12.9%,回收率绝对值禁外推体彩加注**——体彩价是否存活靠实盘 CLV 验证;③排除逻辑阶梯 v2:胶着排除 top4 口径 **0 触发冗余**、开季限1 市场口径**负贡献**(丢 34 开季赚钱轮·净额差 -244——纪律动机是模型保护(开季 DC 失真)不在市场口径废立范围)、超低赔通道 p≥0.55 下 **0 触发死代码**——两条零成本保险保留勿记功;④报告 data/04-summaries/2026-09-11-shape-backtest.html + shape-backtest-v2-report.json) > 更新日期:2026-09-04(批次4 规则三条 · 审计修复设计 docs/2026-09-04-prediction-audit-fix-design.html:①轮次判定定式=insight gameweek 先查+standing 已赛场次一致性校验,ESPN 榜只做参考(当日法甲 ESPN 推 R4 实为 R3 靠 insight 勘定)②四星踩线(65~67%)+基面反向→降半档 ③保底腿全含于彩票档→必须算耦合概率(v5.1 条款补执行)) > 更新日期:2026-09-04(平局轨入轨第五条:`poolSingle.HAD=1` 单关资格前置核验——09-03 周四001 入轨四条全过但该场 HAD 不可单关,被迫与周四002 组混串;09-04 结算平腿 @3.10 命中(2:2)被捆绑腿拖死整注归零(单关口径应回 31 元)。=0 降级路径=①与合格腿混串(须对捆绑腿有独立信心,CRS/TTG/HAFU 单关资格全场=1 不受限)或②撤注,不硬凑;出票核对单环节必查此字段) > 更新日期:2026-09-03(v5.8 实票×推荐对齐——系统同推制六件套:票腿 agreement 五值/偏好档案 gateRule/登记对照回执/推荐 play 三态每场必答/tickets.html ⑤ 一致率区块;底子=16票60腿分析:一致腿40%vs偏离14%、高一致票+212.9vs零一致-75.6、排除场照买0%全亏,设计见 docs/2026-09-03-ticket-recommend-alignment-design.html) > 更新日期:2026-09-03(v5.7 平局轨:搏奖档内 HAD 平单关——入轨四条 p平≥28%+极差<12pp+R4起+每轮≤2注,胶着是灵魂(极差加回测 18%→60%)、开季系数抬平污染禁入、杯赛富矿放行、星级豁免、EV 不拦截、永久单关;无影子期无转正符合门槛即纳入,设计见 docs/2026-09-03-draw-track-design.html) > 更新日期:2026-09-02(v5.6 彩票档:boldplay 两档制→三档制,HAD/HHAD N串1×1倍=2元合格腿全上 4~8 串、p_fused≥0.55/超低赔≤1.25 门槛、无预算管理独立轮红线,设计见 docs/2026-09-02-lottery-tier-design.html) > 更新日期:2026-08-27(v5.3 比分选法重设计 freq-band:联赛频率模板+球队平移+形状带+q排序为默认链路,DC 退出比分选择;--method=amix 过渡保留一个月待回测对照,设计见 docs/2026-08-27-freq-band-design.html) > 更新日期:2026-08-26(v5.2 修正三向经 --adjust 传导全玩法(三域重标定+池级温度+半场参数,设计见 docs/2026-08-26-pool-coverage-design.html);v5.3 起该传导仅服务 amix 过渡路径) > 更新日期:2026-08-25(v5.1 实战纪律回灌:高赔池全量 EV 扫描 / 注间耦合计算 / 静默失败追查入铁律 / 用户偏好形状档案 / 方案命名规范+对比表;v5.0 阶梯出票卡为默认输出) > 实战基线:方向正确率 63.2%(12/19),比分命中率 26.3%(5/19);CLV 记录自 v4.1 起 ## 文件存储路径 ★ v4.0 新增 所有预测相关文件统一存储在 `$FOOTBALL_HOME` 项目根目录中(环境变量,由 install 脚本设置;未设则用 skill 目录的父级 `../` 推导): | 目录 | 用途 | 文件命名 | |:---|:---|:---| | `data/00-leagues/` | 联赛画像(积分榜/场均进球/冷门率/TOP 比分) | `{league}.json` | | `data/01-teams/` | 最新球队信息(排名、阵容、伤停) | `{联赛名}/` 按联赛分子目录 | | `data/02-results/` | 历史比赛结果(赛果回填)+ `league/` 本地赛果库 | `YYYY-MM-DD.json` 按日期 | | `data/03-predictions/` | 最近预测文件 | `YYYY-MM-DD*.html` | | `data/04-summaries/` | 预测总结与复盘(含 corpus.json/trend.html) | `YYYY-MM-DD-review.html` | | `data/05-trends/` | **赛前情报时序库**(intel-timeline,docs/2026-08-30-intel-timeline-design.html):`{date}-odds.json` 五池赔率 diff 增量链(刷新自动落盘)/ `{date}-intel.json` 情报摘要(insight 拉取自动落盘)/ `{date}-livescan.json` 临场扫描事件(skill 录入,`trends_snapshot.py livescan` 校验通道);2026-08-29 前的 livescan 为 legacy 格式双格式兼容 | `YYYY-MM-DD-{odds\|intel\|livescan}.json` | | `engine/cache/` | DC 参数缓存 + models/ 版本存档 + fusion.json + 体彩缓存 | `{league}_dc.json` 等 | | `skill/references/` | 低频参考(官方规则/系数详表/教训档案,按需加载) | `*.md` | **执行时自动归档**: - Step 7 报告输出 → 保存到 `data/03-predictions/` - Step 8 赛果回填 → 保存到 `data/02-results/` - Step 8 复盘报告 → 保存到 `data/04-summaries/` - Step 3 采集的球队数据 → 更新到 `data/01-teams/` --- ## 适用范围 - 竞彩足球:胜平负 / 让球胜平负 / 总进球 / 半全场 / 比分,及混合过关 - 90 分钟常规时间(含伤停补时)结果预测 - 不适用:加时点球、冠军竞猜、滚球 --- ## 〇、十条铁律(违反即返工) | # | 铁律 | 来源教训 | |:--:|:---|:---| | 1 | **绝不编造数据**:交锋/球员/战绩查不到就标 ❓,每条数据标注来源 + 加载状态 | v1 编造数据导致信任崩塌 | | 2 | **用户反馈优先级最高**:用户提供的信息 > 模型推断,置信度 +1 级 | 忽视"长崎主场强"反馈致预测失误 | | 3 | **出票前终端实盘核对**:编号 × 联赛 × 主客三重验证,官方对阵偶有错误 | 2026-08-17 001 场次实际不存在 | | 4 | **失败降级纪律**:同一数据任务失败 ≤ 2 次即停;全源失败降级为"官方赔率 + 排名 + 赛季阶段"主线分析,如实标注缺失维度并下调置信度 | — | | 5 | **模型 ≠ 必中**:方向精度实测 60~65% 区间(基线 63.2%);赔率以官方终端为准,预估仅作决策参考 | — | | 6 | **赛果必须回填**:每轮预测后自动查询赛果并回填到预测记录,完成五维复盘统计 | v4.0 新增:无闭环 = 无法迭代 | | 7 | **归档禁止整文件覆盖** ★ v4.6:同日期重跑时必须先读旧 `data/02-results/` 文件——同 schema 则增量合并赛果字段,不同 schema 则另存 `-r1` 后缀新文件;预测记录与 plans 格式须遵 Step 8 v4.6 schema(corpus.py 双格式兼容已就位) | 2026-08-22 f4558c2 事故:matches[] 覆盖 records[] 致 52 条语料归零,靠 git 历史抢救 | | 8 | **比分选法三步铁律 + 空结果追查** ★ v5.3:比分选择 = freq-band(legacy 路径默认;v5.5 翻身档=三池 EV 选优,CRS q 源仍 freq-band):①生存阈模板真实频率 q≥1%(平移不救真实出现不足的比分,c=0 永不入选)②赔率只做形状带门槛(桂林 10-17/梅州 18-28)不做排序③带内真实频率最高者胜出,每场 1 腿、<4 腿关档不硬凑;脚本输出空列表/空结果 = 异常必须追查,**禁止静默跳过**;方案里声明选腿结果(关档也要写)——玩法凭空消失 = 执行漏洞。`--method=amix`(DC×体彩EV 三池扫描)过渡保留一个月,调用须标注 | 2026-08-27 大哥质疑"比分总取最小赔率,赔率=购买热度≠真实结果"——模型审计已证 DC 无增量,A-MIX 却用 DC 找市场定价错误=自相矛盾(docs/2026-08-27-freq-band-design.html);8-25 双教训(DC TOP1 全低赔 EV-6.9%/空结果没追查)为同一病根 | | 11 | **比分形状不得伪分散** ★ v5.9:方向命中与比分命中分开统计;强队候选不得全部落在零封族(1:0/2:0/3:0只算一个剧本),应按经回测的双方进球/零封概率保留相邻形状候选;官方首发/核心伤停更新比分尾部而非机械平移胜负。每场记录 `score_source`、`shape_family`、`p_btts`、`p_clean_sheet`、`topk_hit`,并在 `score-calibration.md` 规定的影子实验达标前禁止替换生产链。| | 9 | **同场限一玩法·不同场可混串** ★ v5.6(最易看反):同一注串内**同一场次**只能选一种玩法(同场不能既买 CRS 又买 HAD);但**不同场次可用不同玩法组同一注串**(A场CRS+B场TTG+C场HAD 一注3串合法)=混合过关本义,**也是方案优化手段**——各场取 EV 最优玩法混串,低抽水池腿(TTG/HAFU 20.4% < CRS 33.9%)降整串期望抽水。**≠ 整注必须同玩法**:此误读致方案默认全同玩法串、从不评估混串优化(2026-08-31 实例:011 CRS@13 EV-7% 本可换 TTG@4.9 EV+4% 同注混串,因误读铁律而漏评估)。混串总关数 ≤ 最低玩法上限(木桶);同场跨票分池合法(001 CRS 单关票A + 001 HAD 3串票B) | 2026-08-31 大哥纠正:铁律被读反成"整注同玩法",方案系统性漏混串优化 | | 10 | **无锚联赛腿禁入保底胆** ★ v5.6:fd 不覆盖联赛(瑞超/日职/沙特/韩职等,无 Pinnacle 收盘锚)的场次**不得作为保底票胆材**——单锚先验(上轮收盘/联赛画像)不满足保底档的市场隐含 ≥65% 准入口径,只可入翻身池/搏奖池或平腿;保底胆必须是 fd 收盘锚场次 | 2026-08-31 周二 10 场全灭归因两假胆 EV-17~-19(无锚联赛被程序当胆,docs/2026-09-01-qa 归档);09-01 双轨分化设计复审补纪律线(C2) | --- ## 一、执行流程(13 步) ``` Step 0 模式判定(全局 / 快速) Step 1 赛事与赔率采集(体彩五池=可买性 + Pinnacle 收盘=概率锚)★ v4.5 五池 Step 1.5 预筛选快排(赔率分层 → 搜索优先级排序) Step 2 双锚隐含概率(Pinnacle 去水为概率基准) Step 2.5 数据就绪检查 + 冷启动初始化(联赛画像/球队画像/别名)★ v4.3 新增 Step 3 深度数据采集与分级(A/B/C/D)— 联赛分组批量 + 本地知识库优先 Step 3.5 DC 模型概率 + logit 融合(含 ttg/hafu 输出)★ v4.5 扩展 Step 4 8 因子加权评分 + 修正系数(消融清单内,ξ=0.005)★ v4.1 修订 Step 5 星级评级(概率阈值 × 数据等级约束) Step 6 玩法匹配与风险三档方案(🚀/⚖️/🛡️ + EV 硬门槛 + 资金纪律)★ v4.6 Step 6.5 出票前临场终审(信息边际 → 最终方案逻辑校验)★ 出票必经 Step 7 分层报告输出(摘要卡概率×赔率×EV → 推荐详情 → 排除简报)★ v4.6 Step 8 赛果回填 + 五维复盘 + 闭环学习(corpus/attribute/trend/learn)★ v4.5.1 ``` 并行控制:同一时间最多 4~5 个查询,按联赛分组采集,高关注度比赛优先。 --- ## Step 0:模式判定 ★ v4.0 新增 | 模式 | 触发条件 | 流程 | |:---|:---|:---| | **全局模式**(默认) | 用户说"帮我预测" / 未指定场次 | Step 1~8 全流程 | | **快速模式** | 用户指定编号(如"帮我看看周五006") | 跳过 Step 1 全局采集,仅对指定场次执行 Step 2~7;如指定场次数据不足则提示用户 | 快速模式下仍须完成:赔率采集(仅该场)、数据分级、星级评级、推荐选项。不输出串关方案(除非用户追加)。 --- ## Step 1:赛事与赔率采集(必须完成)★ v4.1 双锚制 **赛程采集优先用脚本**:`python sporttery_fetch.py`(直连 API,绕过 WebFetch 截断,拿全部在售场次)。WebFetch 有长度截断(实测只能拿 18 场,实际 52 场),**仅作脚本失效时的备选**。 **双锚原则**:体彩赔率(毛利>7%)只用于**可买性判断**(能不能买、算奖金);**概率锚**用 Pinnacle 收盘价(毛利~2.5%)去水。若 Pinnacle 数据不可得,标注"锚偏差 ~5pp,置信度下调一档"。 | 锚 | 来源 | 用途 | |:---|:---|:---| | 体彩官方 API | `sporttery_fetch.py`(直连,完整赛程+赔率) | 赛程编号、可买玩法、实际赔率、奖金计算、CLV 记录 | | Pinnacle 收盘价 | oddsportal 存档 / Pinnacle 公开数据 / 搜索"match pinnacle closing odds" | 去水得市场真实概率,作为概率基准 | 必采字段:编号、联赛、主客队、开赛时间、**胜平负赔率 + 让球盘赔率**(逐一核验)+ Pinnacle 收盘三向赔率 检查项: - [ ] 覆盖**所有比赛日**(不能只取第一天) - [ ] 编号 × 联赛 × 主客队三重交叉验证 - [ ] 按联赛分组输出场次统计 - [ ] **场次完整性**:脚本拉取后核对编号连续性,如周五→周六→周日有断裂则补查(体彩偶有停售场次,编号跳号属正常) - [ ] **双锚齐全**:至少 70% 场次拿到 Pinnacle 收盘价;未拿到的标注"锚缺失"并降级处理 - **刷新即快照 ★ v5.4**:任何路径刷新 `sporttery_matches.json` / 拉取 insight 自动落盘 `data/05-trends/` 时序(钩子内嵌,失败不阻断);手动补拍 `python engine/scripts/run.py snapshot [--insight 编号,编号]` 输出:`| # | 场次编号(体彩) | 联赛 | 主队[排名] | 客队[排名] | 开赛日期时间 | 体彩赔率 | Pinnacle收盘 |`(# 为全局序号,场次编号列=体彩编号 `周X00N`,两列并存职责不同勿混) > 每场比赛标注全局序号 #1~#N,方便后续所有环节交叉引用。报告输出必须带**日期 + 编号**(2026-08-21 实测教训:无日期/编号无法回填赛果)。 --- ## Step 1.5:预筛选快排 ★ v4.0 新增 拿到赔率后、深度搜索前,先做一轮 30 秒快速分级: | 赔率特征 | 分级 | 搜索策略 | |:---|:---|:---| | 单方概率 >60% 或 <15% | **高确定性** | 优先搜索,大概率 A/B 级 | | 三项概率在 35%~50% 区间(极差 <10pp) | **胶着区** | 最后搜索;搜索后若仍胶着则标 C 级并标记"建议避开" | | 胜平负未开售(仅让球盘) | **特殊场** | 标记为"仅让球/比分可用",走让球盘反推流程(见 Step 4 修正系数 6) | | 小联赛(瑞超/挪超/芬超/荷乙) | **高风险** | 仅搜索排名+交锋两项,快速判定能否达到 B 级;达不到直接标 D | **搜索优先级排序**:高确定性场次 → 入串热门场次(三星以上潜力)→ 胶着区 → 高风险小联赛 --- ## Step 2:双锚隐含概率(去水归一化)★ v4.1 ``` p_i = (1/o_i) / Σ(1/o) ← 对 Pinnacle 收盘价计算(概率基准) ``` - **概率基准** = Pinnacle 收盘价去水(毛利~2.5%,偏差最小) - **体彩赔率** = 另行去水,仅用于计算实际价值(体彩赔率 vs 概率的正值判断) - 胜平负盘与让球盘**分别计算** - **盘口矛盾校验**:让球盘与不让球盘隐含概率矛盾时,以终端实盘为准并在报告中标注 - 体彩赔率与 Pinnacle 隐含概率差异 >7pp 的场次:体彩该选项无购买价值(负期望显著放大),报告标注 --- ## Step 2.5:数据就绪检查 + 冷启动初始化 ★ v4.3 新增 预测前对每场检查三类数据,缺的先初始化再分析(RAG 冷启动闭环:初始化落盘,下轮同联赛/球队直接命中): 1. **联赛画像** `data/00-leagues/{league}.json`:missing/stale → fd 覆盖联赛跑 `engine/scripts/run.py update`;不覆盖(日职/沙特/北欧/南美)WebFetch ESPN 积分榜结构化写入(standingsSource=espn-manual) 2. **球队画像** `data/01-teams/{league}/{teamId}.json`:lastUpdated >7 天或缺失 → 联赛分组搜索提取近5场/排名/伤停/主客战绩,按规范 JSON 写入(含 source) 3. **别名覆盖** `data/01-teams/_aliases.json`:中文名查不到 → 先补别名(规范 ID+zh+league)再走 ② **执行方式**:调 `python data_check.py matches.json`(对阵清单 JSON)→ 拿到缺口报告(missingLeagues / missingAlias / notReadyTeams)→ 按清单初始化 → 复检。 **初始化优先级**:入串场次(三星+)球队 > 联赛积分榜 > 其余球队。联赛级初始化一次覆盖全联赛球队基础数据,比逐队省。 --- ## Step 3:深度数据采集与分级 ### 检索顺序 ★ v4.1:本地知识库优先 · v4.2 加联赛画像 ``` 1. 读 data/00-leagues/{league}.json → 联赛画像(积分榜/统计/争冠保级格局) ├─ fd 推导版由 league_profile.py 生成(engine/scripts/run.py update 自动) └─ 预测时 WebFetch ESPN 实时积分榜覆盖 standings(改 freshness.standingsSource=espn;轮次不一致标 stale) 2. 读 data/01-teams/_index.json → 哪些球队有本地画像? 3. 读 data/01-teams/{league}/{team}.json → Elo/xG/近况/伤停(新鲜则直接用) 4. 读 data/02-results/_h2h_index.json → 交锋(仅叙事参考,不进权重,见 H2H 降权) 5. 检查 engine/cache/{league}_dc.json 新鲜度(新增比赛 ≥5 场 → 调 dc_fit.py 重拟合) 6. 本地缺什么 → 只搜缺的(联赛分组批量) ``` ### 数据源优先级 | 优先级 | 数据源 | 可获取数据 | |:--:|:---|:---| | 🥇 | 本地知识库(football/) | 球队画像、Elo、xG、交锋索引、DC 缓存 —— 零成本 | | 🥈 | `espn_fetch.py`(ESPN API 直连) | 实时积分榜 + 按日期赛果,覆盖日职/瑞超/挪超/丹超/沙特/荷甲/葡超等 fd 不含联赛(**脚本直连勿用 WebFetch:浏览器 UA 会 403**) | | 🥉 | `cn_fetch.py`(titan007 国内源) | 积分榜兜底(ESPN 不可达时)+ `teams` 子命令出中英文队名对照补 `_aliases.json`;须带浏览器 UA+Referer | | 4 | 体彩官方 API(sporttery_fetch.py) | 赛程 + 赔率 + 赛果(`league-results` 联赛历史 / `results` 开奖口径按编号对票)+ **单场情报 `insight <matchId>`**(伤停名单+近10场+即时排名+H2H;matchId 见 sporttery_matches.json,免搜索配额,韩职等冷联赛同样覆盖) | | 5 | clubelo.com | Elo 评级(elo_fetch.py 双链路:api 子域被墙自动切主域 HTML,仅活跃队有效) | | 6 | Understat | xG/xGA(六大联赛) | | 7 | Transfermarkt / flashscore | 交锋、近期战绩、伤停(**体彩 insight 未覆盖的才用**——insight 优先,免配额) | | 8 | Google 搜索 | 快速验证特定信息 | agent 可灵活替换等效数据源;执行铁律 4 的失败降级。 ### H2H 降权 ★ v4.1(学术依据:Groll 2018 特征重要性垫底) - data/02-results/_h2h_index.json 保留存储,但检索层标注"仅叙事参考,不进权重" - 预测推理时 H2H 不作为方向判断依据(阵容换血 + 信息已被实力评分覆盖) - 例外:近 1 年内交锋 ≥2 次且战术风格延续的,可作定性参考(标注"弱参考") ### 降级模式(数据源停摆常态预案)★ v4.9 新增 实测 2026-08 下旬 ESPN 赛果停摆 / Pinnacle 缺失 / 搜索配额耗尽**三重叠加是常态而非异常**,双锚体系实际常跑在体彩单锚。降级须量化处理,不做文字标注了事: | 触发 | 处理 | 置信度代价 | |:---|:---|:---| | Pinnacle 收盘价缺失 | 概率锚退化为体彩去水(毛利 ~13%) | 修正后概率整体 ×0.97,星级上限 ⭐⭐⭐,报告标"单锚模式" | | ESPN 积分榜停摆 | cn_fetch.py(titan007)兜底,全 0 榜跳过防污染 | 数据等级按实际覆盖重判(insight 即时排名可替代) | | 搜索配额耗尽 | `insight <matchId>` 单场情报全量替代(伤停/近10场/排名/H2H 免配额) | insight 覆盖场可判 A 级 | | 赛果回填 | 体彩编号对票主链路 + ESPN 兜底(backfill 双链路,v4.9 修复) | 无降级 | ### 搜索降级链 ★ v4.0 标准化 ``` Transfermarkt 完整数据 → 失败?降级到 espn_fetch.py 直连(积分榜 standings / 赛果 results) → 失败?降级到 cn_fetch.py(titan007 国内源) → 失败?降级到 flashscore 简要 → 失败?Google 搜索单条验证 → 失败?标 ❓ 放弃该项,不再重试 ``` 每个数据源**失败 1 次即降级**,不重试,节省 token。 ### 联赛分组批量搜索策略 ★ v4.0 新增 把场次按联赛分为 3~4 组,每组用一条搜索词批量查: ``` 示例分组: - 欧罗巴组(6场):"Europa League playoff 2026 August recent form results" - 日职组(2场):"J联赛 2026 standings recent results" - 沙特联组(3场):"Saudi Pro League 2026 standings round X" - 其余混合组(法甲/法乙/荷乙/芬超/瑞超):各一条 ``` 每组搜索同时获取排名、近期战绩、交锋记录。单组失败才降级到逐场搜索。 ### 每场 6 项必查 | # | 检查项 | 查不到的处理 | |:--:|:---|:---| | ① | 历史交锋(近 3~5 场) | 标 ❓,置信度上限 ⭐⭐ | | ② | 主队近期战绩(近 5 场) | 标 ❓,置信度上限 ⭐⭐ | | ③ | 客队近期战绩(近 5 场) | 标 ❓,置信度上限 ⭐⭐ | | ④ | 两队当前排名 | 标 ❓则本场不预测 | | ⑤ | 是否开季前 3 轮(轮次判定定式 ★ 2026-09-04) | 轮次一律**先查 `sporttery_fetch.py insight` 的 gameweek 字段**,并与 standing 已赛场次(胜+平+负计数)一致性校验;ESPN 积分榜首积分推轮次**只做参考不做定论**(09-04 教训:ESPN 推法甲 R4 实为 R3,靠 insight 勘定,避免修正系数错档);开季前 3 轮 → 评级降半档(见修正系数,分档修正) | | ⑥ | 联赛级别 | 事实信息,决定波动系数 | 可选补充(仅定性参考,不进权重):教练、战术、明星球员、天气。 ### 数据可信度分级 | 级别 | 标识 | 标准 | 可否预测 | |:--:|:---|:---|:---| | **A 级** | ✅ | insight 覆盖(排名+近况+伤停+H2H 四要素,`sporttery_fetch.py insight` 一次拉全)或 6 项手动齐全 | 可预测比分,置信度 ⭐⭐⭐⭐+ | | **B 级** | 🟡 | 3~5 项 | 胜平负为主,比分至多搭配 1 场,置信度上限 ⭐⭐⭐ | | **C 级** | 🔴 | 1~2 项 | 仅预测方向,不选比分/半全场 | | **D 级** | ❌ | 赛程都无法确认 | 不选入任何串关 | --- ## Step 3.5:DC 模型概率 + logit 融合 ★ v4.1 新增
GitHub에서 보기
이 SKILL.md는 매우 커서 SkillsMP가 여기에는 첫 섹션만 미리 보여줍니다. GitHub에서 보기