Pred-Data 取得賠率數據

實作教學

比較預測市場價格與博彩公司賠率

從同一個 API 取得同一場運動賽事的 Polymarket、Kalshi 與博彩公司價格,換算成隱含機率,與去抽水的博彩線比較,並讀取訂單簿深度。

最後更新: · 撰寫與審閱: Ken Lin

合作連結 合作連結 — 我們可能因此獲得佣金,詳見聯盟行銷揭露。

快速解答

Odds-API.io 把 Polymarket 與 Kalshi 的運動市場整理成與博彩公司相同的格式,一次 /odds 呼叫就能以小數賠率取得三者;60 美分的合約即 1.67 [1]。把每個價格換成隱含機率、去除博彩公司的超額機率後再比較,並在相信差距之前先檢查深度。

你需要準備

你需要準備: 用 Python 取得即時賠率中的函式、一個運動賽事 id,以及已選定 Polymarket 與 Kalshi 的方案 [1]。

取得金鑰: Odds-API.io 合作連結

合作連結 — 我們可能因此獲得佣金,詳見聯盟行銷揭露。

程式碼測試狀態: 本教學的 Python 程式碼是以 Odds-API.io 文件中公布的範例回應執行測試(2026 年 11 月 3 日查核),並未使用真實 API 金鑰。實際回應可能有更多欄位;程式只讀取文件中列出的欄位。

1. 價格如何對應

在預測市場上,合約價格為 0–100 美分、勝出時支付 1 美元,所以價格即隱含機率;小數賠率 = 1 / (價格 / 100) [1] [2]。Odds-API.io 回傳的是最佳報價(訂單簿頂層)與以美元計的深度欄位,而非完整訂單簿 [1]。

2. 一次取得三者

向 /odds 查詢 Polymarket、Kalshi 與一家博彩公司。程式會印出各來源的隱含機率與總和,以及最佳價格的深度。

# reuses get() and ml_prices() from the Python tutorial
ev = get("/odds", eventId=EVENT_ID, bookmakers="Polymarket,Kalshi,Bet365", markets="ML")

prices = ml_prices(ev)            # back prices, decimal
for book, p in prices.items():
    implied = {side: 1 / o for side, o in p.items()}
    total = sum(implied.values())
    print(f"{book:11} sum {total:.1%} ", {s: f"{q:.1%}" for s, q in implied.items()})

for book in ("Polymarket", "Kalshi"):          # depth: USD at the best back price
    for m in ev["bookmakers"].get(book, []):
        if m["name"] == "ML":
            row = m["odds"][0]
            print(book, {k: row[k] for k in row if k.startswith("depth")})

以文件中的里茲聯對阿森納範例,Kalshi 的買入價總和為 103.1%,Polymarket 為 102.1%:超出 100% 的部分是價差,不是博彩公司的利潤。

3. 與去抽水的博彩線比較

先去除博彩公司的利潤(同隱含機率與去抽水計算機),再相減。小差距很正常;深度很薄的大差距,實際交易時常常就消失了。

def no_vig(p):
    s = sum(1 / o for o in p.values())
    return {side: (1 / o) / s for side, o in p.items()}

book_fair = no_vig(prices["Bet365"])
for pm in ("Polymarket", "Kalshi"):
    if pm in prices:
        gap = {side: (1 / prices[pm][side]) - book_fair[side] for side in book_fair if side in prices[pm]}
        print(pm, "minus Bet365 no-vig (percentage points):",
              {s: f"{g * 100:+.1f}" for s, g in gap.items()})

4. 謹慎解讀結果

預測市場的手續費、價差、結算規則與判定都和博彩公司不同 [3]。這裡只涵蓋運動賽事 [1]。若做研究,可以長期用布萊爾分數與校準度評估兩種來源。

常見問題

有涵蓋選舉或加密貨幣市場嗎?

沒有。Odds-API.io 涵蓋的是 Polymarket 與 Kalshi 上的運動賽事。

為什麼預測市場價格加總超過 100%?

買入價是最佳賣價;與 100% 的差距反映買賣價差與手續費。

深度是什麼意思?

在最佳價格可成交的美元金額;深度小代表報價可能無法以較大金額成交。

關於本指南

Pred-Data 發布關於預測市場及相關 AI 工具的獨立解說,所有事實陳述都附上一手或可信的二手來源連結,並於上方日期查核。我們不經營交易平台、不接受投注,也不提供個人化建議。

作者:Ken Lin · 更正:如發現錯誤,我們會審核並標註修正日期。

聯盟行銷揭露

本站部分連結(標示「合作連結」)可能是聯盟行銷連結:若你透過這些連結註冊,我們可能獲得佣金,你無須支付額外費用。合作連結使用 rel="sponsored nofollow",且不會影響我們的評估。比較表中的平台連結均為官方網站的一般連結,並非聯盟連結。

資料來源

  1. Prediction Markets guide (Polymarket, Kalshi: back/lay, depth) — Odds-API.io docs, 2026 年 11 月 2 日查閱
  2. Prices & Orderbook — Polymarket Documentation, 2026 年 11 月 2 日查閱
  3. Resolution — Polymarket Documentation, 2026 年 11 月 2 日查閱