Reto NBA y LNFS

Como he comentado en el blog de los retos, no he podido sacar nada en claro con los datos del tenis, así que sintiéndolo mucho no voy a hacer ningún reto de este deporte y para no aburrirme he vuelto a mi querida NBA, con un reto de OVER/UNDER que me gusta bastante (ayer empezamos de forma espectacular) y otro que tiene también muy buena pinta el de la LNFS

El de la NBA es un reto diario, mientras que el de futbol sala es semanal. Un poco de todo. Espero que nos vaya bastante mejor que con el último de la NFL.

Manejo de datos en Excel: Ejemplo BetExplorer (2)

En la anterior entrada ya vimos como podíamos aprovechar los datos de una web como betexplorer y organizarlos para que puedan ser tratados más fácilmente. Al final obtuvimos una tabla de partidos, equipos y resultados similar a esta:


A la izquierda de la tabla pegabamos los datos de Betexplorer y a la derecha los teníamos ordenados. Pero para completar nuestra base de datos nos falta una parte muy importante: las variables de entrada. Estas variables son las que representan al conjunto de datos disponibles ANTES de que el partido se haya jugado, es decir, necesitamos algo así:


Esto lo podíamos haber hecho tomando los datos jornada tras jornada antes de los partidos. Pero también lo podemos hacer partiendo de los datos de betexplorer. No es demasiado complicado, pero debemos ser cuidadosos con las fórmulas. Vamos con ello. Empezaremos por lo más sencillo que es calcular la cantidad de partidos que se han jugado y para ello usaremos la función =contrar.si().


Dos cosas importantes que tengo que destacar, la primera es que en la fórmula tenemos un rango en el que la celda inicial es una referencia absoluta (los valores están entre $) y la final es una referencia relativa. Esto es así para que cuando 'arrastremos' esta fórmula a toda la tabla, el rango de la fórmula SIEMPRE empiece en la primera fila. La segunda es que las fechas o las jornadas deben ir de menor a mayor, es decir, las primeras filas de la tabla serán las primeras jornadas y la tabla se irá rellenando hacia abajo con nuevos partidos y nuevas jornadas.

Una vez dicho esto lo siguiente que debemos hacer es calcular la cantidad de goles anotados y encajados. En este caso vamos a usar la función =sumar.si(), que tiene tres parámetros, el primero es el rango inicial donde se buscan los datos, el segundo es el criterio de búsqueda, y el tercero es el rango que queremos sumar.


Por último vamos a calcular los partidos ganados, perdidos y empatados. Para este cálculo necesitamos hacer un paso intermedio, y crear tres columnas una para cada resultado que llenaremos de unos y ceros en función del resultado del partido. Esto lo haremos con la función =si(condicion; valor si verdadero; valor si falso) de la siguiente forma.


Una vez tenemos estas columnas creadas, utilizaremos otra vez la función =sumar.si() para calcular los tres datos que nos faltan, de la misma manera que hemos hecho con los goles a favor y en contra.

Con esto habremos terminado la tabla para el equipo de casa, para el equipo de fuera se opera de forma similar teniendo en cuenta que los goles a favor son los que mete el equipo de fuera y que los partidos ganados son los que aparecen en la columna con un '2' de encabezado.

Estas funciones de excel son muy potentes y nos pueden ser de gran ayuda, pero tienen una limitación muy importante, y es que son MUY EXTRICTAS. Para estas funciones no es lo mismo Real Madrid que R. Madrid, o incluso peor todavía, diferencian entre cosas como Almería y Almeria (sin acento), incluso un espacio de más entre dos palabras o al principio/final del nombre del equipo hace que para Excel esos datos sean diferentes también. Para evitar, en lo posible, estos problemas aconsejo dos cosas, la primera es tomar los datos SIEMPRE DE LA MISMA PAGINA y segundo usar la función =blancos(), que nos elimina estos fastidiosos espacios innecesarios.

No me quiero extender más en este post, así que si alguien tiene alguna pregunta o necesita alguna explicación más no tiene más que añadir un comentario al post.

Movimiento de cuotas

Las cuotas que nos ofrecen las diferentes casas de apuestas, evidentemente, no están colocadas a la ligera, porque como ya hemos visto en una entrada anterior existe una relación inversa entre cuota y probabilidad. El bookie, antes de ofrecer las cuotas ha tenido que hacer sus cálculos y simulaciones para estimar la probabilidad de cada uno de los posibles resultados, y en función de esa probabilidad ofrece sus cuotas.

Tomemos por ejemplo el partido del Arsenal contra el Liverpool del próximo dia 10 de Febrero. En Betexplorer tenemos que las cuotas ofertadas son:



Haciendo los cálculos expuestos en el otro artículo podemos estimar que la probabilidad asociadas a estas cuotas son:

  • Victoria del Arsenal: 45.3%
  • Empate: 28.6%
  • Victoria del Liverpool: 26.1%

Si el reparto de dinero por cada uno de los tres resultados fuese idéntico a las probabilidades asociadas, la casa idependientemente del resultado ingresaría 45.3+28.6+26.1 = 100 uds, mientras que repartiría 2.06 x 45.3 = 93.318 uds si vence el Arsenal, 3.58 x 26.1 = 93.438 si lo hace el Liverpoool y 3.26 x 28.6 = 93.236 si el partido queda en tablas. Es decir repartiría unas 93 uds por cada 100 ingresadas. La casa tendría una ganancia del 7%.

El problema aparece cuando el reparto de dinero apostado no corresponde con las probabilidades asociadas. Vamos a suponer que el reparto de dinero corresponde a la distribución de picks que hemos visto en la imagen de betexplorer: 64% para el 1, 18% para la X y 18% para el 2. Si la casa mantiene las cuotas los resultados esperados de pagos serían:

  • Victoria del Arsenal: 2.06 x 64 = 131.84
  • Empate: 3.26 x 18 = 58.68
  • Victoria del Liverpool: 3.58 x 18 = 64.44

Con esta nueva distribución del dinero apostado, por cada 100 uds ingresadas, las devoluciones varían mucho en función del resultado final del partido. Pasan de perder 31.84 uds si el partido lo gana el Arsenal a ganar unas 40 uds en cualquiera de los otros dos resultados. Esta situación no es nada cómoda para la casa porque no suele gustarle demasiado 'jugar' con el dinero, y prefieren situaciones mejor balanceadas. Para conseguirlo lo que harán será mover las cuotas para atraer más dinero a las dos opciones menos favorecidas y reducir las cantidades apostadas en la opción preferida por los apostantes.

Este proceso de ajuste que se hace de forma continua y es común a todos las casas, es muy beneficioso para los apostantes ya que provoca situaciones de 'apuestas seguras' (surebets) y/o apuestas con valor (value bets).

En las apuestas con handicap y en los over unders, en lugar de mover las cuotas se suele optar por otra opción: mover las líneas. Si en un partido de baloncesto se ha colocado un hándicap para el equipo de casa de -5.5 puntos y la distribución de apuestas no es del 50-50 como cabría esperar sino que la mayoría de apostantes han optado por el handicap a favor del visitante (+5.5) lo que hará la casa en esta situación será bajar el handicap del visitante y colocarlo en +4.5 por ejemplo. La finalidad es la misma que la del ejemplo de fúbol pero con la ventaja de que en este caso no se proporcionan surebets a los apostantes, aunque las value bets siguen estando presentes.