Kelly Criterion: The Math Behind Crypto Position Sizing
Learn how the Kelly Criterion helps crypto traders size positions mathematically, manage risk, and grow portfolios without blowing up accounts on Binance, Bybit, or OKX.
Learn how the Kelly Criterion helps crypto traders size positions mathematically, manage risk, and grow portfolios without blowing up accounts on Binance, Bybit, or OKX.
Most crypto traders blow up their accounts not because they pick bad trades — but because they size them wrong. You can have a 60% win rate strategy and still go broke if you put 50% of your stack on every trade. The Kelly Criterion is a mathematical formula developed by John L. Kelly Jr. in 1956 that tells you exactly how much of your capital to risk on each trade based on your statistical edge. Originally developed for telephone signal noise problems at Bell Labs, it was later adopted by professional gamblers and investors including Ed Thorp and Warren Buffett. Today, it's one of the most powerful and underused tools available to serious crypto traders.
The Kelly Criterion answers one of the most important questions in trading: how much should I risk? Not which asset to buy or whether a setup looks good — but exactly how much capital to allocate given your statistical edge over many trades.
The formula is elegantly simple:
K% = W − [(1 − W) / R] Where: • K% = the fraction of your bankroll to risk on each trade • W = your historical win rate (e.g., 0.55 for 55%) • R = your win/loss ratio (average winning trade ÷ average losing trade)
For example: if your strategy wins 55% of the time and your average winner is 1.5x your average loser, the math looks like this: K% = 0.55 − [(1 − 0.55) / 1.5] = 0.55 − 0.30 = 0.25. Kelly says to risk 25% of your capital on each trade. We will get to why you should almost never follow that number literally — but first, understand what it represents: the mathematically optimal position size to maximize the long-run geometric growth of your portfolio. Risk less than Kelly, and you leave growth on the table. Risk more, and you expose yourself to catastrophic drawdowns that no winning streak can recover from.
One immediate insight the formula gives you: if K% comes out negative, your strategy has negative expected value. You are losing money on average, and no amount of clever position sizing can fix that. The right response to a negative Kelly is to stop trading that setup entirely, not to tweak your bet size.
Before Kelly can help you, you need accurate data from your own trading history. This is where most traders stumble — they overestimate their win rate, cherry-pick favorable periods, or use too small a sample. The formula is only as good as the data going into it.
Your win rate is simply the number of profitable closed trades divided by total closed trades. If you executed 100 trades last month and 58 closed in profit, your win rate is 0.58. Simple — but the sample size matters enormously. Twenty trades is statistically meaningless. Aim for at least 50 to 100 trades before trusting any win rate estimate for Kelly calculations.
Your R-ratio requires a bit more work. Go through your trade history — Binance Futures and OKX both let you export a full trade history CSV — and calculate the average dollar gain on winning trades and average dollar loss on losing trades. If your average winner nets $450 and your average loser costs $300, your R is 1.5.
| Metric | Value | Notes |
|---|---|---|
| Total trades | 120 | Large enough sample |
| Winning trades | 66 | Win rate W = 0.55 |
| Average winning trade | $450 | Dollar amount, not % |
| Average losing trade | $300 | Dollar amount, not % |
| R ratio | 1.5 | 450 ÷ 300 |
| Kelly % | 25% | 0.55 − (0.45 ÷ 1.5) |
| Half-Kelly (recommended) | 12.5% | Use this in practice |
One thing traders frequently get wrong: they include commissions and fees in their winners but forget to include them in their losers. Always calculate net P&L after fees. On Binance Futures, the taker fee is 0.04%; on Bybit it's similar. Over hundreds of trades these fees matter for your R-ratio accuracy.
A 25% position size sounds bold but manageable in theory. In crypto, it's often a fast track to a margin call. The Kelly formula assumes you know your win rate and R-ratio with certainty. In real trading — especially in crypto with its volatile, regime-shifting markets — your edge is never static. A strategy that performed beautifully during a Bitcoin bull run can have completely different statistics in a bear market or sideways consolidation. Your historical data is always a lagging estimate of your true edge.
Because of this uncertainty, professional traders from poker players to quantitative hedge funds almost universally use Half-Kelly or even Quarter-Kelly in practice. The math behind this is compelling: at Full Kelly, a streak of 10 consecutive losses — entirely realistic in crypto — can wipe out over 90% of your portfolio. At Half-Kelly, the same streak leaves you with roughly 30% remaining. Painful, but survivable. You can rebuild from 30%. You cannot trade from 7%.
Key Takeaway: For most crypto traders, Half-Kelly is the practical sweet spot. It accounts for the uncertainty in your edge estimates while still providing meaningful position sizing discipline. Start there and only move toward Full Kelly once you have 200+ trades of consistent data.
The actual mechanics of applying Kelly vary slightly by platform, but the core process is always the same: define your risk amount in dollars first, then work backwards to determine how many contracts or coins to buy.
On Binance Futures, Kelly fits naturally into manual order entry. If your bankroll is $10,000 and Half-Kelly says risk 12.5%, you are allocating $1,250 of risk to this trade. Set your stop-loss level first based on technical analysis — say, 3% below entry. Then calculate position size: $1,250 ÷ (entry price × 0.03) = number of units. Never enter first and set the stop later. The stop-loss defines the risk, and the risk defines the size.
Bybit and OKX both offer portfolio margin modes where your total margin is shared across positions, making multi-position Kelly more nuanced. When running multiple trades simultaneously, the Kelly percentages need to be scaled down because the formula assumes independence between bets — and correlated crypto positions are anything but independent. A practical rule: if running 4 simultaneous positions in similar assets, divide your individual Kelly allocation by 4 to avoid doubling your actual risk exposure.
Coinbase Advanced is more conservative with leverage limits by default, which actually helps enforce Kelly discipline — you cannot recklessly over-lever even if you wanted to. Bitget and Gate.io both offer copy-trading features; if you allocate capital to multiple copy traders, Kelly logic applies to how you distribute funds across them, treating each trader's allocation as an independent position.
def kelly_position_size(bankroll, win_rate, avg_win, avg_loss, kelly_fraction=0.5):
"""
Calculate Kelly-sized position risk in dollars.
kelly_fraction=0.5 applies Half-Kelly by default.
"""
r = avg_win / avg_loss
kelly_pct = win_rate - ((1 - win_rate) / r)
if kelly_pct <= 0:
return 0 # no edge, don't trade
risk_dollars = bankroll * kelly_pct * kelly_fraction
return round(risk_dollars, 2)
# Example: $10,000 bankroll, 55% win rate, 1.5 R-ratio
risk = kelly_position_size(
bankroll=10000,
win_rate=0.55,
avg_win=450,
avg_loss=300
)
print(f"Risk per trade: ${risk}") # Output: Risk per trade: $1250.0
Kelly is a position-sizing engine, not a signal generator. It tells you how much to bet — not when or what to trade. This is where combining it with quality signals creates a genuinely powerful system.
Platforms like VoiceOfChain provide real-time trading signals built on technical analysis, on-chain data, and market sentiment. When you receive a signal with a defined entry, stop-loss, and target, the R-ratio is already embedded in the signal itself. If a VoiceOfChain signal shows a 2:1 reward-to-risk setup and your historical win rate on similar signals is 55%, you can plug those numbers directly into the Kelly formula and get your exact allocation in seconds. This removes the guesswork and emotional sizing that kills most traders.
The combination works because signals handle the question of which trades to take while Kelly handles how much to stake on each one. Neither tool alone is sufficient. A great signal provider with terrible position sizing still loses. A perfect Kelly implementation applied to random coin flips still loses. Together, they address both dimensions of trading performance.
One advanced adjustment worth knowing: dynamic Kelly. During high-volatility regimes — a Bitcoin halving event, a major macro shock, a regulatory announcement — experienced traders voluntarily reduce their Kelly allocation by 30 to 50%. The Kelly formula was designed for stable statistical environments. Crypto is anything but stable, and when volatility spikes, your historical win rate and R-ratio become less reliable predictors of future results. Shrinking your Kelly allocation during chaos is not timidity — it is rational adaptation to measurement uncertainty.
Key Takeaway: Track every trade in a spreadsheet or journal. Update your win rate and R-ratio every 20-30 trades. If your win rate shifts by more than 5 percentage points, recalculate your Kelly percentage immediately. The system is only as current as your data.
The Kelly Criterion will not tell you which trades to take. It will not predict whether Bitcoin breaks to new highs or crashes hard. What it will do — when applied consistently with honest data — is ensure that over a long series of trades you extract maximum value from your real edge without gambling your entire portfolio on any single outcome. Most traders never calculate their actual edge. They size positions by gut feel, by FOMO, or by copying what someone else posted. Kelly forces you to confront your actual statistical performance and translate it into a disciplined, mathematically grounded action.
Start by exporting your trade history from Binance, Bybit, OKX, or whichever platform you use. Calculate your real win rate and real R-ratio across at least 50 trades. Plug those numbers into the formula. Apply Half-Kelly. Track the next 30 trades with that sizing. Recalculate. Adjust. The discipline of the process will teach you more about your own trading than any strategy video ever will — and your account balance will reflect it.