Heuristic formula for three-outcome Kelly criterion considering p(win, loss, ruin)

April 14, 2023   

The Kelly criterion calculates the optimal wager in a two-outcome scenario.

\[f^* = \frac{p}{a} - \frac{q}{b}\]

Where \(f^*\) is the optimal portfolio allocation for probabilities of winning (\(p\)) and losing (\(q\)), and the win (\(b\)) and loss (\(a\)) fractions.

So if a stock trades at $100 and has a 60/40 shot of either climbing to $125 or falling to $75, the Kelly criterion says the optimal allocation \(f^*\) is 80% of the entire portfolio: \(f^* = \frac{0.6}{0.25} - \frac{0.4}{0.25} = 0.8\). In practice, people tend to cut this in half.

But if there is a 2% chance it goes to zero, a Monte Carlo simulation shows an optimal allocation closer to 0.39.

Heuristic to include risk of ruin and other non-binary outcomes

There isn’t a comparably simple formula to take a 2% chance of total loss into account, but this is a good approximation for a multi-outcome situation:

\[f^* \approx \frac{\mu}{\mu_2 - \mu^2}\]

Where the expected return \(\mu = \sum_{i} p_i r_i\) and the expected squared return \(\mu_2 = \sum_{i} p_i r_i^2\).

This formula’s intuition is a similar to the two-outcome version’s, since it’s also a ratio of edge to odds. The variance \(\mu_2 - \mu^2\) increases with tail risk.

I got this by irresponsibly inputting the probabilities and returns into the investment fraction formula under assumptions of geometric Brownian motion in place of a single asset’s historical behavior, and then checking it against Monte Carlo in various situations.

For example

For the same situation, take a series of probabilities \(p = [0.60, 0.38, 0.02]\) and corresponding returns \(r = [0.25, -0.25, -1.00]\) to get:

\[\mu = p \cdot r = 0.035\]


\[\mu_2 = p \cdot r^2 = 0.08125\]

so \(f^* \approx 0.4373\). Close, but not quite a perfect fit with the Monte Carlo simulation.

Closed-form representation

A simple, analytical solution feels just out of reach. The two-outcome Kelly formula isn’t terribly hard to derive from first principles, so maybe the three-outcome version isn’t that much harder.

To derive the two-outcome formula, start by taking the compound growth rate. The compound growth rate for some bet fraction \(f\) is:

\[g(f) = (1 + f b)^p \cdot (1 - f a)^q\]

where the portfolio which grows by fraction \(b\) with frequency \(p\) and decreases by fraction \(a\) with frequency \(q\). To find the bet fraction which maximizes the compound growth rate, take the first derivative \(g'(f)\), set it equal to zero, and solve for \(f\)1.

The compound growth rate for the three outcome version, with some risk of ruin \(r\), is:

\[g(f) = (1 + f b)^p \cdot (1 - f a)^q \cdot (1 - f)^r\]

Taking \(G(f) = log(g(f))\) you get

\[p log(1 + f b) + q log(1 - f a) + r log(1 - f)\]

The derivative \(G'(f)\) is:

\[\frac{p b}{1 + f b} - \frac{q a}{1 - f a} - \frac{r}{1 - f}\]

So far so good, but the final step of finding a neat formula for \(f^*(p,q,r,b,a)\) is a treacherous endeavor.

Solving for a specific parameter set

On the other hand, \(G'(f^*) = 0\) is tractable if you pass in all of the other parameters.

Revisiting the 60/38/2 example:

\[G'(f) = \frac{(0.60)(0.25)}{1 + 0.25f} - \frac{(0.38)(0.25)}{1 - 0.25f} - \frac{0.02}{1 - f}\]

Setting \(G'(f) = 0\) and solving for \(f\) is not the most pleasant thing, but you get:

\[f = \frac{93 \pm \sqrt{3049}}{100} = 0.3778 \text{ or } 1.4822\]

Madness? Maybe, but the first result is extremely close to the Monte Carlo simulation’s 0.39.


The nice thing about the two-outcome formula is that you can do it in your head.

Probably there is somebody who can solve the \(f^* \approx \frac{\mu}{\mu_2 - \mu^2}\) heuristic in their head, but the precise representation is way too much.

One way to think about it is that if you’re going to use a computer anyway, you might as well use the precise representation. On the other hand, it’s unwieldy unless the number of probabilities and outcomes is known in advance, and involves an algebra solver in any case. So the heuristic solution has a certain appeal.

Or you could just cut the two-outcome formula in half and call it a day.

  1. Take the logarithm \(G(f) = log(g(f))\) and go from there, to make the calculus easier. The maximum point for \(G(f)\) is the same as the maximum point for \(g(f)\). This has nothing to do with the supposed logarithmic subjective utility of wealth, but they are sometimes confused.