1. Introduction: The Failure of Scalar Kelly in Concurrent Betting
In quantitative wagering and algorithmic sports trading, John L. Kelly Jr.'s seminal 1956 paper, "A New Interpretation of Information Rate," provides the mathematical foundation for optimal bet sizing. The classic scalar Kelly formula determines the exact proportion of capital that maximizes the asymptotic geometric growth rate of wealth when evaluating a single wager in isolation:
Where represents the true subjective probability of the outcome, denotes the probability of defeat, is the net decimal odds payout, and is the gross decimal price quoted by the sportsbook. When sequential bets occur strictly one after another—such that the outcome of bet is fully resolved and settled into the bankroll before wager is struck—scalar Kelly staking guarantees optimal long-term log-utility maximization while ensuring a theoretical zero probability of absolute ruin.
Concurrent positions use the same bankroll before settlement. Independently computed scalar Kelly fractions can sum above one, but this depends on the input probabilities and prices, not a typical number of weekly opportunities. Check aggregate feasibility and joint-state wealth; even fractions that sum below one need not maximize portfolio log growth.
Furthermore, sporting propositions that occur concurrently are frequently not statistically independent. Wagering on Team A to win on the 1X2 moneyline, Team A to clear their Asian Handicap spread of -1.5, and the match to exceed Over 2.5 Total Goals introduces severe multi-asset covariance. Naively applying scalar Kelly to correlated simultaneous propositions dramatically overestimates portfolio diversification and leads to lethal over-allocation on latent underlying factors.
To allocate capital across multiple concurrent wagering opportunities without inducing bankruptcy or sub-optimal growth, sports quants must transition from scalar arithmetic to multivariate portfolio Kelly optimization. This technical monograph provides the rigorous mathematical formulation of the simultaneous Kelly criterion, proves the analytical scaling properties under independence, derives the quadratic programming framework for correlated asset matrices, and establishes practical heuristics for institutional bankroll management.
2. Mathematical Formulation: Maximizing Log Wealth with Multiple Opportunities
Let an investor possess an initial capital bankroll . At decision epoch , there are concurrent, mutually non-exclusive betting propositions available. The bettor allocates a fraction vector of their current wealth, where represents the proportion of total capital committed to proposition . The remaining unallocated fraction is held in risk-free cash earning zero return.
Across the events, there exist possible joint state outcomes (or if ternary football outcomes are evaluated). Let the set of all mutually exclusive joint states be denoted by , where each state occurs with joint probability such that .
For each joint state , define the gross return vector , where represents the net return per unit staked on bet under state :
Under joint state , the total portfolio wealth multiplier is defined as the sum of unallocated capital plus the terminal value of all active wagers:
Following the Kelly paradigm, the quantitative investor seeks to maximize the expected geometric growth rate of wealth, which is equivalent to maximizing the expected value of the logarithmic utility function . The objective function is formally stated as:
Subject to the essential physical solvency and anti-leverage constraints:
And the strict survival condition ensuring that no realizable state can wipe out the bankroll:
The quadratic program below is the second-order approximation with A. Its KKT conditions characterize a solution when the usual constraint qualifications hold. Positive semidefiniteness gives concavity of the approximated growth objective, not a measured execution time or automatic numerical success. The exact objective is concave; strict uniqueness additionally requires the positive-probability return vectors to distinguish feasible directions. Redundant positions can share an optimum.
3. Independent states and the quadratic approximation
Independence makes joint state probabilities factor into their marginals. It does not split the logarithm of total wealth into separate logarithms for each bet. Capital is committed simultaneously, so an exact optimum still solves the joint-state objective. For two independent binary bets with odds 2 and win probability 0.6, scalar Kelly is 0.2 each, but exact simultaneous Kelly is 5/26, about 0.1923076923 each. The losing-losing state has probability 0.16 and wealth multiplier 1-2f; mixed states have multiplier 1, and winning-winning has probability 0.36 and multiplier 1+2f. Differentiating this objective gives the stated optimum.
The second-order Taylor expansion uses the second-moment matrix A, not just covariance C. The omitted outer product of mean returns is nonzero whenever edges are nonzero. Even for independent bets, A has off-diagonal entries mu_i mu_j. A diagonal covariance approximation can be useful near small mean returns, but is an additional approximation. Its accuracy depends on all possible portfolio returns being small enough for the logarithmic expansion. The unconstrained stationary point may violate the budget or nonnegative stakes and then must not be used as an allocation.
Proportional scaling preserves ratios of nonnegative scalar fractions and enforces a selected budget. It is a feasible heuristic, not the solution of the constrained exact or quadratic objective in general. A cap such as 0.20 is an illustrative exposure choice, not a universal institutional standard or guarantee about drawdowns. Positions with different odds and probabilities need not shrink by a common optimal factor.
4. Covariance, dependence and the matrix inverse
For a fixed nonnegative portfolio, positive covariance increases variance relative to zero covariance. It does not imply that every component of a reoptimized portfolio must decrease. The following inverse solves the unconstrained covariance surrogate C f=mu. It is exact linear algebra for that surrogate, not an exact formula for log-optimal betting. C must be nonsingular; negative results would also conflict with a long-only budget.
With C=[[4,0.6],[0.6,1]] and mu=(0.4,0.2), the determinant is 3.64 and the solution is(0.0769230769,0.1538461538). Multiplying C by this vector recovers mu. Equal means and variances give mu/(sigma²(1+rho)) in this covariance surrogate, so rho 0.5 reduces this particular approximation by one third. That percentage is not universal for the exact joint-state problem.
For an illustrative correlated binary pair O1=1.90,p1=0.55,O2=2.05,p2=0.52,p12=0.35, the four state probabilities are 0.35,0.20,0.17,0.28. Covariance is 0.24928 and correlation about 0.25750. Neither number determines a universal percentage reduction of stakes. A valid joint distribution is required; a covariance matrix alone does not specify all log-growth states.
5. Constraints and numerical acceptance
The code evaluates the exact independent binary joint-state objective rather than this quadratic program. State count grows as 2^n, so the educational example accepts at most 12 bets. A cap below 1 keeps wealth positive in every enumerated state. Input finiteness, optimizer success, nonnegative stakes and the returned budget are checked before a result is exposed. Same-match correlations, pushes, half-wins, commissions and voids need an explicitly extended joint-state model.
6. Practical Numerical Example: 5-Bet Saturday Portfolio
The five rows below are hypothetical independent binary wins, including Inter to win outright, not DNB. Their probabilities are assumptions, not measured forecasts. Their scalar fractions sum to 0.4836491228. The selected cap is 0.20. The two vectors below use full input precision before display rounding; expected growth is expected log wealth per round, not a realized ROI or drawdown prediction.
| Bet ID | Fixture / Market | Quoted Odds () | True Prob () | Edge () | Scalar Kelly () | Scalar Stake |
|---|---|---|---|---|---|---|
| Bet 1 | Arsenal ML (Home Win) | 1.95 | 55.0% | +7.25% | 7.63% | $7,632 |
| Bet 2 | Liverpool -1.5 Asian Hcap | 2.25 | 48.0% | +8.00% | 6.40% | $6,400 |
| Bet 3 | Real Madrid Over 2.5 Goals | 1.80 | 60.0% | +8.00% | 10.00% | $10,000 |
| Bet 4 | Bayern Munich ML | 1.50 | 71.0% | +6.50% | 13.00% | $13,000 |
| Bet 5 | Inter win (binary) | 1.75 | 62.0% | +8.50% | 11.33% | $11,333 |
Scaling and exact optimization give different vectors. For the specified independent distribution, scaled growth is 0.0120732581703 and optimized growth is 0.0121349525481. The objective gap is small but disproves the claim that proportional scaling is an exact optimum. No 82% growth retention or 60% drawdown reduction is established. Different dependence or probability inputs require recalculation.
7. Python Implementation: Solving Multivariate Kelly via SciPy
Below is a illustrative Python implementation of the Simultaneous Kelly portfolio optimizer. The script constructs the joint state probability distribution, builds the non-linear log-growth objective, and solves the constrained optimization problem using scipy.optimize.minimize.
import numpy as np
from scipy.optimize import minimize
def solve_simultaneous_kelly(odds, true_probs, max_bankroll_fraction=0.25):
"""Illustrative exact state objective for at most 12 independent binary bets."""
odds = np.asarray(odds, dtype=float)
probs = np.asarray(true_probs, dtype=float)
cap = float(max_bankroll_fraction)
if (odds.ndim != 1 or probs.shape != odds.shape or not 1 <= odds.size <= 12
or not np.all(np.isfinite(odds)) or np.any(odds <= 1)
or not np.all(np.isfinite(probs)) or np.any((probs < 0) | (probs > 1))
or not np.isfinite(cap) or not 0 <= cap < 1):
raise ValueError("Require 1..12 binary bets, finite odds>1, p in [0,1], cap in [0,1).")
n = odds.size
states = ((np.arange(1 << n)[:, None] >> np.arange(n)) & 1).astype(float)
weights = np.prod(np.where(states == 1, probs, 1-probs), axis=1)
returns = states * odds - 1
def loss(f):
wealth = 1 + returns @ f
if np.any(wealth <= 0):
return np.inf
return -float(weights @ np.log(wealth))
def gradient(f):
return -(weights / (1 + returns @ f)) @ returns
scalar = np.maximum(0, (probs * odds - 1) / (odds - 1))
total = scalar.sum()
initial = scalar * min(1, cap / total) if total else scalar
if cap == 0:
return {"optimal_fractions": np.zeros(n), "total_allocation": 0.0,
"expected_growth_rate_per_round": 0.0, "success": True}
result = minimize(loss, initial, jac=gradient, method="SLSQP",
bounds=[(0, cap)] * n,
constraints=[{"type": "ineq", "fun": lambda f: cap-f.sum(),
"jac": lambda f: -np.ones(n)}],
options={"ftol": 1e-13, "maxiter": 1000})
if not result.success:
raise RuntimeError("Optimizer did not converge.")
f = np.asarray(result.x)
if (not result.success or not np.all(np.isfinite(f))
or np.min(f) < -1e-10 or f.sum() > cap + 1e-10
or np.any(1 + returns @ f <= 0) or not np.isfinite(loss(f))):
raise RuntimeError("Optimizer failed or returned an infeasible allocation.")
return {"optimal_fractions": f, "total_allocation": float(f.sum()),
"expected_growth_rate_per_round": -loss(f), "success": True}
8. Risk Management: Drawdown Expectations and Portfolio Fractional Kelly
Even with rigorous multivariate optimization, Full Simultaneous Kelly carries significant psychological and practical friction. In real-world sports trading environments, several operational realities require introducing additional safety buffers:
- Model Parameter Uncertainty: True win probabilities are never known with infinite precision. If a machine learning model estimates with a 95% confidence interval of , sizing at Full Kelly risks devastating over-staking if the true edge lies in the lower quartile.
- Full Kelly maximizes expected log growth under a specified model, but drawdown probabilities require a barrier definition, horizon and return process. There is no universal exact 50% probability of a50% drawdown before doubling.
- Execution Liquidity Squeezes: Bookmaker stake limits may restrict an analyst from deploying the exact theoretical fraction, forcing non-uniform portfolio distortions.
Repeated-round growth results require a stable specified distribution and integrable log returns. They do not establish dominance for every path or a unique vector when return directions are redundant. Half/Quarter growth ratios depend on the distribution;75%/43.75% arise only in a quadratic expansion around an interior optimum. Drawdown probabilities also require a horizon and a defined barrier or peak metric. The implementation does not compute them.
