What is it? Why is it interesting?

Consider a toy example of a gamble. Someone offers you a game where a fair coin will be tossed: you will win 70% of the money you bet when heads comes up and lose 60% of the money you bet when tails comes up. Furthermore, you are offered the opportunity to play this game many times, although not arbitrarily often, say just once a day. Intuitively, this gamble seems favorable, especially when you are allowed to play it repeatedly. However, it becomes trickier when you ask yourself questions like, “How much of my total wealth should I bet?” and “What is the best strategy to maximize my long-term wealth, say over 10 years?” The Kelly Criterion provides the answer to these questions!

Every symbol in the formulas is underlined with dots. Hover over it, or tap it on a phone, to see what it stands for.

To fully answer those questions, we need a few definitions and a bit of terminology (trust me, it will be worth the pain).

Let \(\tip{a}{gain per unit of staked wealth on a win} > 0\) be the gain per unit of staked wealth on a win, and let \(0 < \tip{b}{loss per unit of staked wealth on a loss} \leq 1\) be the loss per unit of staked wealth on a loss. Furthermore, let \(0 < \tip{p}{probability of winning a round} < 1\) be the probability of winning. Then each gamble can be categorized as follows:

  • Fair if \(\tip{a}{gain per unit of staked wealth on a win} \cdot \tip{p}{probability of winning a round} = \tip{b}{loss per unit of staked wealth on a loss} \cdot (1 - \tip{p}{probability of winning a round})\) .
  • You have an edge if \(\tip{a}{gain per unit of staked wealth on a win} \cdot \tip{p}{probability of winning a round} > \tip{b}{loss per unit of staked wealth on a loss} \cdot (1 - \tip{p}{probability of winning a round})\) .
  • You have a negative edge if \(\tip{a}{gain per unit of staked wealth on a win} \cdot \tip{p}{probability of winning a round} < \tip{b}{loss per unit of staked wealth on a loss} \cdot (1 - \tip{p}{probability of winning a round})\) .

Next, we introduce the fraction \(0 \leq \tip{f}{fraction of your wealth you bet each round} < \frac{1}{\tip{b}{loss per unit of staked wealth on a loss}}\) of your current wealth that you want to gamble. (Note: the upper bound \(1/\tip{b}{loss per unit of staked wealth on a loss}\) ensures \(1 - \tip{b}{loss per unit of staked wealth on a loss}\tip{f}{fraction of your wealth you bet each round} > 0\) so that log-returns remain finite; at exactly \(\tip{f}{fraction of your wealth you bet each round}=1/\tip{b}{loss per unit of staked wealth on a loss}\) a loss takes you to zero.)

To simplify the notation, whenever you bet a fraction \(\tip{f}{fraction of your wealth you bet each round}\) of your wealth:

\[ \tip{a_f}{gain on a win when you bet the fraction f} = \tip{a}{gain per unit of staked wealth on a win} \cdot \tip{f}{fraction of your wealth you bet each round}, \quad \tip{b_f}{loss on a loss when you bet the fraction f} = \tip{b}{loss per unit of staked wealth on a loss} \cdot \tip{f}{fraction of your wealth you bet each round}\]

Now suppose you repeat this game many times (potentially indefinitely). Denote your wealth at time \(\tip{t}{number of rounds played so far}\) by \(\tip{X_t}{your wealth after t rounds}\) . This can be defined by

\[ \tip{X_{t+1}}{your wealth after round t+1} := \tip{X_t}{your wealth after t rounds} \cdot \tip{r_{t+1}}{growth factor of round t+1: what your wealth gets multiplied by}, \]

where the \(\tip{r_t}{growth factor of round t: what your wealth gets multiplied by}\) are i.i.d. and given by

\[ \tip{r_t}{growth factor of round t: what your wealth gets multiplied by} = \begin{cases} 1 + \tip{a_f}{gain on a win when you bet the fraction f} \text{ with probability } \tip{p}{probability of winning a round}, \\ 1 - \tip{b_f}{loss on a loss when you bet the fraction f} \text{ with probability } 1 - \tip{p}{probability of winning a round}. \end{cases} \]

A key question is:

\[ \text{Which } \tip{f}{fraction of your wealth you bet each round} \text{ maximizes } \tip{X_t}{your wealth after t rounds}(\tip{f}{fraction of your wealth you bet each round}) \text{ in the long run?}\]

A naive approach would be to look at the expected value \(\tip{E}{expected value: average over all possible outcomes}[\tip{X_t}{your wealth after t rounds}(\tip{f}{fraction of your wealth you bet each round})]\) and choose \(\tip{f}{fraction of your wealth you bet each round}\) to maximize this expectation:

\[ \arg\max_{\tip{f}{fraction of your wealth you bet each round}} \tip{E}{expected value: average over all possible outcomes}[\tip{X_t}{your wealth after t rounds}(\tip{f}{fraction of your wealth you bet each round})]\]

To see why this might lead to problems, we show that maximizing the expected value leads to always betting everything if we have an edge. If you bet fraction \(\tip{f}{fraction of your wealth you bet each round}\) of your wealth on this gamble, then:

  • With probability \(\tip{p}{probability of winning a round}\) , your new wealth is \(\tip{X_0}{your starting wealth} \cdot (1 + \tip{a_f}{gain on a win when you bet the fraction f})\) .
  • With probability \(1 - \tip{p}{probability of winning a round}\) , your new wealth is \(\tip{X_0}{your starting wealth} \cdot (1 - \tip{b_f}{loss on a loss when you bet the fraction f})\) .

Taking the expectation of one bet and compounding it over \(\tip{t}{number of rounds played so far}\) independent rounds gives

\[ \tip{E}{expected value: average over all possible outcomes}[\tip{X_t}{your wealth after t rounds}] = \tip{X_0}{your starting wealth} \bigl[1 + \tip{f}{fraction of your wealth you bet each round} \cdot \bigl(\tip{p}{probability of winning a round} \cdot \tip{a}{gain per unit of staked wealth on a win} - (1 - \tip{p}{probability of winning a round}) \cdot \tip{b}{loss per unit of staked wealth on a loss}\bigr)\bigr]^{\tip{t}{number of rounds played so far}}\]
Step-by-step expectation

The expected wealth after one bet is:

\[ \tip{E}{expected value: average over all possible outcomes}[\tip{X_1}{your wealth after one round}] = \tip{p}{probability of winning a round} \cdot \tip{X_0}{your starting wealth} \cdot (1 + \tip{a_f}{gain on a win when you bet the fraction f}) + (1 - \tip{p}{probability of winning a round}) \cdot \tip{X_0}{your starting wealth} \cdot (1 - \tip{b_f}{loss on a loss when you bet the fraction f})\]

Factoring out \(\tip{X_0}{your starting wealth}\) gives:

\[ \tip{E}{expected value: average over all possible outcomes}[\tip{X_1}{your wealth after one round}] = \tip{X_0}{your starting wealth} \left[ \tip{p}{probability of winning a round} \cdot (1 + \tip{a_f}{gain on a win when you bet the fraction f}) + (1 - \tip{p}{probability of winning a round}) \cdot (1 - \tip{b_f}{loss on a loss when you bet the fraction f}) \right]\]

Combine the terms inside the brackets:

\[ \tip{p}{probability of winning a round} \cdot (1 + \tip{a_f}{gain on a win when you bet the fraction f}) + (1 - \tip{p}{probability of winning a round}) (1 - \tip{b_f}{loss on a loss when you bet the fraction f}) = \tip{p}{probability of winning a round} + \tip{p}{probability of winning a round} \cdot \tip{a_f}{gain on a win when you bet the fraction f} + (1 - \tip{p}{probability of winning a round}) - (1 - \tip{p}{probability of winning a round}) \cdot \tip{b_f}{loss on a loss when you bet the fraction f} = 1 + \tip{f}{fraction of your wealth you bet each round} \bigl[\tip{p}{probability of winning a round} \cdot \tip{a}{gain per unit of staked wealth on a win} - (1 - \tip{p}{probability of winning a round}) \cdot \tip{b}{loss per unit of staked wealth on a loss}\bigr]\]

Since the rounds are independent and each multiplies wealth by the same expected factor, the \(\tip{t}{number of rounds played so far}\) -round expectation is that bracket raised to the power \(\tip{t}{number of rounds played so far}\) .

As a function of \(\tip{f}{fraction of your wealth you bet each round}\) (over the interval \(0 \leq \tip{f}{fraction of your wealth you bet each round} \leq \frac{1}{\tip{b}{loss per unit of staked wealth on a loss}}\) ), this is a monotone expression. Consequently we can see that:

  • If \(\tip{p}{probability of winning a round} \cdot \tip{a}{gain per unit of staked wealth on a win} > \tip{b}{loss per unit of staked wealth on a loss} \cdot (1 - \tip{p}{probability of winning a round})\) , then the coefficient of \(\tip{f}{fraction of your wealth you bet each round}\) is positive, and \(\tip{E}{expected value: average over all possible outcomes}[\tip{X_t}{your wealth after t rounds}]\) is maximized by choosing the largest possible \(\tip{f}{fraction of your wealth you bet each round}\) , meaning \(\tip{f}{fraction of your wealth you bet each round} = \frac{1}{\tip{b}{loss per unit of staked wealth on a loss}}\) (i.e., bet everything and even take leverage if possible).
  • If \(\tip{p}{probability of winning a round} \cdot \tip{a}{gain per unit of staked wealth on a win} < \tip{b}{loss per unit of staked wealth on a loss} \cdot (1 - \tip{p}{probability of winning a round})\) , the coefficient of \(\tip{f}{fraction of your wealth you bet each round}\) is negative, so the maximum occurs at \(\tip{f}{fraction of your wealth you bet each round} = 0\) (i.e., do not bet at all).
  • If \(\tip{p}{probability of winning a round} \cdot \tip{a}{gain per unit of staked wealth on a win} = \tip{b}{loss per unit of staked wealth on a loss} \cdot (1 - \tip{p}{probability of winning a round})\) , any \(\tip{f}{fraction of your wealth you bet each round} \in [0, \frac{1}{\tip{b}{loss per unit of staked wealth on a loss}}]\) yields the same expected wealth.

However, if you keep risking losing everything at each bet whenever \(\tip{p}{probability of winning a round} \cdot \tip{a}{gain per unit of staked wealth on a win} > \tip{b}{loss per unit of staked wealth on a loss} \cdot (1 - \tip{p}{probability of winning a round})\) , then with certainty you are going to go broke in the long run. This is analogous to the St. Petersburg paradox: maximizing expected value of a repeated multiplicative gamble can lead to ruin.


A more sophisticated approach is to optimize the Exponential Rate of Growth of your wealth \(\tip{X_t}{your wealth after t rounds}(\tip{f}{fraction of your wealth you bet each round}).\) Formally, we look for

\[ \arg\max_{\tip{f}{fraction of your wealth you bet each round}} \tip{G}{exponential growth rate of your wealth per round}(\tip{f}{fraction of your wealth you bet each round}),\]

where

\[ \tip{G}{exponential growth rate of your wealth per round}(\tip{f}{fraction of your wealth you bet each round}) := \lim_{\tip{t}{number of rounds played so far} \to \infty} \frac{1}{\tip{t}{number of rounds played so far}} \log \Bigl(\frac{\tip{X_t}{your wealth after t rounds}(\tip{f}{fraction of your wealth you bet each round})}{\tip{X_0}{your starting wealth}}\Bigr)\]

Assume that, out of \(\tip{t}{number of rounds played so far}\) independent trials, \(\tip{W}{number of rounds won}\) are wins and \(\tip{L}{number of rounds lost}\) are losses (with \(\tip{W}{number of rounds won} + \tip{L}{number of rounds lost} = \tip{t}{number of rounds played so far}\) ). Each win multiplies the current wealth by \((1 + \tip{a_f}{gain on a win when you bet the fraction f})\) , while each loss multiplies it by \((1 - \tip{b_f}{loss on a loss when you bet the fraction f})\) . Therefore:

\[ \tip{X_t}{your wealth after t rounds}(\tip{f}{fraction of your wealth you bet each round}) = (1 + \tip{a_f}{gain on a win when you bet the fraction f})^\tip{W}{number of rounds won} \cdot (1 - \tip{b_f}{loss on a loss when you bet the fraction f})^\tip{L}{number of rounds lost} \cdot \tip{X_0}{your starting wealth}\]

Taking logarithms leads to:

\[ \tip{G}{exponential growth rate of your wealth per round}(\tip{f}{fraction of your wealth you bet each round}) = \lim_{\tip{t}{number of rounds played so far}\to\infty} \Bigl[\frac{\tip{W}{number of rounds won}}{\tip{t}{number of rounds played so far}} \log \bigl(1 + \tip{a_f}{gain on a win when you bet the fraction f}\bigr) + \frac{\tip{L}{number of rounds lost}}{\tip{t}{number of rounds played so far}} \log \bigl(1 - \tip{b_f}{loss on a loss when you bet the fraction f}\bigr)\Bigr]\]

and noting that \(\tip{W}{number of rounds won}/\tip{t}{number of rounds played so far} \to \tip{p}{probability of winning a round}\) and \(\tip{L}{number of rounds lost}/\tip{t}{number of rounds played so far} \to (1 - \tip{p}{probability of winning a round})\) as \(\tip{t}{number of rounds played so far} \to \infty\) , we get (under i.i.d. assumptions and by the strong law / ergodic theorem):

\[\tip{G}{exponential growth rate of your wealth per round}(\tip{f}{fraction of your wealth you bet each round}) = \tip{p}{probability of winning a round} \log \bigl(1 + \tip{a_f}{gain on a win when you bet the fraction f}\bigr) + (1 - \tip{p}{probability of winning a round}) \log \bigl(1 - \tip{b_f}{loss on a loss when you bet the fraction f}\bigr)\]

To find the optimal fraction \(\tip{f}{fraction of your wealth you bet each round}\) (the Kelly fraction), we set the derivative of \(\tip{G}{exponential growth rate of your wealth per round}(\tip{f}{fraction of your wealth you bet each round})\) with respect to \(\tip{f}{fraction of your wealth you bet each round}\) to zero and solve for \( \tip{f}{fraction of your wealth you bet each round} \) . The result is:

\[ \tip{f_{\text{Kelly}}}{Kelly fraction: the bet size that maximises long-run growth} = \frac{\tip{p}{probability of winning a round}}{\tip{b}{loss per unit of staked wealth on a loss}} - \frac{1 - \tip{p}{probability of winning a round}}{\tip{a}{gain per unit of staked wealth on a win}}\]

Since \(\tip{G''}{second derivative of the growth rate (its curvature)}(\tip{f}{fraction of your wealth you bet each round}) < 0\) on \(0 \le \tip{f}{fraction of your wealth you bet each round} < 1/\tip{b}{loss per unit of staked wealth on a loss}\) , the growth rate is strictly concave, so this maximizer is unique; if \(\tip{f_{\text{Kelly}}}{Kelly fraction: the bet size that maximises long-run growth} \le 0\) the constrained optimum is \(\tip{f}{fraction of your wealth you bet each round}^\star = 0\) .

Second derivative
\[ \tip{G''}{second derivative of the growth rate (its curvature)}(\tip{f}{fraction of your wealth you bet each round})=-\frac{\tip{p}{probability of winning a round}\tip{a}{gain per unit of staked wealth on a win}^2}{(1+\tip{a}{gain per unit of staked wealth on a win}\tip{f}{fraction of your wealth you bet each round})^2}-\frac{(1-\tip{p}{probability of winning a round})\tip{b}{loss per unit of staked wealth on a loss}^2}{(1-\tip{b}{loss per unit of staked wealth on a loss}\tip{f}{fraction of your wealth you bet each round})^2}<0 \]

Both terms are strictly negative for every \(0 \le \tip{f}{fraction of your wealth you bet each round} < 1/\tip{b}{loss per unit of staked wealth on a loss}\) , so \(\tip{G}{exponential growth rate of your wealth per round}\) is strictly concave on its whole domain and can have at most one interior maximum.

If you do not have an edge, i.e. if

\[ \tip{p}{probability of winning a round} \cdot \tip{a}{gain per unit of staked wealth on a win} \le \tip{b}{loss per unit of staked wealth on a loss} \cdot (1 - \tip{p}{probability of winning a round}),\]

then \(\tip{f_{\text{Kelly}}}{Kelly fraction: the bet size that maximises long-run growth} \le 0\) , meaning you should not bet at all. Conversely, when you do have an edge (\(\tip{p}{probability of winning a round} \cdot \tip{a}{gain per unit of staked wealth on a win} > \tip{b}{loss per unit of staked wealth on a loss} \cdot (1 - \tip{p}{probability of winning a round})\) ), the Kelly criterion gives a positive fraction to bet, balancing the risk of ruin against potential growth to maximize your wealth’s long-term growth rate.

Below I show a plot for the parameters \( \tip{p}{probability of winning a round}=0.7,\ \tip{a}{gain per unit of staked wealth on a win} = 1.5,\ \tip{b}{loss per unit of staked wealth on a loss} = 0.95 \) , which are deliberately more favourable than the coin-flip we opened with; dial the sliders to \(\tip{p}{probability of winning a round} = 0.5\) , \(\tip{a}{gain per unit of staked wealth on a win} = 0.7\) , \(\tip{b}{loss per unit of staked wealth on a loss} = 0.6\) to recover that example. Please notice that even if you bet everything in this favorable game your growth rate can become negative if you risk all your wealth on a single bet!

Interactive live plot, not a static image. Drag the sliders below to reshape the curve.
0.70
1.50
0.95
f_Kelly = 0.537 → G(f_Kelly) = 0.1995

History

One might assume that ideas like the Kelly Criterion would naturally emerge in the context of investing or casino gambling. However, its first rigorous derivation arose from a somewhat different problem.

In 1956, J. L. Kelly Jr., a researcher at Bell Labs, studied gambling with side information conveyed over a noisy channel. He showed that maximizing expected log capital growth yields a long‑run growth rate equal to the mutual information rate between the side information and outcomes; the optimal bets use the conditional probabilities given that information. This establishes a clean bridge from Shannon’s channel capacity to optimal capital growth in uncertain environments. For more details, see Kelly’s original paper, “A New Interpretation of Information Rate” (link below).

Ergodicity (‑breaking)

This section can be skipped without losing much information about the Kelly Criterion. Nevertheless I included it, because I think that ergodicity, though not directly connected to the Kelly Criterion, is closely related and even a generalization of the phenomenon where the arithmetic properties of a random process differ from the geometric ones. In particular, it sheds light on the distinction between an ensemble and a single realization of a process.

Informally, a random process \( \tip{X_t}{value of the random process at time t} \) is called ergodic if its time average of any well-behaved function equals the corresponding ensemble average (expectation). In discrete time, this often appears as:

\[ \lim_{\tip{T}{length of the time window we average over} \to \infty} \frac{1}{\tip{T}{length of the time window we average over}} \sum_{\tip{t}{number of rounds played so far}=1}^{\tip{T}{length of the time window we average over}} \tip{g}{any function of the process}\bigl(\tip{X_t}{value of the random process at time t}\bigr) = \tip{\mathbb{E}}{expected value: average over all possible outcomes}\bigl[\tip{g}{any function of the process}(\tip{X_t}{value of the random process at time t})\bigr], \]

for any integrable function \(\tip{g}{any function of the process}\) . Equivalently, “time averages” along one infinitely long sample path converge to the “ensemble average” across all possible sample paths.

A non-ergodic process is one where at least one function \(\tip{g}{any function of the process}\) violates the above equality, meaning the time average and the ensemble average do not match.


Next we look at a toy example of an ergodic process: the simple coin flip. At each discrete step \( \tip{t}{number of rounds played so far} \) , flip a coin which lands with \( 60\% \) heads up and \( 40\% \) tails up. If it lands on heads, you win \( +1 \) and if it lands on tails, you lose \( -1 \) . This means you have a positive arithmetic edge. So the per-flip increment is \( \tip{X_t}{result of flip t: +1 or -1} \in \{ +1, -1 \} \) with probability \( 0.6 \) and \( 0.4 \) respectively, and the simulation below plots the cumulative sum of those increments. The ensemble average of one flip is \( 0.2 \) . The time average of a long sequence converges to the same \( 0.2 \) (by the Law of Large Numbers), showing ergodicity.

Below is a live simulation of this process: every individual path’s own long-run slope converges to the same slope as the ensemble average, since the process is ergodic.

Interactive live simulation, not a static image. Drag the slider and click Start to run new random paths.
individual sample paths ensemble average (dashed)
Ergodic: every path's own long-run slope converges to the slope of the ensemble average.

For an example of a non-ergodic toy process we look at multiplicative growth. A wealth at time \( \tip{t}{number of rounds played so far} \) denoted by \( \tip{X_t}{your wealth after t rounds} \) evolves multiplicatively:

\[ \tip{X_{t+1}}{your wealth after round t+1} = \tip{X_t}{your wealth after t rounds} \cdot \tip{r_{t+1}}{growth factor of round t+1: what your wealth gets multiplied by},\]

where \( \tip{r_{t+1}}{growth factor of round t+1: what your wealth gets multiplied by} \) is a random factor. In this example, let: \( \tip{r_{t+1}}{growth factor of round t+1: what your wealth gets multiplied by} \in \{ 1.7, 0.5 \} \) with probability \( 0.5 \) each, and \( \tip{X_0}{your starting wealth} = 1 \) . The ensemble average at time \( \tip{t}{number of rounds played so far} \) is

\[ \tip{E}{expected value: average over all possible outcomes}[\tip{X_t}{your wealth after t rounds}] = \left(0.5 \cdot 1.7 + 0.5 \cdot 0.5\right)^\tip{t}{number of rounds played so far} = 1.1^\tip{t}{number of rounds played so far}\]

However, because the geometric mean of the per‑period factor is below \( 1 \) ,

\[ \exp\Big(0.5 \cdot \log(1.7) + 0.5 \cdot \log(0.5)\Big) \approx 0.92 < 1,\]

the single-path behavior drifts to \(0\) in the long run. In fact,

\[ \lim_{\tip{t}{number of rounds played so far}\to\infty}\frac{1}{\tip{t}{number of rounds played so far}}\log \tip{X_t}{your wealth after t rounds} = \tip{E}{expected value: average over all possible outcomes}[\log \tip{r}{growth factor of one round: what your wealth gets multiplied by}] = \tfrac12\log(1.7)+\tfrac12\log(0.5) < 0 \quad\text{almost surely}, \]

so \(\tip{X_t}{your wealth after t rounds} \to 0\) a.s., even though the ensemble average grows like \( 1.1^\tip{t}{number of rounds played so far} \) . Hence:

\[ \text{time average} \neq \text{ensemble average} \rightarrow \text{non-ergodic}\]

Below is a live simulation of this process. Try setting \(\tip{f}{fraction of your wealth you bet each round}=1\) (bet everything each round) with the default win/loss multipliers: the ensemble average (grey dashed line) climbs steadily, yet almost every individual path drifts toward zero.

Interactive live simulation, not a static image. Drag the sliders and click Start to run new random paths.
individual paths ensemble average (dashed) median 25th–75th and 10th–90th percentiles

This example illustrates what happened in our introductory example. Even though the edge was clearly positive (which is reflected in the ensemble average, the dashed grey line), a single realization of the multiplicative process approaches zero most of the time.

Kelly as a potential solution for non-ergodic multiplicative growth

The “Ergodicity Problem” refers to situations where researchers incorrectly apply ensemble averages to systems where the time average is the relevant measure. This often leads to misleading conclusions, especially in systems where the time average and the ensemble average do not align. The problem can also occur in reverse, when researchers focus on time averages in processes where ensemble averages would be more appropriate. In non-ergodic systems, the time average can differ significantly between individual realizations of a random process.

In the specific case of multiplicative growth processes, the Kelly Criterion offers a compelling solution to the ergodicity problem. The Kelly Criterion maximizes the long-term multiplicative growth rate of wealth by optimizing the geometric mean of returns. This is mathematically equivalent to maximizing the time average of a multiplicative growth process, as will be shown below. Furthermore, it can be demonstrated that the multiplicative growth rate (or any well-defined growth rate) is an example of an ergodic observable, one where the time average converges to the ensemble average.

For more on the ergodicity problem and ergodic observables, I highly recommend exploring the blog posts and scientific papers by Ole Peters (link provided below).

Investing

The Kelly Criterion and its variations naturally arise in investing. Since investing is all about multiplicative growth and every person has only one life to roll the dice, it is critical to tame randomness as much as possible, especially when the odds are favorable.

Practical notes. Real systems impose leverage/margin constraints that cap \(\tip{f}{fraction of your wealth you bet each round}\) and may liquidate positions before \(1-\tip{b}{loss per unit of staked wealth on a loss}\tip{f}{fraction of your wealth you bet each round}=0\) . Parameter uncertainty (e.g., estimating \(\tip{p}{probability of winning a round},\tip{a}{gain per unit of staked wealth on a win},\tip{b}{loss per unit of staked wealth on a loss}\) ) often motivates fractional Kelly (e.g., half-Kelly) in practice.

Safe haven investing

One book that brings together ideas about multiplicative growth, ergodicity, the Kelly Criterion, and insurance strategies in investing is Safe Haven by Mark Spitznagel. As this book was a key inspiration for me to write this blog post, I highly recommend it to anyone interested in these topics (link provided below).

In this post, I won’t delve into the primary focus of the book, which investigates how investing with an “insurance” component can potentially yield a higher multiplicative growth rate than even the Kelly Criterion. Instead, I’d like to emphasize several subtle points from the book that deserve a closer examination. Before this I want to state the definitions of the geometric mean and the median in discrete and continuous settings, because they are needed:

Geometric Mean \( \tip{GM}{geometric mean: the typical growth, computed through logarithms} \) :

\[ \tip{GM}{geometric mean: the typical growth, computed through logarithms} = \exp \left( \sum_{\tip{i}{index of a possible outcome}} \tip{p}{probability of the outcome}(\tip{x_i}{the i-th possible value of the final wealth}) \cdot \log (\tip{x_i}{the i-th possible value of the final wealth}) \right), \quad \tip{GM}{geometric mean: the typical growth, computed through logarithms} = \exp \left( \int_{0}^{\infty} \log (\tip{x}{a possible value of the final wealth}) \cdot \tip{p}{probability of the outcome}(\tip{x}{a possible value of the final wealth}) dx \right)\]

Median \( \tip{m}{median: half of the outcomes lie below it} \) :

\[ \sum_{\tip{x_i}{the i-th possible value of the final wealth} \leq \tip{m}{median: half of the outcomes lie below it}} \tip{p}{probability of the outcome}(\tip{x_i}{the i-th possible value of the final wealth}) = \frac{1}{2}, \quad \int_{0}^{\tip{m}{median: half of the outcomes lie below it}} \tip{p}{probability of the outcome}(\tip{x}{a possible value of the final wealth}) dx = \frac{1}{2}\]

Now the interesting statements:

  1. Optimizing the multiplicative growth rate is equivalent to optimizing the geometric mean of the ending distribution of the process and equivalent to optimizing expected logarithmic utility of the process.

  2. Optimizing the geometric mean of the ending distribution of the process is mathematically equivalent to optimizing the median of the ending distribution of the process.

  3. To optimize other quantiles, such as the 5th percentile (\(\tip{q_{0.05}}{5th percentile: 5 % of outcomes are worse}\) ), one can use the fractional Kelly Criterion. This approach involves betting a fraction \(\tip{\alpha}{fraction of the full Kelly bet you actually bet}\) of the full Kelly bet, where \(\tip{\alpha}{fraction of the full Kelly bet you actually bet} < 1\) . For example, using \(\tip{\alpha}{fraction of the full Kelly bet you actually bet} = \tfrac{1}{4}\) results in a betting fraction of:

\[ \tip{f}{fraction of your wealth you bet each round} = \frac{1}{4} \cdot \tip{f_{\text{Kelly}}}{Kelly fraction: the bet size that maximises long-run growth}\]

This fractional strategy balances growth and risk, allowing for targeting specific quantiles of the wealth distribution.

In the next section, I will clarify these points and show that, while they are approximately true (as stated in the book), they are not entirely correct when taken together. Specifically:

  • Point (1) is always valid.
  • Point (2) holds only in the limit as \(\tip{t}{number of rounds played so far}\) approaches infinity (and even then via an approximate lognormal description).
  • Point (3) applies when \(\tip{t}{number of rounds played so far}\) is finite, and the exact fraction of Kelly that maximizes a given quantile depends on \(\tip{t}{number of rounds played so far}\) .

This implies that (2) and (3) become somewhat contradictory if you try to apply them at the same time.

Subtleties in infinity

In the coming sections we look at the multiplicative growth process of wealth \( \tip{X_t}{your wealth after t rounds} \) and use the same notation as before.

Equivalences

Three objectives get used interchangeably in this literature: the exponential growth rate \(\tip{G}{exponential growth rate of your wealth per round}(\tip{f}{fraction of your wealth you bet each round})\) , the expected logarithmic utility \(\tip{\mathbb{E}}{expected value: average over all possible outcomes}[\log \tip{X_t}{your wealth after t rounds}(\tip{f}{fraction of your wealth you bet each round})]\) that Bernoulli proposed for the St. Petersburg paradox, and the geometric mean \(\tip{GM}{geometric mean: the typical growth, computed through logarithms}(\tip{X_t}{your wealth after t rounds}(\tip{f}{fraction of your wealth you bet each round}))\) . They are all monotone transforms of the same quantity, \(\tip{\mathbb{E}}{expected value: average over all possible outcomes}[\log \tip{X_t}{your wealth after t rounds}(\tip{f}{fraction of your wealth you bet each round})] = \log \tip{X_0}{your starting wealth} + \tip{t}{number of rounds played so far}\,\tip{\mu}{expected log-growth per round}(\tip{f}{fraction of your wealth you bet each round})\) : dividing by \(\tip{t}{number of rounds played so far}\) gives the growth rate, exponentiating gives the geometric mean, and neither operation moves an \(\arg\max\) . So the three agree on the optimal \(\tip{f}{fraction of your wealth you bet each round}\) , and they agree for every \(\tip{t}{number of rounds played so far}\) , not just asymptotically.

The three objectives written out
\[ \tip{G}{exponential growth rate of your wealth per round}(\tip{f}{fraction of your wealth you bet each round}) = \lim_{\tip{t}{number of rounds played so far} \to \infty} \frac{1}{\tip{t}{number of rounds played so far}} \log \Bigl(\frac{\tip{X_t}{your wealth after t rounds}(\tip{f}{fraction of your wealth you bet each round})}{\tip{X_0}{your starting wealth}}\Bigr), \qquad \arg\max_{\tip{f}{fraction of your wealth you bet each round}} \tip{\mathbb{E}}{expected value: average over all possible outcomes} \left[ \log (\tip{X_t}{your wealth after t rounds}(\tip{f}{fraction of your wealth you bet each round})) \right], \qquad \arg\max_{\tip{f}{fraction of your wealth you bet each round}} \tip{GM}{geometric mean: the typical growth, computed through logarithms}(\tip{X_t}{your wealth after t rounds}(\tip{f}{fraction of your wealth you bet each round}))\]

Every one of them is built from \(\log (\tip{X_t}{your wealth after t rounds}(\tip{f}{fraction of your wealth you bet each round}))\) . The geometric mean simply wraps it in the exponential, which is strictly increasing and therefore leaves the maximizing \(\tip{f}{fraction of your wealth you bet each round}\) unchanged.

This means that the first claim of the Safe Haven section is indeed always true.

Infinite Case

Here we look at the case of \( \tip{t}{number of rounds played so far} \rightarrow \infty \) . It helps to look at the distribution of the process as \( \tip{t}{number of rounds played so far} \) gets bigger. Since the process is multiplicative and the random factors are i.i.d., the Central Limit Theorem implies that \(\log \tip{X_t}{your wealth after t rounds}\) is approximately normal for large \(\tip{t}{number of rounds played so far}\) . Concretely (including the \(\tip{f}{fraction of your wealth you bet each round}\) -dependence explicitly):

\[ \log (\tip{X_t}{your wealth after t rounds}) = \log (\tip{X_0}{your starting wealth}) + \sum_{\tip{n}{index of the round}=1}^\tip{t}{number of rounds played so far} \log (\tip{r_n}{growth factor of round n: what your wealth gets multiplied by}(\tip{f}{fraction of your wealth you bet each round})) \]

Define \( \tip{Y}{logarithm of one growth factor} := \log (\tip{r}{growth factor of one round: what your wealth gets multiplied by}(\tip{f}{fraction of your wealth you bet each round})) \) with

\[ \tip{\mu}{expected log-growth per round} (\tip{f}{fraction of your wealth you bet each round}) = \tip{\mathbb{E}}{expected value: average over all possible outcomes} \left[ \tip{Y}{logarithm of one growth factor} \right], \qquad \tip{\sigma}{standard deviation of the log-growth per round}^2 (\tip{f}{fraction of your wealth you bet each round}) = \operatorname{Var}( \tip{Y}{logarithm of one growth factor} ) \]

By the CLT the sum \(\sum_{\tip{n}{index of the round}=1}^\tip{t}{number of rounds played so far} \tip{Y_n}{logarithm of the growth factor of round n}\) is approximately normally distributed with parameters

\[ \tip{t}{number of rounds played so far} \cdot \tip{\mu}{expected log-growth per round} (\tip{f}{fraction of your wealth you bet each round}), \quad \tip{t}{number of rounds played so far} \cdot \tip{\sigma}{standard deviation of the log-growth per round}^2 (\tip{f}{fraction of your wealth you bet each round}) \]

Therefore \( \tip{X_t}{your wealth after t rounds} \) is approximately lognormal with parameters

\[ \log (\tip{X_0}{your starting wealth}) + \tip{t}{number of rounds played so far} \cdot \tip{\mu}{expected log-growth per round} (\tip{f}{fraction of your wealth you bet each round}), \quad \tip{t}{number of rounds played so far} \cdot \tip{\sigma}{standard deviation of the log-growth per round}^2 (\tip{f}{fraction of your wealth you bet each round}) \]

For a lognormal distribution, the geometric mean equals the median. Hence, in the large-\(\tip{t}{number of rounds played so far}\) limit where \(\tip{X_t}{your wealth after t rounds}\) is approximately lognormal, the second claim is (asymptotically) valid.


Now we take a look at which fractions \( \tip{f}{fraction of your wealth you bet each round} \) will optimize specific quantiles of the large-\(\tip{t}{number of rounds played so far}\) (approximately lognormal) distribution. By the Central Limit Theorem,

\[ \log \tip{X_t}{your wealth after t rounds} \approx \log \tip{X_0}{your starting wealth} + \tip{t}{number of rounds played so far} \cdot \tip{\mu}{expected log-growth per round}(\tip{f}{fraction of your wealth you bet each round}) + \sqrt{\tip{t}{number of rounds played so far}} \cdot \tip{\sigma}{standard deviation of the log-growth per round}(\tip{f}{fraction of your wealth you bet each round}) \tip{Z}{standard normal random variable}, \qquad \tip{Z}{standard normal random variable} \sim \tip{N}{normal distribution}(0,1) \]

Writing \(\tip{z_q}{q-quantile of a standard normal distribution}\) for the \(\tip{q}{quantile level, e.g. 0.05 for the worst 5 % of outcomes}\) -quantile of a standard normal and exponentiating gives the \(\tip{q}{quantile level, e.g. 0.05 for the worst 5 % of outcomes}\) -quantile of wealth itself,

\[ \tip{Q_q}{q-quantile: the value below which a fraction q of outcomes lie}(\tip{X_t}{your wealth after t rounds}) \approx \tip{X_0}{your starting wealth} \exp \Bigl(\tip{t}{number of rounds played so far} \cdot \tip{\mu}{expected log-growth per round}(\tip{f}{fraction of your wealth you bet each round}) + \sqrt{\tip{t}{number of rounds played so far}} \cdot \tip{\sigma}{standard deviation of the log-growth per round}(\tip{f}{fraction of your wealth you bet each round}) \tip{z_q}{q-quantile of a standard normal distribution}\Bigr) \]

Maximizing that over \(\tip{f}{fraction of your wealth you bet each round}\) leads to the first-order condition

\[ \tip{\mu'}{derivative of the expected log-growth with respect to f}(\tip{f}{fraction of your wealth you bet each round}) + \frac{\tip{z_q}{q-quantile of a standard normal distribution}}{\sqrt{\tip{t}{number of rounds played so far}}} \tip{\sigma'}{derivative of the standard deviation with respect to f}(\tip{f}{fraction of your wealth you bet each round}) = 0 \]

This is the whole story in one line. The quantile you happen to care about enters only through the term \(\tip{z_q}{q-quantile of a standard normal distribution}/\sqrt{\tip{t}{number of rounds played so far}}\) , and that term vanishes as \(\tip{t}{number of rounds played so far} \to \infty\) , leaving \(\tip{\mu'}{derivative of the expected log-growth with respect to f}(\tip{f}{fraction of your wealth you bet each round}) = 0\) .

Quantile derivation

Let \(\tip{q}{quantile level, e.g. 0.05 for the worst 5 % of outcomes} \in (0,1)\) and let \(\tip{Q_q}{q-quantile: the value below which a fraction q of outcomes lie}(\tip{X_t}{your wealth after t rounds})\) denote the \(\tip{q}{quantile level, e.g. 0.05 for the worst 5 % of outcomes}\) -quantile of \(\tip{X_t}{your wealth after t rounds}\) , that is the number \(\tip{x}{a possible value of the final wealth}\) with

\[ \tip{\mathbb{P}}{probability}\bigl(\tip{X_t}{your wealth after t rounds} \le \tip{x}{a possible value of the final wealth}\bigr) = \tip{q}{quantile level, e.g. 0.05 for the worst 5 % of outcomes} \]

Because \(\log\) is strictly increasing, quantiles carry over to the log domain unchanged:

\[ \tip{Q_q}{q-quantile: the value below which a fraction q of outcomes lie}\bigl(\log (\tip{X_t}{your wealth after t rounds})\bigr) = \log \Bigl(\tip{Q_q}{q-quantile: the value below which a fraction q of outcomes lie}(\tip{X_t}{your wealth after t rounds})\Bigr) \]

Applying the normal approximation and the definition of \(\tip{z_q}{q-quantile of a standard normal distribution}\) ,

\[ \tip{Q_q}{q-quantile: the value below which a fraction q of outcomes lie}\bigl(\log \tip{X_t}{your wealth after t rounds}\bigr) \approx \log \tip{X_0}{your starting wealth} + \tip{t}{number of rounds played so far} \cdot \tip{\mu}{expected log-growth per round}(\tip{f}{fraction of your wealth you bet each round}) + \sqrt{\tip{t}{number of rounds played so far}} \cdot \tip{\sigma}{standard deviation of the log-growth per round}(\tip{f}{fraction of your wealth you bet each round}) \tip{z_q}{q-quantile of a standard normal distribution} \]

So maximizing the quantile means maximizing the exponent,

\[ \arg \max_\tip{f}{fraction of your wealth you bet each round} \Bigl[ \tip{t}{number of rounds played so far} \cdot \tip{\mu}{expected log-growth per round}(\tip{f}{fraction of your wealth you bet each round}) + \sqrt{\tip{t}{number of rounds played so far}} \cdot \tip{\sigma}{standard deviation of the log-growth per round}(\tip{f}{fraction of your wealth you bet each round}) \tip{z_q}{q-quantile of a standard normal distribution} \Bigr] \]

Differentiating with respect to \(\tip{f}{fraction of your wealth you bet each round}\) and setting the result to zero,

\[ \tip{t}{number of rounds played so far} \cdot \tip{\mu'}{derivative of the expected log-growth with respect to f}(\tip{f}{fraction of your wealth you bet each round}) + \sqrt{\tip{t}{number of rounds played so far}} \cdot \tip{z_q}{q-quantile of a standard normal distribution} \tip{\sigma'}{derivative of the standard deviation with respect to f}(\tip{f}{fraction of your wealth you bet each round}) = 0, \]

and dividing through by \(\tip{t}{number of rounds played so far}\) gives the first-order condition quoted above.

That means the optimal \(\tip{f}{fraction of your wealth you bet each round}\) for any fixed quantile \(\tip{q}{quantile level, e.g. 0.05 for the worst 5 % of outcomes}\) converges to the same value \(\tip{f_{\text{Kelly}}}{Kelly fraction: the bet size that maximises long-run growth}\) that maximizes \( \tip{\mu}{expected log-growth per round}(\tip{f}{fraction of your wealth you bet each round}) \) , the expected logarithmic utility and in turn \( \tip{G}{exponential growth rate of your wealth per round}(\tip{f}{fraction of your wealth you bet each round}) \) , the exponential rate of growth. In other words, the Kelly fraction becomes optimal for all quantiles as \(\tip{t}{number of rounds played so far} \to \infty\) .

Since in this (asymptotic) case all quantiles are optimized at the same fraction, the third claim from the Safe Haven section is not true in the infinite setting.

As this derivation is very tedious, I want to make sure that you get the intuition right. As \( \tip{f}{fraction of your wealth you bet each round} \) increases up to the optimal fraction \( \tip{f_{\text{Kelly}}}{Kelly fraction: the bet size that maximises long-run growth} \) , both the growth rate and the variance of the distribution increase. Going further beyond the Kelly fraction gets dangerous: the growth rate declines while the variance still increases! This is the reason why practitioners often recommend being on the safe side of the optimal fraction. Generally, in a finite setting (as the next section illustrates) this can lead to lower quantiles being optimized by fractional Kelly bet sizes lower than the optimal fraction and higher quantiles being optimized by multiples of the optimal fraction. However, as \( \tip{t}{number of rounds played so far} \to \infty \) the optimal growth rate dominates the variance effects and becomes optimal for all quantiles.

Finite Case

Now we look at the case when \( \tip{t}{number of rounds played so far} \) stays finite. An analytical treatment would require the exact distribution of \( \tip{X_t}{your wealth after t rounds} \) , which depends on the full law of \( \tip{r_t}{growth factor of round t: what your wealth gets multiplied by} \) , so we use simulations instead.

It is worth being precise about what the second claim actually asserts, because it is easy to refute the wrong statement. The claim is about maximizers: that the \(\tip{f}{fraction of your wealth you bet each round}\) maximizing the median coincides with the \(\tip{f}{fraction of your wealth you bet each round}\) maximizing the geometric mean. It is not the weaker statement that the two quantities are numerically equal. Showing median \(\neq\) GM at some finite \(\tip{t}{number of rounds played so far}\) therefore proves nothing on its own, since two different objectives can still share an \(\arg\max\) .

The sharp version is this. The median and the geometric mean coincide exactly whenever \(\log \tip{X_t}{your wealth after t rounds}\) is symmetric about its mean, lognormality being one sufficient case among many. For \(\tip{p}{probability of winning a round} = 1/2\) , which covers both the coin flip we opened with and the ergodicity example, \(\log \tip{X_t}{your wealth after t rounds}\) is a shifted binomial with equal weights and so is symmetric for every finite \(\tip{t}{number of rounds played so far}\) . In that case median \(=\) GM exactly, and the median-maximizing fraction is precisely \(\tip{f_{\text{Kelly}}}{Kelly fraction: the bet size that maximises long-run growth}\) at any horizon.

For \(\tip{p}{probability of winning a round} \neq 1/2\) the distribution is skewed, the two quantities genuinely differ, and, more to the point, their maximizers can differ too. The simulation below uses \(\tip{p}{probability of winning a round} = 0.55\) and shows exactly that.

Therefore the second claim holds exactly in symmetric cases such as \(\tip{p}{probability of winning a round} = 1/2\) , but in general it is only asymptotically true for finite \(\tip{t}{number of rounds played so far}\) , as the simulations illustrate.

We will do a simulation to illustrate that for finite \( \tip{t}{number of rounds played so far} \) the optimum for lower or higher quantiles might be smaller/bigger than \( \tip{f_{\text{Kelly}}}{Kelly fraction: the bet size that maximises long-run growth} \) , however as \( \tip{t}{number of rounds played so far} \) gets bigger these optimal values for quantiles converge to \( \tip{f_{\text{Kelly}}}{Kelly fraction: the bet size that maximises long-run growth} \) . Specifically we will look at \( \tip{X_t}{your wealth after t rounds} \) defined as before with parameters:

\[ \tip{a}{gain per unit of staked wealth on a win}=0.9, \quad \tip{b}{loss per unit of staked wealth on a loss}=0.6, \quad \tip{p}{probability of winning a round}=0.55, \]

and \( \tip{t}{number of rounds played so far} \in \{ 100, 200, 400, 800, 1600, 3200 \}. \) In all following plots we will draw the theoretical optimal fraction in red, \( \tip{f_{\text{Kelly}}}{Kelly fraction: the bet size that maximises long-run growth} \) , and also draw the optimal fractions of \( \tip{q_{0.1}}{10th percentile: 10 % of outcomes are worse} \) , \( \tip{q_{0.5}}{median: half of the outcomes are worse} \) (the median), and \( \tip{q_{0.9}}{90th percentile: 90 % of outcomes are worse} \) in blue, green, and orange as dashed vertical lines respectively.

\(\tip{t}{number of rounds played so far} = 100\) :

Finite Optimal Kelly Fractions for t = 100

\(\tip{t}{number of rounds played so far} = 200\) :

Finite Optimal Kelly Fractions for t = 200

\(\tip{t}{number of rounds played so far} = 400\) :

Finite Optimal Kelly Fractions for t = 400

\(\tip{t}{number of rounds played so far} = 800\) :

Finite Optimal Kelly Fractions for t = 800

\(\tip{t}{number of rounds played so far} = 1600\) :

Finite Optimal Kelly Fractions for t = 1600

\(\tip{t}{number of rounds played so far} = 3200\) :

Finite Optimal Kelly Fractions for t = 3200

Although with slight numerical inaccuracies due to limited simulation resources, one can clearly see the trend as \( \tip{t}{number of rounds played so far} \) gets bigger that the maximizing fractions for the 10th and 90th quantiles get closer to the optimizing median fraction and the theoretical optimal fraction \( \tip{f_{\text{Kelly}}}{Kelly fraction: the bet size that maximises long-run growth} \) .

Because of this trend and the non-negligible dependence on \(\tip{t}{number of rounds played so far}\) , I have to say that the third claim from the Safe Haven section is true, however very misleading. Even though a fractional Kelly Criterion can maximize a lower quantile, there is a strong dependence on \(\tip{t}{number of rounds played so far}\) , which determines how large this fraction should be.

Conclusion

The goal of this blog post was to introduce the Kelly Criterion with as much intuition as possible while maintaining the necessary rigor. While the derivation and explanation of the Kelly Criterion itself are not unique and can be found in many other resources, I strongly recommend reading the original paper to appreciate its historical and contextual significance.

In addition to introducing the Criterion, I sought to place it within the broader context of ergodicity, a fascinating topic that provides a deeper understanding of the Kelly Criterion and its practical applications.

The primary motivation for this post, however, stems from the nuanced and thought-provoking arguments presented in Mark Spitznagel’s Safe Haven. My aim was to clarify the subtle distinctions between the infinite and finite cases of the Kelly Criterion, which can be difficult to grasp and for which clear explanations are often lacking online. I hope my arguments help illuminate these concepts and address common points of confusion.

Key Takeaways

  1. Unified Optimization Optimizing the exponential rate of growth \(\tip{G}{exponential growth rate of your wealth per round}(\tip{f}{fraction of your wealth you bet each round})\) , the expected logarithmic utility of wealth \( \tip{\mathbb{E}}{expected value: average over all possible outcomes} \big[ \log(\tip{X_t}{your wealth after t rounds}(\tip{f}{fraction of your wealth you bet each round})) \big] \) , and the geometric mean \( \tip{\text{GM}}{geometric mean: the typical growth, computed through logarithms}(\tip{X_t}{your wealth after t rounds}(\tip{f}{fraction of your wealth you bet each round})) \) all lead to the same maximizer: \( \tip{f_{\text{Kelly}}}{Kelly fraction: the bet size that maximises long-run growth} \) .

  2. Median vs. Geometric Mean The median of the wealth distribution \( \tip{X_t}{your wealth after t rounds} \) coincides with its geometric mean exactly when \(\log \tip{X_t}{your wealth after t rounds}\) is symmetric about its mean, which includes the symmetric case \(\tip{p}{probability of winning a round} = 1/2\) at every finite \(\tip{t}{number of rounds played so far}\) . Otherwise the two agree only asymptotically, where by the CLT the distribution is approximately lognormal.

  3. Finite vs. Infinite Horizons This is the most crucial point: A fractional Kelly strategy (i.e., betting a fraction of \( \tip{f_{\text{Kelly}}}{Kelly fraction: the bet size that maximises long-run growth} \) ) only optimizes a lower quantile of the wealth distribution for a finite time horizon \(\tip{t}{number of rounds played so far}\) . As finite beings, this is arguably acceptable. However, the optimal fraction of \( \tip{f_{\text{Kelly}}}{Kelly fraction: the bet size that maximises long-run growth} \) depends heavily on \(\tip{t}{number of rounds played so far}\) .

    • As \( \tip{t}{number of rounds played so far} \to \infty \) , this fraction converges to 1, meaning \( \tip{f_{\text{Kelly}}}{Kelly fraction: the bet size that maximises long-run growth} \) becomes optimal for all quantiles.
    • This is an encouraging result for gamblers and investors: the longer you play the game, the less it matters which quantile you aim to optimize.
    • Nevertheless, it’s important to note that betting below \( \tip{f_{\text{Kelly}}}{Kelly fraction: the bet size that maximises long-run growth} \) often results in better outcomes in finite cases, as it reduces the variance in wealth.

I hope this post provides both clarity and practical insights into the Kelly Criterion, its applications, and its implications for decision-making over finite and infinite horizons.

Sources

  • Source code for all simulations in the post can be found under: github
  • Original Paper from J. L. Kelly Jr.
  • Blog from Ole Peters: blog
  • Safe Haven by Mark Spitznagel