1. Введение: фундаментальный закон разорения игрока
Нужно различать три события: абсолютное разорение при нулевом банке или невозможности оплатить следующую обязательную ставку; достижение фиксированной доли начального банка; просадку от текущего максимума. В разделе 2 сохранена классическая модель с границей в нуле. Таблица симуляции измеряет достижение половины начального банка за 2 000 ставок. Это не нулевой банк и не просадка на 50% от текущего пика.
В теории вероятностей и стохастическом моделировании капитала риск разорения (Risk of Ruin, RoR) является главным ограничением любой деятельности, связанной со ставками. Формализованный Христианом Гюйгенсом (1657) и Пьером Ремоном де Монмором (1708) в классической задаче о разорении игрока, риск разорения означает вероятность того, что траектория капитала коснется нижней поглощающей границы, то есть полного банкротства () или просадки, после которой восстановление невозможно (), раньше, чем достигнет верхней целевой отметки.
Среди любителей распространено ошибочное представление, что положительный математический перевес () гарантирует успех. На деле положительное матожидание является необходимым условием долгосрочного роста, но не достаточным. Из-за биномиальной дисперсии, зависимости от траектории и случайного скопления проигрышей беттор с перевесом, но с агрессивной или плохо откалиброванной политикой ставок может разориться задолго до того, как проявится закон больших чисел.
Учебные формулы дают точные решения для упрощенных сценариев с постоянной ставкой, но в реальных ставках на спорт размер ставки меняется, коэффициенты различаются (от фаворитов за 1,25 до аутсайдеров за 8,50), перевес со временем меняется, а модель ошибается в оценках. Чтобы измерить реальную вероятность выживания в таких условиях, используют симуляцию Монте-Карло.
В статье изложены математические основы риска разорения, аналитические формулы сравниваются с симуляцией, показано, насколько дробный Келли снижает хвостовой риск, и приведена векторизованная симуляция на Python на 10 000 траекторий банкролла (полный скрипт: /papers/risk_of_ruin_simulation.py).
2. Аналитический вывод: классическая формула разорения игрока
В классической модели на каждое независимое пари с равной чистой выплатой ставится фиксированная денежная сумма . Вероятности выигрыша и проигрыша равны и . Начальные деньги соответствуют единицам ставки. Верхняя цель измеряется в тех же единицах. Блуждание начинается в единицах и заканчивается в нуле или . Поэтому состояние ниже означает количество единиц ставки, а не деньги.
Разностное уравнение и решение в замкнутой форме
Пусть обозначает вероятность разорения при начальном капитале единиц. Если учесть исход первой ставки, удовлетворяет однородному линейному рекуррентному соотношению второго порядка:
С граничными условиями (разорение произошло) и (цель достигнута). Характеристическое уравнение раскладывается как , его корни и .
Для бесконечной цели () и выгодной игры ():
Где означает размер банкролла в единицах ставки.
Неравные коэффициенты и непрерывное броуновское приближение
При неравных выплатах блуждание с фиксированной денежной ставкой можно приближать броуновским движением с положительным денежным сносом и денежной дисперсией на ставку . Если означает прибыль на единицу ставки, то , а . Поэтому эквивалентная формула для единичной ставки использует глубину . Это непрерывное приближение с бесконечным горизонтом и нулевой границей без верхней цели остановки, а не конечная пропорциональная симуляция ниже.
При постоянных положительном сносе и начальном капитале это приближение даёт большую вероятность достижения границы при росте дисперсии. При сравнении формул нужно сохранять согласованные денежные единицы, размер ставки и событие остановки.
3. Фиксированная ставка против пропорциональной: эффект Келли
В идеальной пропорциональной модели при и конечном коэффициенте каждый множитель капитала положителен. Поэтому банк положителен после любого конечного числа ставок. Из этого не следует положительный предел банка: поведение на бесконечном горизонте зависит от точного ожидаемого логарифмического роста и допущений. Минимальные ставки, ошибки вероятностей и фиксированные снятия денег эта модель не учитывает.
Для одной пропорциональной ставки с доходностью выполняется и . При уменьшении доли вдвое это стандартное отклонение уменьшается вдвое, а дисперсия вчетверо. Эти равенства не задают вероятность просадки на конечном горизонте. Например, траектория даёт просадку 40% от пика, не достигая половины начального банка.
4. Архитектура симуляции Монте-Карло
В таблице 10 000 независимых траекторий по 2 000 ставок, начальный банк $10,000 и seed 20261016. В каждом сценарии заданы постоянные вероятность, коэффициент и правило ставки. Траектория учитывается один раз, если минимальный банк не превышает $5,000. Генерация продолжается после этой границы: это наблюдаемое событие, а не команда остановки. Для флэта публичный скрипт использует неограниченное аддитивное блуждание; его конечные значения не моделируют невозможность оплатить последующие ставки.
5. Результаты симуляции по перевесу, коэффициенту и доле Келли
Таблица показывает достижение фиксированной границы в рамках заданных допущений, определённое выше, а не просадку от пика и не разорение в нуле. Генератор сценариев и результаты сохранены в /papers/risk_of_ruin_simulation.py, /papers/risk_of_ruin_results.json.
| Реальный перевес | Коэффициент | Стратегия ставок | Средняя ставка | P(банк ≤ половины начального за 2 000 ставок) | Медианный итог |
|---|---|---|---|---|---|
| +3.0% | 1.95 | Флэт (2% от ) | $200 | 17.9% | $21 840 |
| +3.0% | 1.95 | Полный Келли () | Динамическая | 39.5% | $26 761 |
| +3.0% | 1.95 | Половинный Келли () | Динамическая | 7.7% | $20 730 |
| +3.0% | 1.95 | Четвертной Келли () | Динамическая | 0.29% | $15 042 |
| +5.0% | 2.10 | Полный Келли () | Динамическая | 46.8% | $96 808 |
| +5.0% | 2.10 | Половинный Келли () | Динамическая | 11.4% | $54 909 |
| +5.0% | 2.10 | Четвертной Келли () | Динамическая | 0.43% | $27 015 |
Симуляция показывает цену агрессивного сайзинга: при полном Келли снижение до половины начального банка за 2 000 ставок получили от 39,5% до 46,8% траекторий. Половинный Келли снизил эту долю до 7,7% (перевес 3%) и 11,4% (перевес 5%), то есть в четыре-пять раз, а медианный итоговый банкролл уменьшился на 23% и 43% соответственно. Четвертной Келли удержал риск ниже 0,5%. Флэт в 2% стартового банкролла дал риск 17,9%, потому что сумма ставки не уменьшается вместе с банкроллом.
6. Реализация на Python: Монте-Карло на 10 000 траекторий
Ниже приведена компактная версия симулятора на NumPy для одного сценария с пропорциональной ставкой. Полный скрипт, по которому построена таблица выше: /papers/risk_of_ruin_simulation.py.
# monte_carlo_ror.py
import numpy as np
def run_half_bank_simulation(
initial_bankroll=10000.0,
odds=2.00,
true_prob=0.53, # +6% EV
stake_fraction=0.03, # 3% proportional
num_bets=2000,
num_simulations=10000,
barrier_fraction=0.50
):
# Fixed starting-bank barrier simulation
lower_barrier = initial_bankroll * barrier_fraction
b = odds - 1.0
# Pre-generate uniform random variates for all paths (num_bets, num_simulations)
np.random.seed(42)
random_matrix = np.random.rand(num_bets, num_simulations)
win_matrix = random_matrix < true_prob
# Multiplier per step: (1 + f * b) if win else (1 - f)
step_multipliers = np.where(win_matrix, 1.0 + stake_fraction * b, 1.0 - stake_fraction)
# Cumulative wealth trajectory via cumulative product
wealth_trajectories = initial_bankroll * np.cumprod(step_multipliers, axis=0)
# Calculate minimum wealth to detect a fixed starting-bank barrier hit
min_wealth_per_path = np.min(wealth_trajectories, axis=0)
threshold_hits = min_wealth_per_path <= lower_barrier
threshold_hit = np.mean(threshold_hits) * 100.0
final_wealths = wealth_trajectories[-1, :]
return {
'threshold_hit_pct': threshold_hit,
'median_final_wealth': np.median(final_wealths),
'p5_minimum_wealth': np.percentile(min_wealth_per_path, 5),
'p95_best_wealth': np.percentile(final_wealths, 95)
}
if __name__ == '__main__':
res = run_half_bank_simulation(stake_fraction=0.03)
print(f"P(hit half initial bank within horizon): {res['threshold_hit_pct']:.2f}%")
print(f"Median Final Bankroll: ${res['median_final_wealth']:,.2f}")
print(f"5th Percentile Lowest Dip: ${res['p5_minimum_wealth']:,.2f}")
7. Правила риск-менеджмента: порог выживания 1%
Плановый порог, например 1%, должен задавать событие и горизонт. В приведённых сценариях только Quarter Kelly удержал вероятность достижения половины начального банка ниже 1% за 2 000 ставок. Это не ограничивает вероятность просадки на 50% от будущего пика и не подтверждает реальную стратегию. Для других коэффициентов, вероятностей и ограничений нужен отдельный расчёт.
- Ограничение доли: считайте половинный Келли () верхним пределом и используйте четвертной Келли (), если оценка перевеса неточна или рынок отличается высокой дисперсией (например, точный счет).
- Динамический пересчет: пересчитывайте размер единицы после каждой сессии, а не фиксируйте его по стартовому капиталу.
- Защитный стоп-лосс: при просадке банкролла на 25% автоматически уменьшайте долю Келли вдвое, пока капитал не превысит прежний максимум.
Психология асимметричных просадок
Арифметика восстановления отличается от вероятности события: после потери 40% для восстановления нужен рост 66,7%, после потери 50% нужен рост 100%. Эти равенства не определяют частоту достижения нижней границы или просадки от текущего максимума. Уменьшение ставки может снизить риски в заданной модели, но не гарантирует восстановление.
8. Глубина банкролла в единицах
Разностное уравнение из раздела 2 объясняет, почему важна глубина банкролла. Когда вероятность выигрыша выше вероятности проигрыша, отношение меньше единицы, и вероятность разорения падает экспоненциально по мере роста банкролла, измеренного в единицах ставки. Увеличение единицы линейно уменьшает эту глубину и экспоненциально повышает риск разорения: при коэффициенте 2.00 и банкролл в 20 единиц имеет 13,5% вероятности разорения на неограниченном горизонте, а 40 единиц снижают ее до 1,8%.
