Enhanced Kelly Criterion for Consumption-Based Portfolio Optimization
A research project that extends the classic Kelly Criterion betting strategy by incorporating consumption decisions, using Bellman-equation-inspired dynamic programming to optimize for both capital growth and consumption utility.
Overview
This project enhances the classic Kelly Criterion — a well-known strategy for optimal bet sizing that maximizes long-term geometric growth of wealth — by incorporating consumption decisions. While the standard Kelly Criterion focuses exclusively on capital accumulation, real-world investors must also decide how much to consume versus reinvest at each point in time.
The solution approach uses Python-based dynamic programming techniques inspired by the Bellman equation, iteratively solving for optimal betting and consumption policies across multiple periods.
Motivation
The standard Kelly Criterion has a well-known limitation: it assumes the investor never consumes from their wealth, focusing purely on maximizing long-term capital growth. In practice, investors face a trade-off between consuming today (which provides immediate utility) and saving for future consumption (which requires reinvesting). This project addresses that gap by formulating an extended optimization problem where the agent simultaneously chooses bet sizes and consumption levels to maximize expected lifetime utility.
Methodology
- Bellman Equation Framework: The problem is formulated as a dynamic programming optimization where the value function at each state (wealth level, time period) depends on the optimal choice of consumption and bet fraction. The Bellman equation recursively relates current-period utility plus discounted future value to determine the globally optimal policy.
- Value Function Iteration: Using Python, the value function is computed iteratively over a discretized state space. Starting from a terminal condition (final period), the algorithm works backward through time, computing optimal consumption and betting decisions at each wealth level.
- Policy Function Analysis: The resulting policy functions — mapping current wealth to optimal consumption and bet fractions — reveal how the trade-off between consumption and investment evolves as wealth changes over time.
Implementation
The model was implemented in Python with numerical methods for solving the dynamic programming problem. Key implementation details include discretization of the continuous wealth state space into a grid of values, numerical optimization at each grid point to find the consumption and bet fraction that maximize the Bellman objective, and generation of value function plots Vₜ(x) showing how optimal lifetime utility varies with current wealth at different time periods.
Key Findings
The enhanced model produces consumption and betting policies that differ meaningfully from the standard Kelly Criterion. Near the beginning of the investment horizon, when future utility is heavily discounted relative to current consumption, the optimal policy involves higher consumption rates. As the horizon extends, the model converges toward more aggressive reinvestment — approaching the classic Kelly fraction for very long horizons.
Visualizations & Results