Keel meets Kelly: what ten money-management writeups taught an engine that refuses to bet #368
eaitbrahim
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Based on Will McGinnis's ten-post money-management series (April 2025 - March 2026, accompanying the open-source
keeksbetting library) as analyzed in keel's source review. This is the sizing half of that review, written up for readers deciding how a trading engine should treat bet sizing when it cannot yet prove an edge.The strange headline
We read the series looking for sizing ideas to steal. The most valuable thing it gave us was a confirmation that doing nothing is the mathematically correct bet.
keel's own measurement — restated honestly under a production-faithful engine — is that no shipped rule family is net-positive at the taker fee actually paid on the venue. Run any formula in this literature on those numbers and the output is the same: the Kelly fraction is zero or negative, so the optimal bet is no bet. Fortune's Formula states the degenerate case plainly — on a fair coin, the Kelly bet is zero. A trading engine whose live path refuses to promote an unproven rule is not being timid. It is being Kelly-consistent under estimation uncertainty.
That framing organize everything else the series taught us.
The series in ten lines
f* = (p·b − q)/b: maximize log-wealth growth; bet more with bigger edge, nothing without one. Needs probability estimates you can trust.f* = μ/(γσ²): Kelly generalized by a risk-aversion parameter γ; γ = 2 keeps ~84% of returns at ~61% less volatility.f × f*; half Kelly ≈ 75% of growth at half the variance; the standard concession to estimation error.(1 − d/D) × Kelly: de-risk linearly toward your maximum acceptable drawdown D.TWR = Π(1 + f·Rᵢ)maximized over actual trade history; the post itself warns it's unreliable under ~30-50 trades and needs a 50-70% safety factor.bet = f × bankroll: simple, ruin-proof, edge-blind; optimal fixed fractions sit below Kelly; start at 1-2%.bet = m × (bankroll − floor): protect a floor, scale exposure to the cushion; watch gap risk.One translation warning before comparing
The series sizes a stake — a fraction of bankroll wagered on a binary outcome. keel sizes a risk — a fraction of equity lost if the stop holds:
qty = equity × risk_pct / |entry − stop|, with notional bounded separately by hard caps. A keel position's notional can be a large multiple of its risk when the stop is tight. Kelly comparisons against keel must be made on risk fractions, never notional. (The same trap runs the other way: a tighter stop means a larger position, not a safer one.)What keel already has, in the series' vocabulary
Reading the ten posts with keel's source open, most of the machinery is already present — usually in a stronger form:
risk_pct = 1%), risk-defined rather than stake-defined. The series' "start at 1-2%, optimal sits below Kelly" matches keel's setting exactly.(1 − d/D)throttle is queued as a paper experiment, below).m > 0form that would re-risk into a drawdown. keel's gap risks are separately blunted: no leverage, no shorting, and a routing-time spread gate refuses live entries into thin books.Three things the series argues for that keel rejected (with reasons)
What keel is actually taking from the series
Three adoptions, all instrumentation around the do-not-bet posture rather than departures from it:
f*from the rule's own fills — win rate, payoff ratio — and print it beside the gates:kelly_f_star = −0.003; risk_pct 1% vs f* ≤ 0: no edge to size on. Report-only. It restates the honest result in the sizing vocabulary at the exact moment a human decides whether to promote.min(risk_pct, 0.25 × f*_forward)— the series' individual-investor recommendation — computed on forward fills, fail-closed. Until a rule promotes, there is nothing for it to bind, so it stays a specification in the review document, not code.(1 − d/D)between a soft floor and the existing hard ceiling, measured through keel's hash-chained experiment ledger over ≥ n=100 pooled forward signals, judged on drawdown distribution, recovery time, and forgone winners — with the series' own "slower recovery" cost stated up front.The closing honesty
The series ends by choosing strategies by risk tolerance and psychology. keel's constraint comes earlier in the pipeline: the edge itself is unproven, and every formula in the literature agrees on what that implies. When a rule someday clears keel's gates, the fractional-Kelly ceiling is waiting to make sure the first live dollar doesn't celebrate too hard. Until then, the engine's most sophisticated sizing feature is the one it had all along: it declines.
Full findings, formulas, and per-source verdicts: the source review. keel's evidence pipeline context: the ~940 signals/year announcement.
All reactions