La distribución loglogística en los retornos de una jugada (II)

 Voy a dedicar esta entrada a detallar más profundamente el tercer post bajo el mismo título, ya que es posible que haya sido difícil con tan sólo lo expuesto en él, y no me gustaría que nadie se diese por vencido en un tema tan importante. Importante en el sentido, maravilloso a mi entender, de que tan sólo con dos parámetros numéricos, podemos describir toda la jugada y sus retornos.

Voy a dejar de nuevo la ecuación de la función de distribución acumulada loglogística para tenerla presente:

11+(x/α)β

Simple y poderosa. Lo que nos dice esta ecuación es la probabilidad de obtener una cifra inferior o igual en euros para la variable x. Es decir, podemos saber la "probabilidad acumulada" de nuestra jugada para, por ejemplo, 1.000€ en premios. Los 1.000 serán nuestra x, pero nos queda por averiguar los parámetros alfa y beta que describen nuestros retornos.

Debo apuntar también que si quisiésemos saber la probabilidad de obtener una cifra mayor, nos bastaría con restar a la unidad (100% en tanto por uno) la cifra que obtuviésemos de la ecuación, lo cuál sería la probabilidad acumulada inversa. Con dicha probabilidad he construído un gráfico con ayuda de Google Sheets que nos mostrará en tanto por ciento las probabilidades de retorno. 


 

El gráfico se interpreta de la siguiente forma. Para una entrada en euros de X (que se ha tranformado a porcentaje de recuperación de la jugada valorando el importe jugado) se obtiene un Y que será la probabilidad de obtener una recuperación superior a la cifra del eje horizontal. Sencillo.

En el anterior post compartí la hoja de cálculo completa que vuelvo a añadir:

https://docs.google.com/spreadsheets/d/1yn2g0sk716ZPMBKJx66aUf7aaJZe8tOOf1n4cVX0RSQ/edit?usp=sharing

Se puede entrar a visualizar el libro anterior, recordando sacar una copia al Drive personal para poder posteriormente manipularla e introducir nuestros propios parámetros alfa y beta que describirán nuestra jugada. En la imagen de arriba también he introducido un punto destacado que marca la probabilidad de recuperar un importe superior al 100% del coste. Ésto es nuestra probabilidad de "rentabilizar" la jugada en un único intento. Sin embargo es destacable que la probabilidad de rentabilizar la inversión a largo plazo depende del peso de la cola de la distribución de premios. Debemos hacer esta cola tan "pesada" como nos sea posible, elevando la probabilidades para los retornos más altos.

Los que se muevan por círculos de quinielistas, probablemente hayan oído hablar de la distribución de Pareto. La ley de Pareto nos viene a decir a grosso modo que el 20% de nuestras jugadas nos darán el 80% de nuestros retornos en premios, y que el 80% de las jugadas apenas el 20%. Pues bien, si entramos en la definición del término "loglogistic distribution" (en inglés) de la Wikipedia, veremos que en el apartado de distribuciones relacionadas, que la loglogística con parámetro beta igual a 1 coincide exactamente con la distribución generalizada de Pareto, lo que valida esa famosa máxima que algunos hemos oído con frecuencia.

Como decía anteriormente, necesitamos hallar el alfa y el beta de nuestra distribución. El método que he aplicado en este caso es el de linealizar la distribución acumulada (tal y como comenté en el anterior post), y aplicar una regresión lineal que hallaré por el método de los mínimos cuadrados.

Para linealizar la curva de la distribución debemos aplicar el logaritmo neperiano a ambos lados de la ecuación de arriba del todo. El lado derecho será nuestra probabilidad acumulada, y en principio es una incógnita, por ello aplicamos una simulación de premios. En la entrada que precede a ésta compartí el código necesario para simular una jugada miles de veces. Es un código muy sencillo en realidad. También en la entrada "La distribución binomial y el cálculo del escrutinio" compartí el método en JS para averiguar los premios de una jugada, dada una recaudación y unos porcentajes apostados. Pues bien, juntando las dos anteriores, simulador y calculadora de premios, podemos lanzar aleatorios que nos darán los valores de los premios a obtener como si jugásemos la jornada cientos de miles de veces.

Obtenidos nuestros retornos simulados para la jornada, podemos averiguar indirectamente la probabilidad acumulada para cada cifra del eje X del gráfico de la imagen. Para ello debemos ordenar las cifras de menor a mayor (eso se resuelve fácilmente en una sóla línea de código, con una función "sort"). Si tenemos 100.000 premios simulados y ordenados, tan sólo nos queda "contar" en qué posición está tal retorno, y relativizarlo contra el número total de simulaciones (100.000). Así tendremos nuestra pA, o probabilidad acumulada:

11+(x/α)β=pA

Tras agrupar, y aplicar el logaritmo a ambos lados para poder representar los valores en una recta: 

(x/α)β=1/pA1

βln(x/α)=ln(1/pA1)

βln(x)+βln(α)=ln(1/pA1)

con lo que la recta, que debe tener una forma:

mxr+b=y

así nuestra pendiente de la recta m, será:

m=β

, y nuestra x y la constante serán:

xr=ln(x)

b=βln(α)

Finalmente, con el método de los mínimos cuadrados, hallaremos la pendiente m y la constante b, ya que tanto la x sub r y la y, serán valores que podremos calcular con los datos de las simulaciones.

Para aplicar el método de los mínimos cuadrados y hallar la recta de la forma y = mx + b:

m=n(xy)xyn(x2)|x|2

b=y(x2)x(xy)n(x2)|x|2

Como apoyo para la comprensión de todo el proceso, acompaño el código de la clase del primer post:


class Loglogistica {

    constructor(listaPremios) {
        this.listaPremios = listaPremios;
    }

	getParametrosLoglogistica() {
		var tamanio = 0;
		for(var i = 0; i < this.listaPremios.length; i++) {
			if(this.listaPremios[i] > 0.0) tamanio++;
		}
		this.listaPremios.sort((a, b) => {return a - b});
		var alfa = 0.0;
		var beta = 0.0;
		var sx = 0.0;
		var sx2 = 0.0;
		var sy = 0.0;
		var sxy = 0.0;
		var n = 0.0;
		var np = 0.0;
		for(var i = 0; i < this.listaPremios.length; i++) {
			if(this.listaPremios[i] > 0.0) {
				np += 1.0;
				var x = Math.log(this.listaPremios[i]);
			    var pA = np / (tamanio + 1.0);
				var y = Math.log(1.0 / pA - 1.0);
				sx += x;
				sx2 += (x * x);
				sy += y;
				sxy += (x * y);
			}
		}
		var m = (np * sxy - sx * sy) / (np * sx2 - sx * sx);
		var b = (sy * sx2 - sx * sxy) / (np * sx2 - sx * sx);
		beta = (-1.0) * m;
		alfa = Math.exp(b / beta);
		return [alfa, beta, np / this.listaPremios.length];
	}

}

En el anterior código, adicionalmente, también da salida a la probabilidad de obtener un retorno mayor a cero, ya que para el desarrollo de todo el cálculo tan sólo se emplean los premios mayores a esa cifra.

El anterior código, y el compartido en el anterior post, es el empleado en una utilidad de navegador que comparto a continuación:

https://drive.google.com/file/d/1CC7NsZbZivAaYCHtMotjuj40eEQi51ls/view?usp=sharing

Basta ejecutar el index.html en cualquier navegador e introducir los datos de la jornada, procurando no dejar ningún campo en blanco. Recomiendo siempre revisar todos los post en PC, ya que seguir el blog en dispositivos móviles se hace imposible con el material compartido.

Si hemos introducido bien los datos, y tras pulsar el botón de cálculo (una sola vez), en unos segundos tendremos nuestros parámetros personales. Podemos introducirlos en la hoja de cálculo y observar la curva y los valores para cada retorno, pero sobretodo recomiendo "jugar" manualmente con los parámetros alfa y beta, y observar cómo cambia la curva con cada valor. Preferiblemente se necesitarán betas bajas y alfas altas para obtener jugadas competentes, y que nos ofrezcan beneficios en el largo plazo. 

En un futuro post, continuaré con la curva de la loglogística, y contaré cómo también a partir de la misma, se puede deducir la esperanza matemática de la jugada y las recuperaciones al largo plazo mediante su integración numérica.

Espero que las posibles dudas se hayan aclarado. Recuerdo en todo caso que en redes se me puede consultar cualquier cosa o duda (a ser posible que no se me requiera volver a explicar otra vez todo, y que sea algo puntual). Saludos y suerte.

Comentarios

Entradas populares de este blog

La entropía condicional

Herramienta EM

Herramienta de análisis