betting

betting

热门

博彩分析——赔率转换、去水、边缘检测、凯利准则、套利检测、串关分析和赔率变动。纯计算,无 API 调用。适用于任何来源的赔率:ESPN(美式赔率)、Polymarket(小数概率)、Kalshi(整数概率)。 适用场景:用户询问关于投注规模、期望值、边缘分析、凯利准则、套利、串关、赔率变动、赔率转换或跨来源比较赔率。也适用于当你有 ESPN 的赔率和预测市场价格,并想评估某个投注是否具有正期望值时。 不适用场景:用户询问实时赔率或市场数据——请先使用 polymarket、kalshi 或特定运动技能获取赔率,然后使用此技能进行分析。

209Star
28Fork
更新于 2026/8/17
SKILL.md
只读
名称
betting
描述

博彩分析——赔率转换、去水、边缘检测、凯利准则、套利检测、串关分析和赔率变动。纯计算,无 API 调用。适用于任何来源的赔率:ESPN(美式赔率)、Polymarket(小数概率)、Kalshi(整数概率)。 适用场景:用户询问关于投注规模、期望值、边缘分析、凯利准则、套利、串关、赔率变动、赔率转换或跨来源比较赔率。也适用于当你有 ESPN 的赔率和预测市场价格,并想评估某个投注是否具有正期望值时。 不适用场景:用户询问实时赔率或市场数据——请先使用 polymarket、kalshi 或特定运动技能获取赔率,然后使用此技能进行分析。

博彩分析

在编写查询之前,请查阅 references/api-reference.md 了解赔率格式、命令参数和关键概念。

快速开始

sports-skills betting convert_odds --odds=-150 --from_format=american
sports-skills betting devig --odds=-150,+130 --format=american
sports-skills betting find_edge --fair_prob=0.58 --market_prob=0.52
sports-skills betting evaluate_bet --book_odds=-150,+130 --market_prob=0.52
sports-skills betting find_arbitrage --market_probs=0.48,0.49
sports-skills betting parlay_analysis --legs=0.58,0.62,0.55 --parlay_odds=600
sports-skills betting line_movement --open_odds=-140 --close_odds=-160

Python SDK:

from sports_skills import betting

betting.convert_odds(odds=-150, from_format="american")
betting.devig(odds="-150,+130", format="american")
betting.find_edge(fair_prob=0.58, market_prob=0.52)
betting.find_arbitrage(market_probs="0.48,0.49")
betting.parlay_analysis(legs="0.58,0.62,0.55", parlay_odds=600)
betting.line_movement(open_odds=-140, close_odds=-160)

关键:在任何分析之前

关键:在调用任何分析命令之前,请验证:

  • 赔率格式是否正确识别(american、decimal 或 probability)。
  • 在计算边缘与预测市场价格之前,使用 devig 对 ESPN 赔率进行去水。
  • 此模块仅计算——不获取数据。请先从特定运动技能或 polymarket/kalshi 获取赔率。

工作流程

比较 ESPN 与 Polymarket/Kalshi

  1. 获取 ESPN 的胜负赔率(例如,从 nba get_scoreboard):主队:-150,客队:+130
  2. 获取同一结果的 Polymarket/Kalshi 价格(例如,主队为 0.52
  3. 去水:devig --odds=-150,+130 --format=american → 公平概率:主队 57.9%,客队 42.1%
  4. 比较:find_edge --fair_prob=0.579 --market_prob=0.52 → 边缘:5.9%,EV:11.3%
  5. 或一步完成:evaluate_bet --book_odds=-150,+130 --market_prob=0.52

套利检测

  1. 从不同来源获取每个结果的最佳价格(Polymarket 主队 0.48,Kalshi 客队 0.49)
  2. find_arbitrage --market_probs=0.48,0.49 --labels=home,away
  3. 总隐含概率 0.97(< 1.0)→ 发现套利,保证 ROI:3.09%

串关评估

  1. 对每个单关去水:第 1 关 → 0.58,第 2 关 → 0.55,第 3 关 → 0.50
  2. parlay_analysis --legs=0.58,0.55,0.50 --parlay_odds=600
  3. 返回组合公平概率、边缘和凯利分数

赔率变动分析

  1. 获取 ESPN 的开盘和收盘赔率:开盘 -140,收盘 -160
  2. line_movement --open_odds=-140 --close_odds=-160
  3. 返回概率变化、方向和分类(sharp_action、steam_move 等)

示例

示例 1:使用 ESPN 和 Polymarket 价格进行边缘检查
用户说:“湖人队比赛有边缘吗?ESPN 给出 -150,Polymarket 给出 52 美分”
操作:

  1. 调用 devig(odds="-150,+130", format="american") → 主队公平概率约 58%
  2. 调用 find_edge(fair_prob=0.58, market_prob=0.52) → 边缘约 6%,正 EV
  3. 调用 kelly_criterion(fair_prob=0.58, market_prob=0.52) → 最优投注比例
    结果:展示边缘百分比、每美元 EV 和推荐投注金额占资金的比例

示例 2:套利机会检测
用户说:“我能套利吗?Polymarket 主队 48 美分,Kalshi 客队 49 美分”
操作:

  1. 调用 find_arbitrage(market_probs="0.48,0.49", labels="home,away")
  2. 检查结果中的 arbitrage_found
    结果:如果存在套利:展示分配比例和保证 ROI。如果不存在:展示超额赔率并解释无保证利润

示例 3:串关评估
用户说:“这个 3 关串关 +600 值得吗?”
操作:

  1. 对每个单关去水以获得公平概率(例如,0.58、0.62、0.55)
  2. 调用 parlay_analysis(legs="0.58,0.62,0.55", parlay_odds=600)
    结果:展示组合公平概率、边缘、EV、正 EV 或负 EV 结论,以及凯利分数

示例 4:赔率变动解读
用户说:“赔率从 -140 变动到 -160,这意味着什么?”
操作:

  1. 调用 line_movement(open_odds=-140, close_odds=-160)
    结果:展示概率变化、方向、幅度和分类(sharp action、steam move 等)

示例 5:对标准盘口去水
用户说:“这个盘口的真实赔率是多少?两边都是 -110”
操作:

  1. 调用 devig(odds="-110,-110", format="american")
    结果:展示每边公平概率为 50%,水约为 4.5%

示例 6:赔率格式转换
用户说:“将 -200 转换为隐含概率”
操作:

  1. 调用 convert_odds(odds=-200, from_format="american")
    结果:展示 66.7% 的隐含概率和 1.50 的小数赔率

不存在的命令——切勿调用

  • get_odds — 不存在。此模块分析赔率,不获取赔率。请使用 nba-data/nfl-data 等获取 ESPN 赔率,或使用 polymarket/kalshi 获取预测市场价格。
  • calculate_ev — 不存在。请使用 find_edgeevaluate_bet 代替。
  • compare_markets — 不存在。请使用 markets 技能进行跨平台比较。

如果命令未在 references/api-reference.md 中列出,则不存在。

故障排除

错误:调用 convert_odds 时出现 ValueError: unknown format
原因:from_format 参数不是 americandecimalprobability 之一
解决方案:使用确切的 americandecimalprobability 作为格式字符串

错误:find_edge 在预期正边缘时返回负 EV
原因:公平概率和市场概率可能颠倒,或跳过了去水步骤
解决方案:先对体育博彩赔率运行 devig,然后将去水后的 fair_prob 传递给 find_edge

错误:即使价格看起来很低,find_arbitrage 也显示无套利
原因:当所有结果都正确包含时,价格总和可能大于 1.0
解决方案:验证您使用的是所有结果的正确概率;检查结果中的 total_implied

错误:凯利分数非常高(大于 0.5)
原因:边缘估计非常大——通常是由于公平概率计算错误
解决方案:使用半凯利或四分之一凯利进行保守投注。通过 devig 重新验证公平概率