Skip to main content
AI Fin Hub

Calculator

Kelly Criterion Calculator

Fractional Kelly bet-size calculator: full/half/quarter Kelly, Monte Carlo drawdown simulation, ruin probability, per-trade cap.

Runs in your browser. Nothing you enter is uploaded, and no account or API key is needed.

Education, not investment advice. Past performance does not predict future results. How we check our numbers.

Inputs

Win rate

Share of trades that win.

Win / loss ratio

Average win divided by average loss: 1.5 = winners are 1.5× the size of losers.

Kelly fraction

Quarter Kelly is a common choice when win rate and payoff are estimates.

Single-trade cap

Most of the bankroll ever risked on one trade, whatever Kelly says.

Trades per path
Simulated paths
Ruin threshold

A path counts as ruined once the bankroll falls to this share of the start.

Random seed 42

Bet size

6.25%

Quarter Kelly of bankroll per trade, within the per-trade cap. Strong edge.

Raw Kelly: 25.00%. Fractional: 6.25%

Drawdown profile

Median DD

44.7%

typical

95th pct DD

62.7%

tail

Ruin rate

0.60%

bankroll < 50%

Bankroll multiple after 500 trades

5th pct

1,400×

worst 5%

Median

24,235×

typical

95th pct

285,642×

best 5%

Bankroll paths (Monte Carlo)

Median = line · 5th to 95th percentile = shaded

What this tool computes

Kelly fraction is the bet size that maximizes expected long-run log-growth of bankroll, given a known win rate and win/loss ratio. Fractional Kelly (half, quarter, eighth) reduces that size — a common practical choice because real-world win rates are estimated, not known, and full Kelly is unforgiving of overestimates.

The Monte Carlo simulator then runs independent paths of the same strategy at the capped bet size to show the distribution of outcomes, not just the expected value. Each win pays the win/loss ratio and each loss costs 1, both scaled by a random factor of 1 + 0.1 × N(0, 1) (floored at 0.1). The shaded band spans the 5th to 95th percentile of paths at each trade. The ruin rate is the share of paths that touched the ruin threshold at least once. The simulation is seeded, so the same inputs and seed always give the same result.

How to use it

  1. Enter win probability p (decimal 0-1) and win/loss ratio b (avg win / avg loss). These are the only required inputs — no historical data upload needed.
  2. Pick a Kelly fraction (full / half / quarter / eighth). Quarter-Kelly is a sensible default for real-world strategies where p and b are estimated from data.
  3. Set a single-trade absolute cap (e.g., 5% of bankroll max). This bounds the worst case even if the formula recommends more.
  4. Read the Monte Carlo results, which update as you change inputs: median and 5th-percentile ending bankroll, drawdowns and ruin rate together. A high median with a high ruin rate means the strategy gambles for growth.
  5. If the ruin rate is not zero, try a smaller Kelly fraction or a lower cap. Change the trade count to see how the spread of outcomes widens over a longer horizon, and draw a new sample to check the result is not a lucky seed.

Questions people ask

Why does Kelly recommend a fraction of bankroll, not a fixed dollar amount?

Kelly's 1956 derivation maximizes the long-run expected log-growth of bankroll. Fixed dollars don't compound efficiently because winning bets aren't pressed and losing streaks don't shrink the bet size. Fractional sizing keeps geometric growth optimal; the cost is that drawdowns can be severe at full Kelly.

Should I bet full Kelly?

No, not when you estimated p and b from data. Full Kelly assumes you know the true win rate and win/loss ratio. With estimation error, full Kelly often turns into over-betting and ruinous drawdowns. Half-Kelly (0.5×) or quarter-Kelly (0.25×) is the standard real-world choice — Thorp and MacLean argue this in print.

What's the ruin rate output mean?

It's the fraction of simulated paths where bankroll fell below the threshold you set (typically 50% of starting capital). Ruin rate is sensitive to Kelly fraction, edge size, and number of trades. A non-zero ruin rate at quarter-Kelly is a sign your estimated edge is too thin or your trade count is too high.

Why does the simulator use Gaussian noise on outcomes?

Real strategies don't have flat $1 wins and $b losses — there's a distribution around the average. The simulator multiplies outcomes by (1 + 0.1·N(0,1)), floored at 0.1, to inject mild variance. This gives more realistic drawdown distributions than a deterministic model. Heavy-tailed strategies (e.g., option selling) need a smaller Kelly fraction than this Gaussian-noise floor implies.

Does Kelly work for trading?

Kelly was originally formulated for repeated independent bets with known parameters — closer to blackjack than markets. Trading violates several Kelly assumptions: edges drift (regime change), trades correlate (sector exposure), and outcome distributions have fat tails. Treat Kelly as a sizing ceiling, not a target. Most professional traders run far below Kelly-optimal.

  • Calculators Backtest Overfitting Score

    Upload a backtest trade log and compute Probability of Backtest Overfitting (PBO), Deflated Sharpe Ratio, and the odds your edge survives live trading.

  • Calculators Risk-Adjusted Returns Calculator

    Paste a returns CSV. Sharpe, Sortino, Calmar, Omega, alpha, beta, tracking error, information ratio, max drawdown, and tail moments — plus.

  • Calculators Efficient Frontier Calculator

    Paste a multi-asset returns CSV. See the Markowitz mean-variance frontier, the minimum-variance portfolio, the max-Sharpe (tangency) portfolio.

All articles
  • Workflow Validate your strategy

    Pressure-test a quant or LLM-augmented strategy before paper-trading or production.

  • Workflow Size your bets

    Compute Kelly fraction, drawdown bounds, and correlated exposure across a book.

Use it from code

The same calculation as a JavaScript module you can import. It runs where you import it, with no request, key or rate limit.

import { compute } from "https://aifinhub.io/engines/kelly-sizer.js";

Input and output contract and the guide for agents.