Planilha de apostas com CLV
Resposta: registre uma linha por aposta com o preço que você pegou e capture duas vezes o preço da Pinnacle para o mesmo resultado: na hora da aposta e pouco antes do início. O closing line value é seu preço / preço de fechamento − 1. Você pode capturar os dois preços por conta própria via /v1/odds ou /v1/events/{id} em qualquer plano (o Free tem 30 s de atraso) ou, no Builder, ler o registro de fechamento guardado em /v1/closing/{eventId}.
Colunas#
| Coluna | Exemplo | Como preencher |
|---|---|---|
| Data, evento, mercado, resultado | 2026-11-09, Ajax v PSV, moneyline, home | Você |
event_id, market_id | 123456, 123456:... | De /v1/odds na hora da aposta |
| Meu preço | 2.30 | O preço que a sua casa deu |
| Stake | 10 | Você |
| Pinnacle na aposta | 2.22 | decimal daquele resultado |
| Fair da Pinnacle na aposta | 2.27 | fair daquele resultado |
| Fechamento da Pinnacle | 2.15 | O último preço capturado antes do início |
| CLV | =G2/J2-1 | Seu preço vs o fechamento |
| Resultado | ganha / perdida / anulada | Você |
Um CLV positivo ao longo de muitas apostas sugere que você está batendo o preço de fechamento; o lucro de curto prazo diz pouco em qualquer direção.
Capture o fechamento você mesmo (qualquer plano)#
import os, requests
KEY = os.environ["PINNFEED_KEY"] # ps_live_...
def pinnacle_price(event_id: int, market_id: str, outcome: str):
r = requests.get(f"https://pinnfeed.io/v1/events/{event_id}",
headers={"x-api-key": KEY}, timeout=10)
if r.status_code == 404:
return None # event no longer listed (started or finished)
for m in r.json()["event"]["markets"]:
if m["id"] == market_id:
for o in m["outcomes"]:
if o["name"] == outcome:
return o["decimal"], o["fair"]
return None
Rode isso num agendador alguns minutos antes de cada início e escreva o resultado na coluna "Fechamento da Pinnacle". Os eventos somem de /v1/events/{id} quando a Pinnacle deixa de listá-los, então capture antes do início. No Free o valor chega com 30 s de atraso.
Ou leia o registro de fechamento guardado (Builder)#
GET /v1/closing/{eventId} retorna o registro de fechamento que o PinnFeed guardou para cada mercado (exige Builder ou Pro): odds de fechamento e CLV, relatório de CLV em Python.
Planos#
O Free (2 esportes, 1.000 requisições por dia, 30 s de atraso) basta para registrar algumas apostas por dia. O Builder (€99/mês) adiciona push em tempo real e registros de fechamento guardados. Teste de 3 dias; o cartão é obrigatório e a cobrança ocorre após o dia 3, a menos que você cancele. Configuração da planilha: gatilho do Sheets.
Conteúdo educativo para maiores de 18 anos. Registre seus resultados com responsabilidade; nada aqui promete lucro. No Brasil, aposte apenas em operadores autorizados pela SPA/MF.
Perguntas frequentes#
O CLV deve usar o fechamento justo ou o bruto?#
Os dois são usados. O bruto é mais simples; o justo (sem margem) remove a margem da Pinnacle. Escolha um e seja coerente.
Quantas apostas até o CLV significar algo?#
Muitas: algumas dezenas são ruído. Olhe a média ao longo de centenas.
Posso registrar preços de outras casas pelo PinnFeed?#
Não. O PinnFeed traz só a Pinnacle; o preço da sua casa você digita.