I'm trying to apply the Kelly Criterion to poker. Poker players have been stuck using outdated bankroll management techniques for decades, and I want to change that.
My goal is to graph the log growth of playing poker with respect to the size of your bankroll, given some edge or return distribution.
For most poker formats (MTTs, Spins, HUSnG, etc) the outcomes of each buy-in are discrete, so it's quite easy to calculate and graph the log growth for any bankroll.
For example, here's one I made for Lottery Spin & Go's which have a discrete payout structure. You can even graph multiple stakes with different returns to see when you should move up or down.
However, I'm struggling to create this graph for Cash games which have continuous, normally(ish) distributed returns.
There are many quick formulas for finding the kelly bet for normal returns. But I want to be able to graph the log growth for arbitrary bankrolls and stakes as I did in the above picture.
Here's an example. A player wins, on average, \$10 per hundred hands. Their standard deviation after 100 hands is \$100.
- µ = \$10,
- σ = \$100
Note that we can transform the mean and std dev to per one hand instead of per hundred. After a single hand, µ = \$0.10 and σ = \$10. The more hands you play, the smaller the gap between your expected returns and standard devation.
The kelly bankroll is calculated as: $\frac{µ^2 + σ^2}{µ}$ = \$1010
We can also calculate the optimal bankroll between multiple stakes. According to Mathematics of Poker:
Critical bankroll between two stakes = $\frac{σ_1^2 - σ_2^2}{2µ_1 -2µ_2} + 0.5(µ_1+µ_2)$ In other words you'd move up to the higher when your bankroll exceeded that amount.
Ok, so here's the problem. How do I calculate log growth for an arbitrary bankroll? I don't care about the risk-free return. All the formulas I've found assume you can only lose 100% of your investment, but that's not the case here. You can lose many buy-ins over the course of 100 hands. It's not clear what 'f' is.
My bad solution was to split the probability distribution into thousands of discrete chunks and solve it that way. It works but it's incredibly inefficient and requires a lot of resolution to approach the theoretical answer. Moreover, it doesn't retain the same maximum if I change the number of hands.
I'm sure there must be a better approach. Any help is appreciated!