What it does
- Simulates bankroll outcomes for a sequence of bets priced in American odds (+150, -120).
- Uses your EV% edge and odds to derive the win probability and run Monte Carlo simulations.
- Visualizes variance: final bankroll distribution, sample bankroll path, risk of ruin, drawdowns.
- Supports fixed, percent, and Kelly-based bet sizing.
- Optional commission on wins.
Key concepts
- American odds: Enter +X for underdogs, -X for favorites (e.g., +150, -120).
- EV% (edge): Expected profit per bet as a percent of stake.
- EV% formula: EV% = d_eff × p − 1, where d_eff is decimal odds after commission, p is your true win probability.
- The simulator derives p from your EV% and d_eff: p = (1 + EV%)/d_eff.
- Commission: Reduces payouts on wins; enter as a percent.
How to use
- Inputs
- Starting bankroll: Your initial capital.
- Number of bets: Bets per simulated run (season).
- Simulations: How many runs to simulate. More = smoother charts, slower compute.
- American odds: Entry price, like -110 or +150.
- EV% (edge): Your estimated edge per bet (e.g., 2.0 for 2%).
- Commission/Vig %: Optional haircut on winnings.
- Bet sizing:
- Fixed stake: Same dollar amount each bet.
- Percent of bankroll: Stake = X% of current bankroll (compounding, higher volatility).
- Kelly fraction: Stake = user_fraction × Kelly*, with Kelly* = (b·p − (1−p))/b and b = d_eff − 1.
- Kelly fraction f: Only used in Kelly mode (e.g., 0.5 = half-Kelly).
- Random seed: Optional; set for reproducible results.
- Run
- Click “Run simulation.” The app draws one sample bankroll path and then runs all simulations in chunks.
- “Stop” cancels a run in progress.
Outputs and charts
- Expected profit (theoretical): Approx nBets × initial stake × EV%.
- Note: For percent/Kelly staking, actual results compound; this KPI is a baseline.
- Median final bankroll: 50th percentile of final bankroll across sims.
- Risk of ruin: Fraction of sims where bankroll hit zero before completing all bets.
- Avg. max drawdown: Average worst peak-to-trough decline per sim.
- P(ending down): Probability your final bankroll is below the starting bankroll.
- Final bankroll distribution: Histogram of ending bankroll across sims. A red dashed line marks the starting bankroll.
- Sample bankroll path: One simulated trajectory showing swings over your n bets.
Bet sizing details
- Fixed stake: Lower volatility, easier to interpret expected profit.
- Percent stake: Scales with bankroll; can reduce risk as bankroll falls but increases variance when bankroll is large.
- Kelly mode:
- The app computes the Kelly fraction using your implied p and b = d_eff − 1, then multiplies by your “Kelly fraction f.”
- Full Kelly (f=1) maximizes long-term growth but can be very volatile. Many use half-Kelly (f≈0.5).
Tips
- Calibrate EV% carefully. Small changes (e.g., 1–2%) can dramatically affect ruin risk and drawdowns depending on stake size and odds.
- Higher odds (big underdogs) increase variance even with the same EV%.
- Use a seed when you want to reproduce the same charts for screenshots or presentations.
- If results look “too smooth,” increase the number of simulations for a more stable distribution view.
Common pitfalls
- Entering non-integer American odds: Use integers like -110 or +150.
- EV% mismatch: If you type a large EV% with short odds, the implied win probability may get clipped to [0,1]. Keep EV realistic.
- Commission: It applies to payouts on wins; this lowers d_eff and reduces your effective edge.
Formulas reference
- Decimal from American: d = 1 + A/100 if A > 0; d = 1 + 100/|A| if A < 0.
- Effective decimal with commission c%: d_eff = 1 + (d − 1) × (1 − c).
- Edge to probability: p = (1 + EV)/d_eff, where EV is EV% in decimal.
- Kelly fraction*: f* = (b·p − (1 − p))/b, with b = d_eff − 1.
