Kelly Betting When You Don't Know Your Edge — And a Drawdown Barrier Is Watching
A tractable leverage rule for the cold-start problem
TL;DR
- Classical Kelly sizing assumes you know your expected return . You don’t — you estimated it from a finite sample, and that estimate is noisiest exactly when you have the least data.
- Separately, most real mandates die at a drawdown threshold, not at zero wealth. A 20% loss from peak means redemptions, margin calls, or a revoked mandate.
- These two frictions are usually studied in isolation. Together they’re worse than the sum of their parts: estimation error produces overleverage precisely when the barrier is closest.
- The fix is one line. Replace the Kelly fraction with its Bayesian posterior inside the classical Grossman–Zhou cushion rule:
- In simulation, with one year of estimation data, this lifts survival from 81.6% to 92.8% and penalised log-utility from −0.34 to −0.10.
- It is not a universal improvement. Under jump diffusion and GARCH volatility clustering it underperforms the naive plug-in. I show those results too.
1. Two frictions that are always studied separately
The Kelly criterion (Kelly, 1956; Breiman, 1961) says: bet the fraction
to maximise long-run log-wealth growth. Under geometric Brownian motion this is optimal and, famously, the Kelly bettor never goes bankrupt in finite time.
That last part is a technicality with no practical content. Nobody trades to zero. What actually ends strategies is a drawdown threshold — typically 10–20% from the running peak — at which investors redeem, the prime broker raises margin, or the allocator pulls the mandate. Grossman and Zhou (1993) formalised this: under a hard constraint , where is the running maximum, the optimal weight is proportional to the cushion above the barrier. In log coordinates, writing
so that measures log-distance to ruin, their rule is linear:
Full leverage at the peak, zero leverage at the barrier. Cvitanić and Karatzas (1995) extended this to multi-asset settings via duality; Browne (1997) studied the related problem of growth subject to a liability floor.
There’s a parallel literature on the other problem: you don’t know . Browne and Whitt (1996) put a prior on the drift and derived Bayesian Kelly sizing. Xia (2001) and Pástor and Veronesi (2009) studied how learning about a parameter reshapes dynamic allocation. Garlappi, Uppal and Wang (2007) took the multi-prior robust route. Thorp (2006) and most practitioners just use half-Kelly and move on.
Here’s the gap: the drawdown literature assumes is known; the Bayesian literature ignores the barrier. Neither addresses the situation every systematic trader is actually in.
2. Why the combination is worse than either piece
Consider a trader launching a strategy. She has, say, two years of backtest or live data. Her point estimate has standard error roughly — with and two years, that’s about 14 percentage points of annual drift. Her true might be 8%; her estimate might be 20%.
Plug-in Kelly translates that estimation error directly into leverage. With , a drift estimate 2.5× too high gives leverage 2.5× too high.
Now add the barrier. Excess leverage near the barrier is not merely suboptimal — it is the mechanism by which the strategy dies. And the error is persistent: it doesn’t average out within the trading horizon, because was fixed before trading began. So the trader systematically overbets throughout the exact period when she has the least buffer.
The two frictions compound. That’s the problem worth solving.
3. Setting up: two state variables
Track two things.
Barrier distance , as defined above. This is standard.
Estimation quality — the effective sample size backing the current posterior for . This is where it gets interesting.
Put a conjugate Gaussian prior on the drift: , where encodes how many equivalent observations of prior conviction you have. The posterior mean after observing an estimate over periods is the usual shrinkage combination
With a conservative prior (), always, and the gap closes as grows. That’s the whole shrinkage mechanism: the less data you have, the harder the brake.
4. The part worth dwelling on: is a control, not an observation
Here’s a subtlety that shapes the whole problem.
Run the Kalman–Bucy filter for an unknown constant drift. The investor observes returns; the posterior variance evolves via the Riccati equation
Note the . Solve it and you get where
The effective sample size is a deterministic function of your own control. You are not passively receiving information about — you are buying it, and the price is exposure. Bet bigger, learn faster. Sit in cash, learn nothing.
This means the state is two-dimensional and controlled in both coordinates. And it puts a third term in the Hamilton–Jacobi–Bellman equation that isn’t in either of the classical problems:
with (absorption at the barrier) and (reflection at the running peak).
That third term — the value of learning — is the exploration/exploitation coupling. It’s also, as we’ll see, what wrecks any hope of a clean closed form when there’s discounting.
5. The main result
Take the undiscounted growth criterion, — the classical Kelly objective, maximise . Then the value-of-learning term drops out consistently, the HJB collapses to the Grossman–Zhou structure with drift , and you get:
Bayesian Grossman–Zhou rule.
Simple. Take the classical cushion rule, swap the unknown for the posterior mean .
The rule shrinks to zero along either axis:
- : approaching the barrier, leverage → 0 (barrier discipline)
- : no data, leverage → , i.e. the conservative prior (estimation discipline)
And it nests the classics. At it is Grossman–Zhou. At (sitting at a new high) it returns , the pure Bayesian Kelly fraction with no barrier adjustment.
A useful sanity check: the same structure appears if you attack the full three-dimensional problem with a stochastic posterior. Near the barrier the value function behaves like , so and . Plug into the first-order condition and the quadratic term dominates:
Same answer, up to normalisation. The linearity in comes from strict concavity of the value function near the barrier — not from any linearity assumption.
6. The negative result: has no clean answer
Naturally you want the discounted version. Suppose — interpretable as a regime-change hazard (your alpha decays at Poisson rate ), an opportunity cost, or a regularisation device.
The natural move is a product-form ansatz and hope for a policy of the form — same shape, data-dependent slope.
It doesn’t work, and it’s worth understanding why.
Compute the derivatives:
That last one is the problem — it carries a , so scales with , not with a constant. Substituting into the first-order condition and clearing denominators:
For this to hold for all , the coefficients of and must vanish separately, forcing and — which means , which via the HJB forces . Contradiction.
So for the optimal policy is nonlinear in and has no separable closed form. The explicit condition is
which requires self-consistent determination of — a numerical PDE solve on the grid.
I think this is the more interesting result. The nonlinearity is caused by the learning term. Remove the coupling between leverage and information acquisition and it vanishes. Exploration and barrier risk don’t separate.
What saves the practical story is that Bayes GZ is the leading-order term of the expansion in . At , the ratio is $0.125$, so the correction is expected to be of order 12% — numerically small, though I want to be careful not to oversell that as a proven uniform bound.
7. Double prudence
Here’s a small structural result I like.
Write . The cross-partial is
Strictly positive for all .
Interpretation: the marginal value of one more observation is proportional to your distance from the barrier. Far from the barrier, better estimation lets you actually use the leverage it justifies. Near the barrier, it doesn’t matter how good your estimate is — the constraint binds regardless.
Data and buffer are complements, not substitutes. You can’t compensate for thin data by being far from the barrier, nor for a thin buffer by having good estimates. This is qualitatively different from the usual “shrink everything by a constant factor” intuition behind fractional Kelly.
8. How much data do you actually need?
The leverage deficit relative to an oracle who knows :
That’s exact, not asymptotic — it falls straight out of the shrinkage formula. Clean decay.
Converting to practical terms with (a moderately informative prior, roughly 10 months of equivalent conviction), and updating monthly:
| Target | Observations needed | Calendar time |
|---|---|---|
| 50% of oracle leverage | ~10 months | |
| 90% of oracle | ~7.5 years | |
| 95% of oracle | ~16 years |
The tail is brutal, and that’s the honest answer to “when can I finally size up?” Getting to half of full Kelly is quick. Getting to 95% takes a decade and a half of monthly observations. If that seems pessimistic, note it’s a direct consequence of estimation error — no modelling choice is inflating it.
9. Simulation
Setup: , , (so ), horizon years, daily rebalancing, paths. Prior: , . True Kelly fraction .
Each path draws a true drift and an estimate with . Scoring is penalised log-utility, with ruin penalty .
Two benchmarks. Exp DDR oracle is an exponential de-risking rule with , which is a concave alternative to the linear cushion and beats it by about 15% when is known — this is the strongest available comparator, but it needs the true . Exp DDR plug-in is the same rule with substituted, which is what you’d actually deploy.
| Scenario | Strategy | Survival | Ann. log-ret | |
|---|---|---|---|---|
| Oracle () | Exp DDR oracle | +0.083 | 100% | 4.14% |
| Exp DDR plug-in | +0.083 | 100% | 4.13% | |
| Bayes GZ | +0.072 | 100% | 3.62% | |
| 5 yr data, | Exp DDR plug-in | −0.003 | 97.3% | 2.65% |
| Bayes GZ | −0.010 | 97.1% | 2.42% | |
| 2 yr data, | Exp DDR plug-in | −0.169 | 89.6% | 2.20% |
| Bayes GZ | −0.084 | 93.8% | 2.17% | |
| 1 yr data, | Exp DDR plug-in | −0.337 | 81.6% | 1.92% |
| Bayes GZ | −0.104 | 92.8% | 2.14% |
Reading the table straight:
At oracle conditions Bayes GZ loses, by about 13%. Expected — it’s a linear rule competing against a concave one with perfect information. That’s the shape premium of the exponential curve, and it’s real.
At 5 years of data the two are indistinguishable. −0.010 vs −0.003, survival 97.1% vs 97.3%. The shrinkage benefit hasn’t yet overcome the shape penalty.
Below about 3 years the ranking flips hard. At 1 year: utility gap of +0.233, survival gap of +11.2 pp. The plug-in loses roughly one path in five to the barrier; Bayes GZ loses one in fourteen.
So there’s a crossover, and it sits near years. This is consistent with the deficit result: the correction matters when is comparable to .
Note also that neither is positive in absolute terms under severe uncertainty. Bayes GZ recovers about 69% of the plug-in’s loss — it converts a bad outcome into a substantially less bad one. It doesn’t make cold-start trading good.
10. Stress tests — including where it fails
GBM with constant drift is a toy. And there’s an obvious objection: the whole motivation is parameter instability, but the baseline simulation has a constant parameter. So I ran four alternative return processes, all at years, , :
- B. Markov regime switching — two-state hidden chain, bull , bear , switching intensity 0.02/yr. Trader can’t observe the regime.
- C. Student- fat tails — , scaled to match GBM moments.
- D. Jump diffusion — Merton (1976), jumps/yr, mean log-jump , jump vol 8%.
- E. GARCH(1,1) — , , calibrated to unconditional .
| Env | Surv | Surv | Surv | |||
|---|---|---|---|---|---|---|
| A. GBM baseline | −0.171 | −0.086 | +0.085 | 89.5% | 93.7% | +4.2pp |
| B. Markov regime switch | −0.111 | −0.055 | +0.057 | 93.5% | 96.3% | +2.8pp |
| C. Student- () | −0.459 | −0.421 | +0.039 | 75.2% | 77.1% | +1.9pp |
| D. Jump diffusion | −0.826 | −0.867 | −0.041 | 58.6% | 56.5% | −2.0pp |
| E. GARCH clustering | −0.564 | −0.645 | −0.082 | 71.0% | 67.3% | −3.8pp |
Where it works (A–C). The regime-switching result is the one I care about most, because it’s the conceptual motivation: when drift is truly unstable, effective estimation error is larger, and shrinkage earns its keep. Under fat tails both strategies suffer badly (survival in the 75–77% range) but the conservative rule loses less.
Where it fails (D–E). Under jump diffusion, Bayes GZ is worse — both in utility and survival. The mechanism is clear once you see it: a jump can breach the barrier from any leverage level. Shrinking exposure doesn’t buy meaningful protection against a discontinuity, it just costs growth. The trade-off the rule is designed around simply isn’t available.
Under GARCH the story is different but the conclusion similar. Volatility arrives in bursts. A more aggressive rule captures the low-vol periods that follow spikes; the conservative rule leaves that on the table without a compensating survival benefit.
Both failures are consistent with the model’s scope: Bayes GZ is derived for constant and known . It has no volatility-state variable and no jump-aware barrier condition. Extending it to those environments is real work, not a parameter tweak.
One thing that does survive everywhere: double prudence. The sign of depends only on , a property of the prior structure, not of the return process. The complementarity holds in all five environments — whether it translates into a utility advantage is a separate question.
11. Implementation
Three lines.
import numpy as np
MU0, N0 = 0.05, 10.0 # prior mean drift, prior strength
SIG = 0.20 # volatility
DELTA = 0.20 # drawdown threshold
B = -np.log(1 - DELTA)
def bayes_gz(drawdown, n_obs_years, mu_hat, r=0.0):
"""
drawdown : current fractional drawdown from peak, e.g. 0.05 for -5%
n_obs_years : years of estimation data
mu_hat : point estimate of annual drift
"""
d = np.log(1 - drawdown) + B # log-distance to barrier
n = 12.0 * n_obs_years # monthly observations
mu_bar = (N0 * MU0 + n * mu_hat) / (N0 + n)
k_bar = (mu_bar - r) / SIG**2
return max(k_bar * d / B, 0.0)
# 2 years of data, mu_hat = 7.5%, currently 5% below peak
print(bayes_gz(0.05, 2.0, 0.075)) # -> 1.30Choosing the prior. is the only real dial, and it’s the equivalent months of conviction you have before seeing data.
| Setting | Use case | ||
|---|---|---|---|
| Conservative | 20 | (no assumed edge) | Unproven strategy, new regime |
| Neutral | 10 | backtest estimate | Default |
| Aggressive | 2 | backtest estimate | Decade of live track record |
Sensitivity is moderate — the useful range is roughly . Below 5 the brake is too weak to help under cold start; above 50 you’re sacrificing growth for survival you already had.
Update frequency. Don’t update intraday. The signal-to-noise ratio of a daily return is about — overwhelmingly noise. Monthly or annual. Within a trading period, treat as fixed.
Rebalancing. Daily and weekly are equivalent in simulation. Monthly degrades materially (utility −0.031, survival 95.8% at the 5-year setting). Weekly or faster.
Transaction costs. Up to 5 bps per unit of changes almost nothing — utility moves from −0.010 to −0.013. The rule naturally trades least near the barrier, where trading would hurt most.
12. When not to use this
Being explicit, because the stress tests earned it:
- Jump risk dominates. If your asset gaps, the barrier can be breached from any leverage. Shrinkage costs growth without buying protection. Use a hard leverage cap and a jump-aware buffer instead.
- Volatility clusters strongly. No vol-state variable here. GARCH-like environments favour a more responsive rule.
- Drift is non-stationary in a way you can model. If you can estimate a regime process, do that — a sliding-window prior with matched to regime half-life is a crude patch, not a solution.
- Estimation window comes from a different regime. The whole shrinkage logic assumes is a noisy estimate of the same you’re about to trade. If the regime changed, shrinking toward a stale prior is worse than useless.
- The barrier is soft. If it’s a performance target rather than a hard mandate revocation, the absorbing-boundary model overstates the cost of touching it.
- You have decades of data. At years the advantage disappears. Just use the oracle-style rule with your estimate.
13. What I’d want to see next
The honest open items:
- Numerical solution for . The non-separability result says a closed form doesn’t exist, but a finite-difference solve on the grid is well-posed and would pin down how much the linear approximation costs.
- Multi-asset. Replacing with the Markowitz tangency vector is formally natural, but the derivation hasn’t been checked in dimensions.
- Real data. Everything above is simulation. A backtest on a CTA or trend-following book with an explicit drawdown mandate would be the real test.
- Stochastic . Making volatility Bayesian too (Normal–Gamma prior) would add a second shrinkage channel and probably help in environment E.
Code
Full replication code — simulation engine, all five stress environments, figure generation:
github.com/sergeisukhovmkt/The-Bayesian-Grossman-Zhou-Rule-Drawdown-Constrained-Kelly-Betting
pip install -r requirements.txt
make fast # N = 5,000, ~10 seconds
make simulate # N = 50,000, ~3 minutes
make stress # all five return environmentsFixed seeds throughout, so the numbers in the tables above reproduce exactly.
References
- Breiman, L. (1961). Optimal gambling systems for favorable games. Proc. 4th Berkeley Symp. 1, 65–78.
- Browne, S. (1997). Survival and growth with a liability. Mathematics of Operations Research 22(2), 468–493.
- Browne, S. and Whitt, W. (1996). Portfolio choice and the Bayesian Kelly criterion. Advances in Applied Probability 28(4), 1145–1176.
- Cvitanić, J. and Karatzas, I. (1995). On portfolio optimization under drawdown constraints. IMA Volumes in Mathematics and Its Applications 65, 35–46.
- Garlappi, L., Uppal, R. and Wang, T. (2007). Portfolio selection with parameter and model uncertainty. Review of Financial Studies 20(1), 41–81.
- Grossman, S. J. and Zhou, Z. (1993). Optimal investment strategies for controlling drawdowns. Mathematical Finance 3(3), 241–276.
- Kelly, J. L. (1956). A new interpretation of information rate. Bell System Technical Journal 35(4), 917–926.
- Merton, R. C. (1976). Option pricing when underlying stock returns are discontinuous. Journal of Financial Economics 3(1–2), 125–144.
- Pástor, Ľ. and Veronesi, P. (2009). Learning in financial markets. Annual Review of Financial Economics 1, 361–381.
- Thorp, E. O. (2006). The Kelly criterion in blackjack, sports betting and the stock market. In Handbook of Asset and Liability Management.
- Xia, Y. (2001). Learning about predictability. Journal of Finance 56(1), 205–246.