回答 · Python · fairProb
PythonでfairProbを使ってピナクルのオッズをEVスクリーニング
回答: GET /v1/oddsの各アウトカムには、decimal、fair(マージンなしの小数オッズ)、通常はfairProbが含まれます。他社の小数オッズをピナクルのfair(または1/fairProb)と比べ、期待値がプラスのものに印を付けます。これは教育目的のスクリーニングで、予想サービスではありません。
サッカーのメインラインのスクリーン#
import os, requests
KEY = os.environ["PINNFEED_KEY"]
r = requests.get(
"https://pinnfeed.io/v1/odds",
headers={"x-api-key": KEY},
params={"sport": "soccer", "market": "moneyline", "main": "true", "limit": 40},
timeout=20,
)
r.raise_for_status()
# Example: soft book prices you already scraped elsewhere
soft = {("Home FC", "Away United", "home"): 2.40}
for ev in r.json().get("events", []):
key = (ev.get("home"), ev.get("away"))
m = next((x for x in ev.get("markets", []) if x.get("type") == "moneyline"), None)
if not m:
continue
for o in m.get("outcomes", []):
name = o.get("name") # home / away / draw
fair = o.get("fair") or (1 / o["fairProb"] if o.get("fairProb") else None)
soft_dec = soft.get((*key, name))
if fair and soft_dec and soft_dec > fair * 1.02:
print(ev["home"], "v", ev["away"], name, "soft", soft_dec, "fair", round(fair, 3))
/openapi.jsonで公開されているRESTフィールドだけを使います。Freeでも動きます(遅延あり)。リアルタイムのプッシュはBuilder(月額99ユーロ)。3日間のトライアルがあります。カード登録が必要で、解約しない場合は3日目の後に課金されます。 バリューベッティングのガイドも参照してください。
18歳以上の方を対象とした教育目的のコンテンツです。予想や利益の約束ではありません。日本では刑法により賭博は原則として禁止されています。
よくある質問#
fairとfairProbは同じですか?#
fairはマージンを除いた小数オッズ、fairProbは公正な暗黙の確率です(マージン除去後で≈1/fair)。クライアントで既に保存している方を使ってください。
アービトラージを見つけられますか?#
いいえ。シャープな1社(PinnFeed経由のピナクル)と、あなたが用意した別の価格を比べるだけです。複数社のアービトラージには別のデータソースが必要で、PinnFeedはピナクルのみを扱います。