Hoja de registro de apuestas con CLV
Respuesta: registra una fila por apuesta con el precio que conseguiste y captura dos veces el precio de Pinnacle para ese mismo resultado: al apostar y poco antes del inicio. El closing line value es tu precio / precio de cierre − 1. Puedes capturar ambos precios tú mismo desde /v1/odds o /v1/events/{id} en cualquier plan (Free va con 30 s de retraso) o, en Builder, leer el registro de cierre guardado en /v1/closing/{eventId}.
Columnas#
| Columna | Ejemplo | Cómo rellenarla |
|---|---|---|
| Fecha, evento, mercado, resultado | 2026-11-09, Ajax v PSV, moneyline, home | Tú |
event_id, market_id | 123456, 123456:... | De /v1/odds al apostar |
| Mi precio | 2.30 | El precio que te dio tu casa |
| Stake | 10 | Tú |
| Pinnacle al apostar | 2.22 | decimal de ese resultado |
| Fair de Pinnacle al apostar | 2.27 | fair de ese resultado |
| Cierre de Pinnacle | 2.15 | El último precio que capturaste antes del inicio |
| CLV | =G2/J2-1 | Tu precio frente al cierre |
| Resultado | ganada / perdida / nula | Tú |
Un CLV positivo sobre muchas apuestas sugiere que superas el precio de cierre; el beneficio a corto plazo dice poco en un sentido u otro.
Captura el cierre tú mismo (cualquier plan)#
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
Ejecútalo desde un programador unos minutos antes de cada hora de inicio y escribe el resultado en la columna "Cierre de Pinnacle". Los eventos desaparecen de /v1/events/{id} cuando Pinnacle deja de listarlos, así que captura antes del inicio. En Free el valor llega con 30 s de retraso.
O lee el registro de cierre guardado (Builder)#
GET /v1/closing/{eventId} devuelve el registro de cierre que PinnFeed guardó para cada mercado (requiere Builder o Pro): cuotas de cierre y CLV, informe CLV en Python.
Planes#
Free (2 deportes, 1.000 peticiones al día, 30 s de retraso) basta para registrar unas pocas apuestas al día. Builder (€99/mes) añade push en tiempo real y registros de cierre guardados. Prueba de 3 días; se requiere tarjeta y se cobra después del día 3 salvo que canceles. Configuración de la hoja: disparador de Sheets.
Contenido educativo para mayores de 18 años. Registra tus resultados con responsabilidad; nada de esto promete beneficios. En España, apuesta solo con operadores con licencia de la DGOJ.
Preguntas frecuentes#
¿El CLV debe usar el cierre justo o el bruto?#
Se usan los dos. El bruto es más simple; el justo (sin margen) quita el margen de Pinnacle. Elige uno y sé coherente.
¿Cuántas apuestas hacen falta para que el CLV signifique algo?#
Muchas: unas pocas docenas son ruido. Mira la media sobre cientos.
¿Puedo registrar precios de otras casas con PinnFeed?#
No. PinnFeed solo lleva Pinnacle; el precio de tu casa lo introduces tú.