SS
Sergei SukhovJul 30

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 μ\mu. 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 κ\kappa with its Bayesian posterior κˉ(n)\bar\kappa(n) inside the classical Grossman–Zhou cushion rule:
fBGZ(d,n)=κˉ(n)⋅dbf^{\mathrm{BGZ}}(d, n) = \bar\kappa(n) \cdot \frac{d}{b}
  • 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

κ=μ−rσ2\kappa = \frac{\mu - r}{\sigma^2}

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 Wt≥(1−δ)MtW_t \geq (1-\delta) M_t, where MtM_t is the running maximum, the optimal weight is proportional to the cushion above the barrier. In log coordinates, writing

dt=ln⁡WtMt+b,b=−ln⁡(1−δ),d_t = \ln\frac{W_t}{M_t} + b, \qquad b = -\ln(1-\delta),

so that dt∈(0,b]d_t \in (0, b] measures log-distance to ruin, their rule is linear:

fGZ(d)=κ⋅db.f^{\mathrm{GZ}}(d) = \kappa \cdot \frac{d}{b}.

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 μ\mu. 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 κ\kappa 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 μ^\hat\mu has standard error roughly σ/Tobs\sigma/\sqrt{T_{\text{obs}}} — with σ=20%\sigma = 20\% and two years, that’s about 14 percentage points of annual drift. Her true μ\mu might be 8%; her estimate might be 20%.

Plug-in Kelly translates that estimation error directly into leverage. With κ^=μ^/σ2\hat\kappa = \hat\mu/\sigma^2, 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 μ^\hat\mu 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 dt∈(0,b]d_t \in (0, b], as defined above. This is standard.

Estimation quality ntn_t — the effective sample size backing the current posterior for μ\mu. This is where it gets interesting.

Put a conjugate Gaussian prior on the drift: μ∼N(μ0,σ2/n0)\mu \sim \mathcal{N}(\mu_0, \sigma^2/n_0), where n0n_0 encodes how many equivalent observations of prior conviction you have. The posterior mean after observing an estimate μ^\hat\mu over nn periods is the usual shrinkage combination

μˉ=n0μ0+n μ^n0+n,κˉ(n)=μˉ−rσ2.\bar\mu = \frac{n_0 \mu_0 + n\,\hat\mu}{n_0 + n}, \qquad \bar\kappa(n) = \frac{\bar\mu - r}{\sigma^2}.

With a conservative prior (μ0<μ^\mu_0 < \hat\mu), κˉ(n)<κ^\bar\kappa(n) < \hat\kappa always, and the gap closes as nn grows. That’s the whole shrinkage mechanism: the less data you have, the harder the brake.


4. The part worth dwelling on: ntn_t 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 Σt\Sigma_t evolves via the Riccati equation

dΣtdt=−Σt2ft2σ2.\frac{d\Sigma_t}{dt} = -\frac{\Sigma_t^2 f_t^2}{\sigma^2}.

Note the ft2f_t^2. Solve it and you get Σt=σ2/nt\Sigma_t = \sigma^2 / n_t where

⟹\qquad\Longrightarrow\qquad

The effective sample size is a deterministic function of your own control. You are not passively receiving information about μ\mu — you are buying it, and the price is exposure. Bet bigger, learn faster. Sit in cash, learn nothing.

This means the state (dt,nt)(d_t, n_t) 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:

rV(d,n)=sup⁡f≥0{f(μˉ−r)Vd⏟growth+12f2σ2Vdd⏟diffusion / risk+f2σ2Vn⏟value of learning}r V(d,n) = \sup_{f \geq 0}\left\{ \underbrace{f(\bar\mu - r) V_d}_{\text{growth}} + \underbrace{\tfrac{1}{2} f^2 \sigma^2 V_{dd}}_{\text{diffusion / risk}} + \underbrace{\frac{f^2}{\sigma^2} V_n}_{\text{value of learning}} \right\}

with V(0,n)=0V(0,n) = 0 (absorption at the barrier) and Vd(b,n)=0V_d(b,n) = 0 (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, r=0r = 0 — the classical Kelly objective, maximise E[ln⁡WT]\mathbb{E}[\ln W_T]. Then the value-of-learning term drops out consistently, the HJB collapses to the Grossman–Zhou structure with drift μˉ−r=κˉ(n)σ2\bar\mu - r = \bar\kappa(n)\sigma^2, and you get:

Bayesian Grossman–Zhou rule.

  fBGZ(d,n)=κˉ(n)⋅db  \boxed{\;f^{\mathrm{BGZ}}(d, n) = \bar\kappa(n) \cdot \frac{d}{b}\;}

Simple. Take the classical cushion rule, swap the unknown κ\kappa for the posterior mean κˉ(n)\bar\kappa(n).

The rule shrinks to zero along either axis:

  • d→0d \to 0: approaching the barrier, leverage → 0 (barrier discipline)
  • n→0n \to 0: no data, leverage → κ0⋅d/b\kappa_0 \cdot d/b, i.e. the conservative prior (estimation discipline)

And it nests the classics. At n→∞n \to \infty it is Grossman–Zhou. At d=bd = b (sitting at a new high) it returns κˉ(n)\bar\kappa(n), 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 V(d,n,μˉ)V(d, n, \bar\mu) with a stochastic posterior. Near the barrier the value function behaves like V∼ln⁡dV \sim \ln d, so Vd=1/dV_d = 1/d and Vdd=−1/d2V_{dd} = -1/d^2. Plug into the first-order condition and the quadratic term dominates:

f∗≈(μˉ−r)Vd−σ2Vdd=(μˉ−r) dσ2=κˉ⋅d.f^* \approx \frac{(\bar\mu - r) V_d}{-\sigma^2 V_{dd}} = \frac{(\bar\mu - r)\,d}{\sigma^2} = \bar\kappa \cdot d.

Same answer, up to normalisation. The linearity in dd comes from strict concavity of the value function near the barrier — not from any linearity assumption.


6. The negative result: r>0r > 0 has no clean answer

Naturally you want the discounted version. Suppose r>0r > 0 — interpretable as a regime-change hazard (your alpha decays at Poisson rate λ\lambda), an opportunity cost, or a regularisation device.

The natural move is a product-form ansatz V(d,n)=A(n)(d/b)α(n)V(d,n) = A(n)(d/b)^{\alpha(n)} and hope for a policy of the form f∗(d,n)=g(n)⋅df^*(d,n) = g(n) \cdot d — same shape, data-dependent slope.

It doesn’t work, and it’s worth understanding why.

Compute the derivatives:

VddV=α(α−1)d2,\frac{V_{dd}}{V} = \frac{\alpha(\alpha-1)}{d^2}, \qquad

That last one is the problem — it carries a ln⁡(d/b)\ln(d/b), so Vn/VdV_n/V_d scales with dd, not with a constant. Substituting f=g(n)df = g(n)d into the first-order condition and clearing denominators:

κˉσ2α+gσ2α(α−1)⏟independent of d  +  2g d2σ2[A′A+α′ln⁡(d/b)]=0.\underbrace{\bar\kappa\sigma^2\alpha + g\sigma^2\alpha(\alpha-1)}_{\text{independent of } d} \;+\; \frac{2g\,d^2}{\sigma^2}\left[\frac{A'}{A} + \alpha'\ln(d/b)\right] = 0.

For this to hold for all d∈(0,b]d \in (0,b], the coefficients of d2d^2 and d2ln⁡(d/b)d^2\ln(d/b) must vanish separately, forcing A′≡0A' \equiv 0 and α′≡0\alpha' \equiv 0 — which means Vn≡0V_n \equiv 0, which via the HJB forces r=0r = 0. Contradiction.

So for r>0r > 0 the optimal policy is nonlinear in dd and has no separable closed form. The explicit condition is

f∗(d,n)=κˉσ2dσ2(1−α)−2d2σ2α[A′A+α′ln⁡(d/b)],f^*(d,n) = \frac{\bar\kappa\sigma^2 d}{\sigma^2(1-\alpha) - \dfrac{2d^2}{\sigma^2\alpha}\left[\dfrac{A'}{A} + \alpha'\ln(d/b)\right]},

which requires self-consistent determination of A(n),α(n)A(n), \alpha(n) — a numerical PDE solve on the (d,n)(d,n) grid.

I think this is the more interesting result. The d2d^2 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 r/μr/\mu. At r=0.01r = 0.01, μ=0.08\mu = 0.08 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 fBGZ=κˉ(n) d/bf^{\mathrm{BGZ}} = \bar\kappa(n)\, d/b. The cross-partial is

∂2fBGZ∂d ∂n=κˉ′(n)b=(κ−κ0) n0b (n0+n)2>0.\frac{\partial^2 f^{\mathrm{BGZ}}}{\partial d\, \partial n} = \frac{\bar\kappa'(n)}{b} = \frac{(\kappa - \kappa_0)\, n_0}{b\,(n_0 + n)^2} > 0.

Strictly positive for all n≥0n \geq 0.

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 f→0f \to 0 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 κ\kappa:

D(n)=κ−κˉ(n)=(κ−κ0)⋅n0n0+n.D(n) = \kappa - \bar\kappa(n) = (\kappa - \kappa_0)\cdot \frac{n_0}{n_0 + n}.

That’s exact, not asymptotic — it falls straight out of the shrinkage formula. Clean O(1/n)O(1/n) decay.

Converting to practical terms with n0=10n_0 = 10 (a moderately informative prior, roughly 10 months of equivalent conviction), and updating monthly:

TargetObservations neededCalendar time
50% of oracle leveragen=n0=10n = n_0 = 10~10 months
90% of oraclen=9n0=90n = 9n_0 = 90~7.5 years
95% of oraclen=19n0=190n = 19n_0 = 190~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 T\sqrt{T} estimation error — no modelling choice is inflating it.


9. Simulation

Setup: μ=0.08\mu = 0.08, σ=0.20\sigma = 0.20, δ=20%\delta = 20\% (so b=0.2231b = 0.2231), horizon T=2T = 2 years, daily rebalancing, N=50,000N = 50{,}000 paths. Prior: μ0=0.05\mu_0 = 0.05, n0=10n_0 = 10. True Kelly fraction κ=2.0\kappa = 2.0.

Each path draws a true drift μi∼N(μ,σu2)\mu^i \sim \mathcal{N}(\mu, \sigma_u^2) and an estimate μ^i=μi+εi\hat\mu^i = \mu^i + \varepsilon^i with εi∼N(0,σ/nobs)\varepsilon^i \sim \mathcal{N}(0, \sigma/\sqrt{n_{\text{obs}}}). Scoring is penalised log-utility, U(π)=E[ln⁡WT⋅1τ>T]+p⋅P(τ≤T)U(\pi) = \mathbb{E}[\ln W_T \cdot \mathbf{1}_{\tau > T}] + p \cdot \mathbb{P}(\tau \leq T) with ruin penalty p=−2p = -2.

Two benchmarks. Exp DDR oracle is an exponential de-risking rule f=κ(1−e−λd/b)f = \kappa(1 - e^{-\lambda d/b}) with λ∗=0.89\lambda^* = 0.89, which is a concave alternative to the linear cushion and beats it by about 15% when κ\kappa is known — this is the strongest available comparator, but it needs the true κ\kappa. Exp DDR plug-in is the same rule with κ^\hat\kappa substituted, which is what you’d actually deploy.

ScenarioStrategyU(π)U(\pi)SurvivalAnn. log-ret
Oracle (nobs→∞n_{\text{obs}} \to \infty)Exp DDR oracle+0.083100%4.14%
Exp DDR plug-in+0.083100%4.13%
Bayes GZ+0.072100%3.62%
5 yr data, σu=0.02\sigma_u = 0.02Exp DDR plug-in−0.00397.3%2.65%
Bayes GZ−0.01097.1%2.42%
2 yr data, σu=0.03\sigma_u = 0.03Exp DDR plug-in−0.16989.6%2.20%
Bayes GZ−0.08493.8%2.17%
1 yr data, σu=0.04\sigma_u = 0.04Exp DDR plug-in−0.33781.6%1.92%
Bayes GZ−0.10492.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 nobs≈3n_{\text{obs}} \approx 3 years. This is consistent with the O(1/n)O(1/n) deficit result: the correction matters when nn is comparable to n0n_0.

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 nobs=2n_{\text{obs}} = 2 years, σu=0.03\sigma_u = 0.03, N=50,000N = 50{,}000:

  • B. Markov regime switching — two-state hidden chain, bull μ+=0.12\mu^+ = 0.12, bear μ−=−0.04\mu^- = -0.04, switching intensity 0.02/yr. Trader can’t observe the regime.
  • C. Student-tt fat tails — ν=4\nu = 4, scaled to match GBM moments.
  • D. Jump diffusion — Merton (1976), λ=2\lambda = 2 jumps/yr, mean log-jump −5%-5\%, jump vol 8%.
  • E. GARCH(1,1) — α=0.10\alpha = 0.10, β=0.85\beta = 0.85, calibrated to unconditional σ=0.20\sigma = 0.20.
EnvUplugU_{\text{plug}}UBGZU_{\text{BGZ}}ΔU\Delta USurvplug_{\text{plug}}SurvBGZ_{\text{BGZ}}Δ\DeltaSurv
A. GBM baseline−0.171−0.086+0.08589.5%93.7%+4.2pp
B. Markov regime switch−0.111−0.055+0.05793.5%96.3%+2.8pp
C. Student-tt (ν=4\nu=4)−0.459−0.421+0.03975.2%77.1%+1.9pp
D. Jump diffusion−0.826−0.867−0.04158.6%56.5%−2.0pp
E. GARCH clustering−0.564−0.645−0.08271.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 μ\mu and known σ\sigma. 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 ∂2f/∂d ∂n\partial^2 f/\partial d\,\partial n depends only on κˉ′(n)>0\bar\kappa'(n) > 0, 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.30

Choosing the prior. n0n_0 is the only real dial, and it’s the equivalent months of conviction you have before seeing data.

Settingn0n_0μ0\mu_0Use case
Conservative20rr (no assumed edge)Unproven strategy, new regime
Neutral10backtest estimateDefault
Aggressive2backtest estimateDecade of live track record

Sensitivity is moderate — the useful range is roughly n0∈[10,20]n_0 \in [10, 20]. 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 μˉ\bar\mu intraday. The signal-to-noise ratio of a daily return is about μ2Δt/σ2≈2.5×10−5\mu^2 \Delta t / \sigma^2 \approx 2.5 \times 10^{-5} — overwhelmingly noise. Monthly or annual. Within a trading period, treat κˉ(n)\bar\kappa(n) 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 Δf\Delta f 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:

  1. 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.
  2. Volatility clusters strongly. No vol-state variable here. GARCH-like environments favour a more responsive rule.
  3. Drift is non-stationary in a way you can model. If you can estimate a regime process, do that — a sliding-window prior with n0n_0 matched to regime half-life is a crude patch, not a solution.
  4. Estimation window comes from a different regime. The whole shrinkage logic assumes μ^\hat\mu is a noisy estimate of the same μ\mu you’re about to trade. If the regime changed, shrinking toward a stale prior is worse than useless.
  5. 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.
  6. You have decades of data. At nobs≥5n_{\text{obs}} \geq 5 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 r>0r > 0. The non-separability result says a closed form doesn’t exist, but a finite-difference solve on the (d,n)(d, n) grid is well-posed and would pin down how much the linear approximation costs.
  • Multi-asset. Replacing κ\kappa with the Markowitz tangency vector Σ−1(μ−r1)\boldsymbol{\Sigma}^{-1}(\boldsymbol{\mu} - r\mathbf{1}) is formally natural, but the derivation hasn’t been checked in N>1N > 1 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 σ\sigma. 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 environments

Fixed 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.