Optimal bet sizing for edge betting • Maximize geometric growth rate
f* = (bp - q) / b
{
"formula": "f* = (bp - q) / b",
"variables": {
"f_star": "Optimal fraction of bankroll to bet",
"b": "Net odds received (decimal odds - 1)",
"p": "Probability of winning (your estimate)",
"q": "Probability of losing (1 - p)"
},
"alternative_formula": "f* = edge / odds = (p × b - q) / b"
}
// JavaScript implementation
function kellyFraction(probWin, decimalOdds) {
const b = decimalOdds - 1; // Net odds
const p = probWin;
const q = 1 - p;
const kelly = (b * p - q) / b;
// Never bet negative (no edge)
return Math.max(0, kelly);
}
// Example: 55% win probability at 2.0 decimal odds (even money)
kellyFraction(0.55, 2.0) // Returns: 0.10 (bet 10% of bankroll)
// Python implementation
def kelly_fraction(prob_win: float, decimal_odds: float) -> float:
b = decimal_odds - 1
p = prob_win
q = 1 - p
kelly = (b * p - q) / b
return max(0, kelly)
| Scenario | Win Prob | Odds | Kelly % | Interpretation |
|---|---|---|---|---|
| Slight edge, even money | 52% | 2.0 | 4% | Small bet |
| Good edge, even money | 55% | 2.0 | 10% | Medium bet |
| Strong edge, even money | 60% | 2.0 | 20% | Large bet |
| Slight edge, plus odds | 40% | 3.0 | 10% | Medium bet |
| No edge | 50% | 2.0 | 0% | Don't bet |
| Negative EV | 45% | 2.0 | 0% | Don't bet |
Full Kelly is mathematically optimal but has high variance. Most professional bettors use fractional Kelly:
{
"fractional_kelly": {
"half_kelly": {
"multiplier": 0.5,
"benefit": "75% of growth rate, 50% of variance",
"recommendation": "Most common choice"
},
"quarter_kelly": {
"multiplier": 0.25,
"benefit": "Much smoother equity curve",
"recommendation": "Conservative approach"
}
},
"why_fraction": [
"Edge estimates are uncertain",
"Reduces drawdowns significantly",
"Accounts for model error",
"Psychological comfort"
]
}
{
"agent_guidelines": {
"estimate_edge_conservatively": true,
"use_fractional_kelly": "0.25 to 0.5",
"max_single_bet": "5% of bankroll regardless of Kelly",
"track_actual_vs_expected": true,
"recalibrate_model": "If actual results diverge significantly"
},
"common_mistakes": [
"Overestimating edge (most common)",
"Using full Kelly (too aggressive)",
"Not accounting for correlation between bets",
"Ignoring transaction costs/vig"
]
}
For bets with multiple outcomes (e.g., prediction markets):
// Simplified for binary outcomes with multiple simultaneous bets
// Use Kelly for each bet independently, then scale down
// if total allocation exceeds comfort level
{
"simultaneous_bets": {
"uncorrelated": "Can use individual Kelly for each",
"correlated": "Reduce allocation - diversification benefit is reduced",
"rule_of_thumb": "Total exposure should rarely exceed 25% of bankroll"
}
}
{
"polymarket": "https://polymarket.com - Prediction market for Kelly-based betting",
"reference": "'Fortune's Formula' by William Poundstone",
"original_paper": "Kelly, J.L. (1956) 'A New Interpretation of Information Rate'"
}
← Back to Agent Resources