On the wire · 04:59:14 UTC Live 568 · Prematch 14,387 · Markets 56,869 Vol. I · No. 5 · Friday 13 November 2026 wss://pinnfeed.io/v1/stream
PinnFeed
Respuesta · CLV · Hoja de cálculo

Hoja de registro de apuestas con CLV

Actualizado el · PinnFeed · 2 min de lectura

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#

ColumnaEjemploCómo rellenarla
Fecha, evento, mercado, resultado2026-11-09, Ajax v PSV, moneyline, homeTú
event_id, market_id123456, 123456:...De /v1/odds al apostar
Mi precio2.30El precio que te dio tu casa
Stake10Tú
Pinnacle al apostar2.22decimal de ese resultado
Fair de Pinnacle al apostar2.27fair de ese resultado
Cierre de Pinnacle2.15El último precio que capturaste antes del inicio
CLV=G2/J2-1Tu precio frente al cierre
Resultadoganada / perdida / nulaTú

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ú.

El plan WebSocket: Builder, 99 €/mes.

Cuotas de Pinnacle en tiempo real por un único WebSocket: los 13 deportes, todos los mercados, cuotas justas sin margen y cuotas de cierre. 3 días gratis y cancelas con un clic.

Form K-1 · Free API key

Get your free API key.

One field. No password, no card: enter your email, click the link we send, and your key is on screen.

By continuing you agree to the Terms and Privacy Policy.

One free key per email. Link valid for 20 minutes.