
betting
熱門投注分析 — 賠率轉換、去水(de-vigging)、優勢偵測、Kelly 準則、套利偵測、串關分析與盤口變動。純計算,無 API 呼叫。適用於任何來源的賠率:ESPN(美式賠率)、Polymarket(小數機率)、Kalshi(整數機率)。 使用時機:使用者詢問關於投注金額、期望值、優勢分析、Kelly 準則、套利、串關、盤口變動、賠率轉換,或比較不同來源的賠率。當你從 ESPN 取得賠率,並有預測市場價格,想評估某個投注是否具有正期望值時,也可使用。 不要使用時機:使用者要求即時賠率或市場資料 — 請先使用 polymarket、kalshi 或特定運動技能取得賠率,再用此技能進行分析。
投注分析 — 賠率轉換、去水(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
- 取得 ESPN 的勝負賠率(例如,從
nba get_scoreboard):主隊:-150,客隊:+130 - 取得相同結果的 Polymarket/Kalshi 價格(例如,主隊
0.52) - 去水:
devig --odds=-150,+130 --format=american→ 公平機率:主隊 57.9%,客隊 42.1% - 比較:
find_edge --fair_prob=0.579 --market_prob=0.52→ 優勢:5.9%,期望值:11.3% - 或一步完成:
evaluate_bet --book_odds=-150,+130 --market_prob=0.52
套利偵測
- 從不同來源取得每個結果的最佳價格(Polymarket 主隊 0.48,Kalshi 客隊 0.49)
find_arbitrage --market_probs=0.48,0.49 --labels=home,away- 總隱含機率 0.97(< 1.0)→ 發現套利,保證報酬率:3.09%
串關評估
- 對每個單注去水:第 1 注 → 0.58,第 2 注 → 0.55,第 3 注 → 0.50
parlay_analysis --legs=0.58,0.55,0.50 --parlay_odds=600- 回傳合併公平機率、優勢與 Kelly 比例
盤口變動分析
- 取得 ESPN 的開盤與收盤盤口:開盤 -140,收盤 -160
line_movement --open_odds=-140 --close_odds=-160- 回傳機率變化、方向與分類(sharp_action、steam_move 等)
範例
範例 1:使用 ESPN 與 Polymarket 價格進行優勢檢查
使用者說:「湖人隊的比賽有優勢嗎?ESPN 開 -150,Polymarket 是 52 美分」
動作:
- 呼叫
devig(odds="-150,+130", format="american")→ 主隊公平機率約 58% - 呼叫
find_edge(fair_prob=0.58, market_prob=0.52)→ 優勢約 6%,正期望值 - 呼叫
kelly_criterion(fair_prob=0.58, market_prob=0.52)→ 最佳投注比例
結果:呈現優勢百分比、每美元期望值,以及建議投注金額佔資金的比例
範例 2:套利機會偵測
使用者說:「我可以套利嗎?Polymarket 主隊 48 美分,Kalshi 客隊 49 美分」
動作:
- 呼叫
find_arbitrage(market_probs="0.48,0.49", labels="home,away") - 檢查結果中的
arbitrage_found
結果:如果存在套利:呈現配置比例與保證報酬率。如果沒有:呈現 overround 並解釋無保證獲利
範例 3:串關評估
使用者說:「這個 3 注串關 +600 值得嗎?」
動作:
- 對每個單注去水以取得公平機率(例如,0.58、0.62、0.55)
- 呼叫
parlay_analysis(legs="0.58,0.62,0.55", parlay_odds=600)
結果:呈現合併公平機率、優勢、期望值、+EV 或 -EV 結論,以及 Kelly 比例
範例 4:盤口變動解讀
使用者說:「盤口從 -140 移動到 -160,這代表什麼?」
動作:
- 呼叫
line_movement(open_odds=-140, close_odds=-160)
結果:呈現機率變化、方向、幅度與分類(sharp action、steam move 等)
範例 5:標準讓分盤去水
使用者說:「這個讓分盤的真實賠率是多少?兩邊都是 -110」
動作:
- 呼叫
devig(odds="-110,-110", format="american")
結果:呈現每邊公平機率 50%,水錢約 4.5%
範例 6:賠率格式轉換
使用者說:「將 -200 轉換為隱含機率」
動作:
- 呼叫
convert_odds(odds=-200, from_format="american")
結果:呈現隱含機率 66.7% 與小數賠率 1.50
不存在的指令 — 絕對不要呼叫
— 不存在。此模組分析賠率;不負責取得賠率。請使用 nba-data/nfl-data 等取得 ESPN 賠率,或使用 polymarket/kalshi 取得預測市場價格。get_odds— 不存在。請改用calculate_evfind_edge或evaluate_bet。— 不存在。請使用compare_marketsmarkets技能進行跨平台比較。
如果某個指令未列在 references/api-reference.md 中,它就不存在。
疑難排解
錯誤:呼叫 convert_odds 時出現 ValueError: unknown format
原因:from_format 參數不是 american、decimal 或 probability 之一
解決方法:請使用 american、decimal 或 probability 作為格式字串
錯誤:find_edge 在預期正優勢時回傳負期望值
原因:公平機率與市場機率可能顛倒,或跳過了去水步驟
解決方法:先對運動彩券賠率執行 devig,再將去水後的 fair_prob 傳給 find_edge
錯誤:find_arbitrage 在價格看似很低時顯示沒有套利
原因:當所有結果都正確納入時,價格總和可能大於 1.0
解決方法:確認你使用的是所有結果的正確機率;檢查結果中的 total_implied
錯誤:Kelly 比例非常高(大於 0.5)
原因:優勢估計過大 — 通常是公平機率計算錯誤
解決方法:使用半 Kelly 或四分之一 Kelly 進行保守配置。透過 devig 重新驗證公平機率





