apinn.io
Todos los artículos
Riesgo9 min de lectura

¿Cuántas apuestas hacen falta para saber que tu edge es real?

Con un edge del 2% a 1.95, uno de cada tres apostadores sigue en negativo después de 500 apuestas. Aquí están las matemáticas, y lo que implican para cómo mides tus resultados.

"Estoy en −4% de ROI en 400 apuestas, mi modelo no funciona." Esa frase se dice todos los días, y la mayoría de las veces está equivocada — no porque el modelo sea bueno, sino porque 400 apuestas simplemente no pueden zanjar la pregunta.

Las apuestas deportivas tienen una relación señal-ruido pésima. Un edge del 2% vive dentro de decenas de puntos porcentuales de varianza. Antes de interpretar un resultado, necesitas saber de qué es capaz de mostrar una muestra de ese tamaño.

Las matemáticas, en tres líneas

Para apuestas a stake plano a una cuota c con probabilidad de ganar p, la ganancia por apuesta tiene una esperanza y una desviación estándar que puedes escribir directamente. La incertidumbre sobre el ROI observado se reduce con la raíz cuadrada de n — ahí es donde se decide todo.

import math

def roi_noise(odds=1.95, edge=0.02, n=400):
    p = (1 + edge) / odds                 # probabilidad de ganar implicada por el edge objetivo
    gain, loss = odds - 1, -1.0
    mean = p * gain + (1 - p) * loss      # = edge
    var = p * (gain - mean) ** 2 + (1 - p) * (loss - mean) ** 2
    return mean, math.sqrt(var / n)       # esperanza, desviación estándar del ROI observado

mean, se = roi_noise(n=400)
print(f"true edge {mean:.2%} | noise at 400 bets ±{se:.2%}")
# true edge 2.00 % | noise at 400 bets ±4.87 %

En otras palabras: con un edge real del 2%, tu ROI observado en 400 apuestas oscila en un rango de aproximadamente ±10 puntos (dos desviaciones estándar). Cualquier valor entre −8% y +12% es perfectamente compatible con el mismo modelo ganador.

Las probabilidades de mostrar pérdidas cuando todo va bien

Da vuelta a la pregunta: ¿cuál es la probabilidad de terminar con un ROI negativo después de n apuestas, dado que el edge es real? La respuesta es brutal.

from statistics import NormalDist

def p_losing(odds=1.95, edge=0.02, n=400):
    mean, se = roi_noise(odds, edge, n)
    return NormalDist(mean, se).cdf(0)    # P(ROI observado < 0)

for n in (200, 500, 1000, 2000, 5000):
    print(f"{n:>5} bets → {p_losing(n=n):.0%} chance of being down")
#   200 bets → 39 %
#   500 bets → 32 %
#  1000 bets → 26 %
#  2000 bets → 18 %
#  5000 bets → 7 %

Uno de cada tres apostadores con un edge real del 2% sigue en rojo después de 500 apuestas. Estadísticamente no hay nada que arreglar: simplemente no han jugado lo suficiente para que la señal salga a la superficie.

Estos números asumen apuestas independientes a una cuota constante. Si tomas varias selecciones correlacionadas el mismo día, o tus cuotas van de 1.3 a 5.0, la varianza real es mayor — así que necesitas todavía más apuestas.

Entonces, ¿cuántas apuestas?

Para separar un edge de cero con una confianza razonable, el edge tiene que valer al menos el doble del ruido. Con un edge del 2% a 1.95, ese ratio solo alcanza 1.6 a las 6,000 apuestas y 2.0 a las 10,000. El requisito crece con el inverso del cuadrado del edge: reduce tu edge a la mitad y cuadruplicas la muestra que necesitas.

  • Edge del 5% a 1.95: unos cientos de apuestas bastan para ver con claridad.
  • Edge del 2%: varios miles.
  • Edge del 1% en cuotas de 3.00: decenas de miles — fuera del alcance de cualquier seguimiento manual.

Mide algo distinto del resultado

La conclusión práctica no es "haz 6,000 apuestas antes de concluir", es "deja de medir lo que converge más lento". El resultado de una apuesta es una variable binaria muy ruidosa; la calidad del precio que tomaste es observable de inmediato.

  1. Distancia a la closing line: tu precio contra el último precio del mercado. Cada apuesta produce una medición, sin necesidad de esperar el resultado.
  2. Distancia a las fair odds en el momento en que apostaste: mide tu selección, independientemente de cualquier movimiento posterior.
  3. Slippage realizado: la diferencia entre el precio al que apuntabas y el precio que obtuviste. Ahí es a menudo donde desaparece el edge, no en el modelo.

Las tres comparten una virtud: no dependen de cómo terminó el partido, así que no cargan la varianza del resultado. Unos cientos de apuestas bastan para saber si tus precios son buenos — mientras que tu ROI todavía está a años de decir algo.

El resultado te dice lo que pasó. El precio te dice si tenías razón. Ambos convergen, pero no a la misma velocidad.

Fija tus umbrales en frío

Este cálculo tiene un uso preventivo: fija tus umbrales antes de la racha, no durante ella. Sabiendo que tu ROI va a oscilar en ±10 puntos, un stop-loss en −5% garantiza que matarás una estrategia saludable. El umbral tiene que situarse más allá del ruido esperado, calculado para TU edge estimado y TU volumen.

Y para estimar ese edge sin perseguir tu propia cola, no partas del ROI pasado — parte de tus precios. Reconstruir las fair odds y los precios de cierre línea por línea a lo largo de tu historial de apuestas da una estimación de edge estable que puedes alimentar en las matemáticas de arriba.

# el precio de cierre de la línea exacta que jugaste
curl -H "X-API-Key: $APINN_KEY" \
  "https://api.apinn.io/api/closing?event_id=1610000123"

# el movimiento completo, apertura → cierre, para situar tu entrada
curl -H "X-API-Key: $APINN_KEY" \
  "https://api.apinn.io/api/history?event_id=1610000123"

Un edge estimado a partir de precios, un umbral de stop calculado a partir de la varianza esperada, y un stake dimensionado para sobrevivir al rango: ese trío es lo que evita que abandones una estrategia ganadora en la apuesta 400.

Estas cuentas, con datos reales

Cuotas de Pinnacle en tiempo real con true odds incluidas, más histórico de apertura y cierre — acceso self-serve, clave API en minutos.