On the wire · 14:57:57 UTC Live 125 · Prematch 8,519 · Markets 34,155 Vol. I · No. 1 · Monday 9 November 2026 wss://pinnfeed.io/v1/stream
PinnFeed
Guía · Value betting

Value betting frente a casas blandas con las cuotas justas de Pinnacle

Actualizado el · PinnFeed · 3 min de lectura

Los precios de Pinnacle son lo más parecido a una probabilidad real que tiene el mercado de apuestas. Si les quitas el margen obtienes una cuota justa; cualquier casa blanda que pague más que esa cuota ofrece una apuesta con valor esperado positivo (+EV). PinnFeed calcula la cuota justa en cada mercado, así que la cuenta se reduce a una multiplicación. +EV es un concepto estadístico a largo plazo, no una garantía de ganar.

Paso 1 — Entiende la cuota justa#

Para un mercado con cuotas decimales d_i:

implied_i  = 1 / d_i
margin     = Σ implied_i − 1
fairProb_i = implied_i / Σ implied_j        (método multiplicativo)
fair_i     = 1 / fairProb_i

Cada resultado de la API ya trae fair y fairProb, y cada mercado trae margin. También van los precios en bruto, por si prefieres aplicar tú el método de potencia o el de Shin.

Paso 2 — Calcula el valor esperado#

Si una casa blanda ofrece la cuota decimal S en un resultado cuya probabilidad justa es p:

EV = S × p − 1

Con S = 2.30 y p = 0.488 (cuota justa 2.049), el EV es +12,3%: a largo plazo esperas 12,3 céntimos por cada euro apostado. La mayoría fija un umbral del 1–3% para absorber el ruido y el tiempo que tardas en colocar la apuesta.

Paso 3 — Calcula el stake#

Kelly completo ((S·p − 1) / (S − 1)) es demasiado agresivo con probabilidades estimadas. Un cuarto de Kelly es un compromiso habitual y es lo que imprime el script.

Paso 4 — Ejecuta el script#

Rellena SOFT con las cuotas que hayas recogido de una casa blanda (a mano, de un comparador o de otra API), con los nombres de los equipos tal y como los escribe PinnFeed. Instala requests y ejecuta python value.py:

# value.py: encuentra cuotas +EV en una casa blanda usando las cuotas justas sin margen de Pinnacle.
# pip install requests
import os, requests

BASE = os.environ.get("PINNFEED_BASE", "https://pinnfeed.io")
KEY = os.environ["PINNFEED_KEY"]

# Cuotas que has recogido de una casa blanda: (local, visitante, resultado) -> cuota decimal.
SOFT = {
    ("Osasuna", "Malaga", "home"): 1.95,
    ("Colon", "Defensor Sporting", "away"): 2.30,
}
MIN_EV = 0.02  # ventaja del 2%


def kelly(price, p, fraction=0.25):
    """Stake de Kelly fraccional como parte del bankroll."""
    return max(0.0, fraction * (price * p - 1) / (price - 1))


r = requests.get(f"{BASE}/v1/odds", headers={"x-api-key": KEY},
                 params={"sport": "soccer", "market": "moneyline", "main": "true", "limit": 1000}, timeout=20)
r.raise_for_status()
for ev in r.json()["events"]:
    for m in ev["markets"]:
        for o in m["outcomes"]:
            soft = SOFT.get((ev["home"], ev["away"], o["name"]))
            if not soft:
                continue
            ev_pct = soft * o["fairProb"] - 1          # valor esperado por unidad apostada
            flag = "VALUE" if ev_pct >= MIN_EV else "no edge"
            print(f'{flag:8} {ev["home"]} v {ev["away"]} {o["name"]}: soft {soft} vs Pinnacle {o["decimal"]} '
                  f'(fair {o["fair"]:.3f}, margin {m["margin"]:.1%}) EV {ev_pct:+.1%} '
                  f'kelly/4 {kelly(soft, o["fairProb"]):.2%}')

La salida es así:

VALUE    Colon v Defensor Sporting away: soft 2.3 vs Pinnacle 1.8065 (fair 2.049, margin 13.4%) EV +12.3% kelly/4 2.36%

La llamada REST funciona en todos los planes; en Free los precios tienen 30 segundos. Para valor en directo los quieres en vivo: haz la misma comparación dentro del cliente WebSocket de la guía de Python y Node, con Builder.

Paso 5 — Contrástalo con el CLV#

A corto plazo los resultados son sobre todo varianza. La respuesta honesta más rápida es el valor de la línea de cierre: ¿el precio que cogiste batió la cuota justa de cierre de Pinnacle? La guía de CLV registra cada apuesta y la mide.

Preguntas frecuentes#

¿Por qué usar Pinnacle como referencia?#

Pinnacle trabaja con márgenes bajos y límites altos y mueve sus precios con el dinero sharp, así que su precio sin margen se usa mucho como la mejor estimación pública de la probabilidad real.

¿Qué método usa PinnFeed para quitar el margen?#

El método multiplicativo (proporcional). Cada resultado incluye las cuotas decimales y americanas en bruto, así que puedes usar otro método.

¿PinnFeed da cuotas de casas blandas?#

No. PinnFeed lleva solo Pinnacle. Combínalo con tus propias cuotas de casas blandas o con una API de varias casas como The Odds API.

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.

No password. We email you a link; click it and your key is on screen.

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