22 votos

Criterio de Kelly con más de dos resultados

Quiero calcular el Kelly de la apuesta para un evento con más de dos resultados posibles. Suponga que el siguiente juego:

Un frasco contiene $10$ jelly beans. Hay $7$ negro de las habas de jalea, $2$ azul jelly beans, y $1$ rojo jelly bean. El jugador apuesta a $x$ y agarra una sola jelly bean al azar de la bolsa. Las liquidaciones son tales:

  • Negro Jelly Bean: ninguna liquidación (es decir, simplemente pierde apuesta cantidad $x$)
  • Blue Jelly Bean: net probabilidades recibido en la apuesta = $10$
  • Rojo Jelly Bean: net probabilidades recibido en la apuesta = $30$

En esencia, la única manera de perder la apuesta es agarrar un negro jelly bean (es decir,$q = 0.7$). Pero la red de probabilidades recibido en la apuesta sigue dependiendo de si el jugador agarra un azul ($b = 10$) o rojo ($b = 30$) jelly bean.

¿Cómo puedo calcular el Kelly de la apuesta para este juego?


Es correcto calcular simplemente el Kelly de la apuesta para cada resultado positivo y, a continuación, encontrar la media ponderada de la final de la apuesta? Por ejemplo:

$$x_b = \frac{10\times0.2 - 0.8}{10} = 0.12$$

$$x_r = \frac{30\times0.1 - 0.9}{30} = 0.07$$

$$x = \frac{0.12\times0.2 + 0.07\times0.1}{0.2 + 0.1} \approx 0.103$$

Por lo que la cantidad a apostar sería el 10,3% de los fondos.

O debería en cambio, he encontrado el promedio ponderado de la red probabilidades recibido en la apuesta y, a continuación, calcula el Kelly de la apuesta basada en la ganancia de resultados como un todo (es decir,$p = 0.1 + 0.2 = 0.3$)? Por ejemplo:

$$b = \frac{10\times0.2 + 30\times0.1}{0.2 + 0.1} \approx 16.7$$

$$x = \frac{16.7\times0.3 - 0.7}{16.7} \approx 0.258 $$

Por lo que la cantidad a apostar sería el 25,8% de los fondos.

19voto

Chris Benard Puntos 1430

Volver a la derivación del criterio de Kelly: Supongamos que usted tiene $n$ de los resultados, que ocurren con probabilidades $p_1$, $p_2$, ..., $p_n$. Si el resultado $i$ sucede, de multiplicar su apuesta por $b_i$ (y volver a la apuesta original). Así que para usted, $(p_1, p_2, p_3) = (0.7, 0.2, 0.1)$$(b_1, b_2, b_3) = (-1, 10, 30)$.

Si usted tiene $M$ dólares de apuesta y de $xM$ dólares, entonces el valor esperado para el registro de sus fondos en el paso siguiente es $$\sum p_i \log((1-x) M + x M + b_i x M) = \sum p_i \log (1+b_i x) + \log M.$$ Desea maximizar $\sum p_i \log(1+b_i x)$. (Consulte la mayoría de los debates sobre el criterio de Kelly de por qué esta es la cosa correcta para maximizar, por ejemplo, este uno.)

Así que queremos $$\frac{d}{dx} \sum p_i \log(1+b_i x) =0$$ o $$\sum \frac{p_i b_i}{1+b_i x} =0.$$

No veo una fórmula simple para la raíz de esta ecuación, pero cualquier sistema de álgebra computacional se obtiene una buena respuesta numérica. En tu ejemplo, lo que queremos es maximizar $$f(x) = 0.7 \log(1-x) + 0.2 \log(1+10 x) + 0.1 \log (1+30 x)$$ enter image description here

Me sale que el óptimo se produce en$x=0.248$,$f(0.248) = 0.263$. En otras palabras, si usted apuesta un poco menos de una cuarta parte de sus fondos, usted debe esperar que su bankroll a crecer en promedio por $e^{0.263} = 1.30$ por cada apuesta.

5voto

Daniel P. Puntos 13

David Speyer proporciona una excelente respuesta que realmente me ayudó a salir durante un proyecto, y pensé que como gracias me podría proporcionar el código que genera el uso de su enfoque. Incluido en el código es un método para resolver el porcentaje correcto de usar el método de Newton y es muy rápido. Es codificado en MATLAB, y si bien en la actualidad el formato como una secuencia de comandos, al comentar la definición de matCurr (que utiliza los valores definidos para esta pregunta) y descomentar la definición de la función se tiene que operar como una función. También comentó que en el fondo es la capacidad de la gráfica de ln(de crecimiento) en términos de porcentaje de la apuesta, como también David se demostró anteriormente:

% function valPercent = funcKellyCriterionThroughNewton(matCurr)
% Peirano, Daniel
% djpeirano@gmail.com

% This function will get argument matCurr as defined in
% scriptOptimalTourney so that the first column defines b and the second
% column defines p.  Using the equation defined at
% http://math.stackexchange.com/questions/662104/kelly-criterion-with-more-than-two-outcomes
% combined with Newton's approach, an attempt will be made to solve for 0
% which should be the location of the maximum pay out. 

% Checks for sum of percent greater than 1, and if the matrix isn't
% profitable will also be done.


% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % Debugging
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 
% clearvars -except matCurr

matCurr = [-1, .7; 10, .2; 30, .1];

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Constants
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
valThreshold = 0.000001;
valInitialValue = 0.25;


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Code
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Normalize the percentage to 1
if sum(matCurr(:,2)) ~= 1
    matCurr(:,2) = matCurr(:,2) / sum(matCurr(:,2));
end

% Check if the matrix is even profitable
if sum(prod(matCurr, 2)) <= 0
    valPercent = 0;
    return
end

valPast = 0;
valNext = valInitialValue;
%[b p]
b = matCurr(:,1);
p = matCurr(:,2);

boolBump = 0;
while abs(valPast-valNext) > valThreshold
    valPast = valNext;


    valNumerator = sum(p.*b./(1+b*valPast));
    valDenominator = sum(-b.^2.*p./(1+b*valPast).^2);

    valNext = valPast - valNumerator/valDenominator;

    if valNext < 0 && ~boolBump     %Only bump it once
        valNext = 0;
        boolBump = 1;
    end
end

valPercent = valNext;

% x=linspace(0,1,1000);
% y=zeros(size(x));
% for i=1:length(x)
%     y(i) = sum(p.*log(1+b.*x(i)));
% end
% 
% plot(x,y)

1voto

user123981 Puntos 56

Si $\sum_{i=1}^{n} p_ib_i$ es lo suficientemente cercano a cero, entonces una buena aproximación a la solución de $x$ de la ecuación de $\sum_{i=1}^{n}p_ib_i/(1+xb_i)$ está dada por la relación de la ventaja esperada y la varianza de la ventaja. Es decir, $x$ está dado aproximadamente por $\sum_{i=1}^{n}p_ib_i$ dividido por la diferencia de $\sum_{i=1}^{n}p_ib_i^2$$(\sum_{i=1}^{n}p_ib_i)^2$. Sin embargo, la condición no se cumple en este ejemplo concreto.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X