Tela de EV com fairProb em Python
Resposta: Cada outcome em GET /v1/odds inclui decimal, fair (decimal sem vig) e geralmente fairProb. Compare o decimal de outro book com o fair da Pinnacle para marcar EV positivo. É triagem educativa, não tip.
Tela moneyline de futebol#
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()
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")
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))
Só campos REST publicados. Free funciona (atrasado). Push: Builder (€99/mês). Planos pagos: 3 dias de teste; cartão é obrigatório e é cobrado após o dia 3 salvo cancelamento. Ver guia de value. Conteúdo educativo para adultos (18+). Sem lucro garantido.
Perguntas que as pessoas fazem#
fair e fairProb são iguais?#
fair é o decimal sem vig; fairProb é a probabilidade justa (≈ 1/fair).
Isso acha arb?#
Não — compara um book sharp (Pinnacle via PinnFeed) com outro preço que você fornece. PinnFeed é só Pinnacle.