betting

betting

熱門

投注分析 — 賠率轉換、去水(de-vigging)、優勢偵測、Kelly 準則、套利偵測、串關分析與盤口變動。純計算,無 API 呼叫。適用於任何來源的賠率:ESPN(美式賠率)、Polymarket(小數機率)、Kalshi(整數機率)。 使用時機:使用者詢問關於投注金額、期望值、優勢分析、Kelly 準則、套利、串關、盤口變動、賠率轉換,或比較不同來源的賠率。當你從 ESPN 取得賠率,並有預測市場價格,想評估某個投注是否具有正期望值時,也可使用。 不要使用時機:使用者要求即時賠率或市場資料 — 請先使用 polymarket、kalshi 或特定運動技能取得賠率,再用此技能進行分析。

209星標
28分支
更新於 2026/8/17
SKILL.md
唯讀
名稱
betting
描述

投注分析 — 賠率轉換、去水(de-vigging)、優勢偵測、Kelly 準則、套利偵測、串關分析與盤口變動。純計算,無 API 呼叫。適用於任何來源的賠率:ESPN(美式賠率)、Polymarket(小數機率)、Kalshi(整數機率)。 使用時機:使用者詢問關於投注金額、期望值、優勢分析、Kelly 準則、套利、串關、盤口變動、賠率轉換,或比較不同來源的賠率。當你從 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)。
  • ESPN 賠率在計算與預測市場價格的優勢之前,已使用 devig 去除水錢。
  • 此模組負責計算 — 不負責取得資料。請先從特定運動技能或 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%,期望值: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)→ 發現套利,保證報酬率: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. 回傳合併公平機率、優勢與 Kelly 比例

盤口變動分析

  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%,正期望值
  3. 呼叫 kelly_criterion(fair_prob=0.58, market_prob=0.52) → 最佳投注比例
    結果:呈現優勢百分比、每美元期望值,以及建議投注金額佔資金的比例

範例 2:套利機會偵測
使用者說:「我可以套利嗎?Polymarket 主隊 48 美分,Kalshi 客隊 49 美分」
動作:

  1. 呼叫 find_arbitrage(market_probs="0.48,0.49", labels="home,away")
  2. 檢查結果中的 arbitrage_found
    結果:如果存在套利:呈現配置比例與保證報酬率。如果沒有:呈現 overround 並解釋無保證獲利

範例 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 結論,以及 Kelly 比例

範例 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 在預期正優勢時回傳負期望值
原因:公平機率與市場機率可能顛倒,或跳過了去水步驟
解決方法:先對運動彩券賠率執行 devig,再將去水後的 fair_prob 傳給 find_edge

錯誤:find_arbitrage 在價格看似很低時顯示沒有套利
原因:當所有結果都正確納入時,價格總和可能大於 1.0
解決方法:確認你使用的是所有結果的正確機率;檢查結果中的 total_implied

錯誤:Kelly 比例非常高(大於 0.5)
原因:優勢估計過大 — 通常是公平機率計算錯誤
解決方法:使用半 Kelly 或四分之一 Kelly 進行保守配置。透過 devig 重新驗證公平機率