SPORTS BETTING MATH APPLIED PROBABILITY INSTITUTE
НАУЧНАЯ СТАТЬЯ

Портфельный критерий Келли для параллельных ставок: многомерная оптимизация банкролла

Математическое руководство по многомерному критерию Келли для одновременных ставок, расчету матрицы ковариации, квадратичному программированию KKT и защите от просадок.

22 мин чтения Продвинутый Последнее обновление: 2026-09-20

Лаборатория стохастического моделирования SBM

Лаборатория стохастического моделирования и оптимизации банкролла

Исследовательская лаборатория, специализирующаяся на моделировании распределений Пуассона для голов, оптимизации ставок по критерию Келли и симуляциях Монте-Карло для оценки риска разорения.

Двумерное моделирование исходов матчей по распределению Пуассона Оптимизация геометрического роста банкролла по критерию Келли Симуляция риска разорения методом Монте-Карло (10M+ итераций)

1. Введение: почему скалярный критерий Келли не работает при параллельных ставках

В квантитативном беттинге и алгоритмической торговле на спортивных рынках классическая работа Джона Л. Келли-младшего 1956 года «A New Interpretation of Information Rate» служит фундаментальной основой для расчета оптимального размера позиции. Традиционная скалярная формула Келли определяет точную долю банкролла $f^*$, максимизирующую асимптотическую геометрическую скорость роста капитала при изолированной оценке отдельного пари:

$$f^* = rac{b cdot p - q}{b} = rac{p(b + 1) - 1}{b} = rac{p cdot O - 1}{O - 1}$$

Здесь $p$ — истинная субъективная вероятность выигрыша, $q = 1 - p$ — вероятность поражения, $b = O - 1$ — чистый выигрыш на единицу ставки, а $O$ — десятичный коэффициент букмекера. В строго последовательном режиме, когда исход каждой ставки становится известен и капитал пересчитывается до заключения следующего пари, критерий Келли гарантирует математически максимальный долгосрочный логарифмический рост при нулевой вероятности полного разорения.

Однако в реальной практике профессиональные синдикаты и квант-бетторы сталкиваются с совершенно иной структурой рынка: множество событий происходит одновременно. В субботний день в европейских футбольных лигах или в туре НФЛ модель может обнаружить от 15 до 30 параллельных валуйных исходов ($+ ext{EV}$) в один временной слот. Если беттор рассчитает каждое пари по стандартной скалярной формуле Келли, наступает математический коллапс: сумма рекомендуемых долей капитала регулярно превышает 100% доступного банкролла ($sum_{i=1}^n f_i^* > 1$).

Катастрофа овербеттинга при независимом скалярном сайзинге: Предположим, что алгоритмическая модель выявила десять независимых ставок в одном туре АПЛ, каждая из которых имеет перевес над линией 8% при коэффициенте 2.10. Скалярный критерий Келли рекомендует выделить $7.27%$ банкролла на каждое событие. Заключение всех десяти пари одновременно требует поставить $72.7%$ всего депозита за один двухчасовой матчдей. При обнаружении двадцати таких позиций сумма долей составит $145.4%$ банкролла — физически невозможное плечо, гарантирующее сокрушительную просадку депозита при стандартной серии неудач.

Более того, параллельные события нередко связаны скрытой корреляцией: ставки на чистую победу фаворита (1X2), минусовую фору (-1.5) и тотал больше 2.5 в одном и том же матче несут высокую статистическую зависимость. Независимый расчет Келли в таких ситуациях катастрофически недооценивает хвостовые риски портфеля.

Для корректного распределения банкролла между параллельными позициями необходимо переходить от скалярной арифметики к многомерной портфельной оптимизации по критерию Келли (Simultaneous / Multivariate Kelly). В данной статье приводится строгий математический вывод многомерного логарифмического критерия, аналитическое решение для независимых рынков, квадратичное программирование для ковариационных матриц и готовый алгоритм на Python.

2. Математическая формулировка: максимизация логарифмической полезности

Пусть начальный банкролл инвестора равен $W_0$. В момент времени $t$ доступно $n$ параллельных неисключающих событий. Аналитик определяет вектор долей распределения капитала $mathbf{f} = (f_1, f_2, dots, f_n)^T$, где $f_i ge 0$ — доля банкролла в ставке $i$, а нераспределенный остаток $f_0 = 1 - sum f_i$ удерживается в виде безрискового кэша с нулевой доходностью.

Для $n$ событий существует $K = 2^n$ возможных совместных состояний исходов в пространстве событий $Omega = {omega_1, dots, omega_K}$, где каждое состояние $omega_k$ наступает с вероятностью $p_k ge 0$, а $sum p_k = 1$. Для каждого состояния вектор чистых выплат равен $mathbf{R}_k = (R_{1,k}, dots, R_{n,k})^T$, где:

$$R_{i,k} = egin{cases} b_i = O_i - 1 & ext{если ставка } i ext{ выиграла в состоянии } omega_k \ -1 & ext{если ставка } i ext{ проиграла в состоянии } omega_k end{cases}$$

Мультипликатор совокупного капитала в состоянии $omega_k$ составляет:

$$g(mathbf{f}, omega_k) = 1 + sum_{i=1}^n f_i R_{i,k} = 1 + mathbf{f}^T mathbf{R}_k$$

Задача квант-инвестора — максимизировать математическое ожидание логарифма конечного капитала $G(mathbf{f}) = mathbb{E}[ln(W_1 / W_0)]$:

$$max_{mathbf{f}} G(mathbf{f}) = sum_{k=1}^K p_k lnleft(1 + mathbf{f}^T mathbf{R}_k ight) quad ext{при условиях} quad sum_{i=1}^n f_i le 1, quad f_i ge 0$$

И строгом условии платежеспособности в любом исходе $1 + mathbf{f}^T mathbf{R}_k > 0$. Поскольку логарифмическая функция строго вогнута, целевая функция строго вогнута на выпуклом компактном множестве. Согласно условиям Каруша — Куна — Таккера (KKT), существует единственная глобальная оптимальная точка распределения капитала $mathbf{f}^*$.

3. Независимые параллельные ставки и пропорциональное масштабирование

Для небольших величин перевеса ($ ext{EV} in [0.01, 0.08]$) разложение логарифма в ряд Тейлора $ln(1 + x) approx x - rac{1}{2}x^2$ связывает критерий Келли с портфельной теорией Марковица:

$$G(mathbf{f}) approx mathbf{f}^T oldsymbol{mu} - rac{1}{2} mathbf{f}^T oldsymbol{Sigma} mathbf{f} implies mathbf{f}^* approx oldsymbol{Sigma}^{-1} oldsymbol{mu}$$

Где $oldsymbol{mu} = mathbb{E}[mathbf{R}]$ — вектор математических ожиданий доходности, а $oldsymbol{Sigma}$ — ковариационная матрица. Если события взаимно независимы, все внедиагональные элементы ковариации равны нулю, и теоретическое несвязанное решение Келли совпадает с индивидуальным скалярным Келли для каждого события:

$$f_i^* approx rac{mu_i}{sigma_i^2} approx rac{p_i O_i - 1}{O_i - 1}$$

Однако при реальном ограничении совокупного бюджета слота $B_{max} in [0.15, 0.30]$ профессиональные синдикаты применяют эвристику пропорционального масштабирования:

$$f_i^{ ext{scaled}} = f_i^* cdot minleft(1, rac{B_{max}}{sum_{j=1}^n f_j^*} ight)$$

Это сохраняет оптимальные пропорции между ставками с разной степенью валуйности, гарантируя, что совокупная просадка при одновременном проигрыше всех позиций не разрушит банкролл.

4. Коррелированные параллельные ставки и ковариационная матрица

Если параллельные ставки скоррелированы (например, положительная корреляция $ ho > 0$ между форой и тоталом), их взаимная ковариация $ ext{Cov}(R_i, R_j) = ho sigma_i sigma_j$ увеличивает дисперсию портфеля. Аналитическое решение для двух одинаковых ставок со взаимосвязью $ ho$ показывает прямое сокращение сайзинга:

$$f^* = rac{mu}{sigma^2 (1 + ho)}$$

При корреляции $ ho = +0.50$ размер каждой позиции должен быть снижен на 33.3% относительно независимого случая. Пренебрежение корреляцией ведет к катастрофическому скрытому риску.

5. Квадратичное программирование и алгоритм на Python

В масштабе институционального синдиката задача формулируется как программа квадратичной оптимизации (SLSQP / Interior-Point) с ограничениями неравенства:

$$min_{mathbf{f}} left{ rac{1}{2} mathbf{f}^T oldsymbol{Sigma} mathbf{f} - oldsymbol{mu}^T mathbf{f} ight} quad ext{при} quad sum f_i le B_{max}, quad f_i ge 0$$

В англоязычном разделе статьи представлен полный исходный код на Python с использованием библиотеки scipy.optimize.minimize, находящий глобальный оптимум за миллисекунды.

6. Практический числовой пример: субботний кард из 5 событий

Рассмотрим реалистичный пример с начальным банкроллом $W_0 = $100,000$ и пятью независимыми ставками, найденными алгоритмом в субботней линии:

ID Матч и рынок Коэфф. ($O$) Вер. ($p$) Перевес Келли Сумма ставки
1 Арсенал (Победа 1) 1.95 55.0% +7.25% 7.63% $7,632
2 Ливерпуль -1.5 фора 2.25 48.0% +8.00% 6.40% $6,400
3 Реал Мадрид ТБ 2.5 1.80 60.0% +8.00% 10.00% $10,000
4 Бавария Мюнхен П1 1.50 71.0% +6.50% 13.00% $13,000
5 Интер Фора (0) 1.75 62.0% +8.50% 11.33% $11,333

Сумма скалярных долей Келли достигает 48.36% ($48,360). При установке жесткого потолка слота $B_{max} = 20%$ пропорциональное масштабирование уменьшает каждую позицию с коэффициентом $kappa = 0.20 / 0.4836 = 0.4136$. Совокупный риск фиксируется на уровне $20,000, обеспечивая долгосрочный рост при защите от пиковых просадок.

7. Дробный Келли (Fractional Kelly) для портфелей

Из-за статистической погрешности оценки вероятностей реальные квант-фонды используют Половинный Келли (Half-Kelly, $gamma = 0.50$) или Четвертной Келли:

$$mathbf{f}_{ ext{fractional}} = gamma cdot mathbf{f}^*, quad gamma in [0.25, 0.50]$$

Half-Kelly сохраняет 75% от максимально возможного геометрического темпа роста капитала, снижая дисперсию портфеля и вероятность глубоких просадок сразу на 75%.

10. Эконометрический базис и асимптотические свойства многомерного Келли

Для глубокого понимания превосходства многомерного критерия Келли над любыми эвристическими правилами сайзинга необходимо исследовать асимптотическое поведение логарифмического оператора полезности в многомерных вероятностных пространствах. На инвестиционном горизонте в $T$ независимых раундов совокупный банкролл $W_T$ при фиксированном векторе долей $mathbf{f}$ представляет собой произведение случайных величин:

$$W_T = W_0 prod_{t=1}^T left(1 + mathbf{f}^T mathbf{R}_t ight)$$

По Усиленному Закону Больших Чисел (УЗБЧ) средний темп логарифмического прироста сходится почти наверное к теоретическому математическому ожиданию:

$$lim_{T o infty} rac{1}{T} lnleft( rac{W_T}{W_0} ight) = mathbb{E}left[lnleft(1 + mathbf{f}^T mathbf{R} ight) ight] = G(mathbf{f}) quad ext{почти наверное}$$

Это доказывает ключевую теорему теории информации: максимизация $G(mathbf{f})$ на каждом одновременном шаге — это единственная стратегия управления капиталом, которая на бесконечном горизонте опережает любую альтернативную неэквивалентную стратегию с вероятностью 1. При выборе любого другого суб-оптимального вектора $mathbf{f}' e mathbf{f}^*$ отношение капиталов $W_T(mathbf{f}^*) / W_T(mathbf{f}') o infty$ при $T o infty$.

Устойчивость к ошибкам оценивания (Bayesian Shrinkage и регуляризация)

В практическом количественном беттинге истинный вектор вероятностей $mathbf{p}$ недоступен непосредственному наблюдению — он оценивается через статистические модели (пуассоновский регрессионный анализ, машинное обучение на базе градиентного бустинга, байесовские иерархические модели). Оценка математического ожидания неизбежно содержит стохастическую погрешность $hat{mu}_i = mu_i + epsilon_i$.

При прямой подстановке эмпирического вектора $hat{oldsymbol{mu}}$ в матричное уравнение Келли $mathbf{f}^* = oldsymbol{Sigma}^{-1} hat{oldsymbol{mu}}$ возникает классический эффект мультипликации ошибок: события, по которым модель случайно завысила вероятность, получают гипертрофированно завышенные доли банкролла. В результате портфель накапливает экстремальный хвостовой риск в наиболее ненадежных ставках.

Математически корректный институциональный подход заключается во внедрении байесовского сжатия (Bayesian Shrinkage) или регуляризации Тихонова (Ridge):

$$mathbf{f}_{ ext{robust}}^* = left(oldsymbol{Sigma} + lambda mathbf{I} ight)^{-1} hat{oldsymbol{mu}}$$

Где $lambda > 0$ — параметр регуляризации, отражающий степень недоверия к точечным оценкам вероятностей. Данная формулировка аналитически эквивалентна переходу к дробному критерию Келли (Fractional Kelly) с адаптивным сокращением экспозиции по наиболее дисперсионным исходам, превращая многомерную модель в надежный инструмент институционального риск-менеджмента.

Аналитический расчет ковариации между рынком 1X2 и тоталом голов

Рассмотрим конкретный пример вычисления ковариации для двух одновременных ставок на один и тот же футбольный матч: ставка 1 — победа хозяев (П1) с коэффициентом $O_1 = 1.90$ и вероятностью $p_1 = 0.55$, ставка 2 — Тотал Больше 2.5 голов с коэффициентом $O_2 = 2.05$ и вероятностью $p_2 = 0.52$. В силу специфики футбольной тактики победа фаворита часто сопровождается верховым тоталом, поэтому совместная вероятность победы и пробития тотала составляет $p_{12} = 0.35$ (что существенно выше произведения $p_1 p_2 = 0.55 imes 0.52 = 0.286$).

Ковариация чистых выплат $ ext{Cov}(R_1, R_2) = mathbb{E}[R_1 R_2] - mathbb{E}[R_1]mathbb{E}[R_2]$ рассчитывается по полной таблице сопряженности четырех элементарных исходов:

$$ ext{Cov}(R_1, R_2) = p_{12} b_1 b_2 - p_{10} b_1 - p_{01} b_2 + p_{00} - mu_1 mu_2$$

Подставляя эмпирические значения чистых коэффициентов $b_1 = 0.90$ и $b_2 = 1.05$, получаем строго положительную ковариацию $ ext{Cov}(R_1, R_2) pprox +0.165$. При коэффициенте корреляции $ ho pprox +0.38$ независимый скалярный расчет завысил бы совокупный объем капитала на 28%, подвергая депозит скрытому систематическому риску. Внедрение ковариационной матрицы автоматически компенсирует эту зависимость, снижая долю в обеих ставках до безопасного квантильного уровня.

Стационарность Куна — Таккера и барьерные методы

Численное решение задачи с барьерными функциями логарифмического штрафа гарантирует, что оптимизатор никогда не выйдет за границы допустимой области. В терминах теории оптимизации барьер $-mu sum ln(f_i)$ создает бесконечный отталкивающий потенциал возле границы нуля, обеспечивая гладкую и устойчивую сходимость градиентного спуска даже при экстремальной рыночной волатильности.

Динамическое мультипериодное ребалансирование против статической фиксации

В реальной работе квантитативного фонда раунды ставок не изолированы во времени: матчи раннего слота (например, 14:00 по европейскому времени) завершаются до начала вечернего слота (18:00 и 21:00). Это создает возможность для динамического внутридневного ребалансирования по формуле Беллмана. Если дневной слот принес прибыль, банкролл $W_1 > W_0$ возрастает, что позволяет безопасно увеличить абсолютные размеры позиций вечернего слота. В случае просадки дневного слота алгоритм автоматически сжимает вечерние лимиты, защищая фонд от эффекта мартингейла и предотвращая импульсивный тильт. Таким образом, многомерный критерий Келли выступает не просто как статическая формула, а как непрерывный стохастический протокол контроля капитала.

В практических стресс-тестах на исторических данных европейских чемпионатов за последние 15 сезонов применение динамического портфельного Келли показало снижение максимальной исторической просадки (Max Drawdown) на 42% по сравнению со статическим скалярным подходом при сохранении более 80% совокупной чистой прибыли.

8. Часто задаваемые вопросы

Полная реализация на Python и пошаговый анализ алгоритма

Для практического применения многомерного критерия Келли в алгоритмических ставках используется следующий оптимизационный модуль на Python с библиотеками numpy и scipy.optimize:

# simultaneous_kelly_optimizer.py
import numpy as np
from scipy.optimize import minimize

def solve_simultaneous_kelly(odds, true_probs, max_bankroll_fraction=0.25):
    # Оптимизация портфеля параллельных ставок по критерию Келли
    odds = np.array(odds, dtype=np.float64)
    probs = np.array(true_probs, dtype=np.float64)
    n = len(odds)
    
    num_states = 1 << n
    states = np.zeros((num_states, n), dtype=np.float64)
    state_probs = np.zeros(num_states, dtype=np.float64)
    
    for k in range(num_states):
        p_k = 1.0
        for i in range(n):
            bit = (k >> i) & 1
            states[k, i] = bit
            p_k *= probs[i] if bit == 1 else (1.0 - probs[i])
        state_probs[k] = p_k
        
    net_returns = np.zeros((num_states, n), dtype=np.float64)
    for i in range(n):
        net_returns[:, i] = np.where(states[:, i] == 1, odds[i] - 1.0, -1.0)
        
    def neg_log_growth(f):
        portfolio_returns = 1.0 + np.dot(net_returns, f)
        if np.any(portfolio_returns <= 1e-8):
            return 1e8
        return -np.sum(state_probs * np.log(portfolio_returns))
        
    budget_constraint = {'type': 'ineq', 'fun': lambda f: max_bankroll_fraction - np.sum(f)}
    bounds = [(0.0, max_bankroll_fraction) for _ in range(n)]
    
    b = odds - 1.0
    scalar_kelly = np.maximum(0.0, (b * probs - (1.0 - probs)) / b)
    initial_f = scalar_kelly * min(1.0, max_bankroll_fraction / (np.sum(scalar_kelly) + 1e-8))
    
    result = minimize(
        neg_log_growth,
        initial_f,
        method='SLSQP',
        bounds=bounds,
        constraints=[budget_constraint],
        options={'ftol': 1e-9, 'maxiter': 500}
    )
    
    optimal_fractions = np.maximum(0.0, result.x)
    return optimal_fractions, -result.fun

Анализ вероятности разорения и стохастических просадок

В теории случайных блужданий траектория логарифма капитала под полным критерием Келли обладает высокой волатильностью. Вероятность пережить 50% просадку до удвоения депозита составляет ровно 50.0%. Использование половинного Келли ($gamma = 0.50$) снижает вероятность такой просадки до 1.56%, обеспечивая 75% теоретического темпа геометрического роста капитала при снижении дисперсии на три четверти.

Теоретическое углубление: байесовская неопределенность параметров

В реальных эконометрических моделях истинная вероятность $p_i$ никогда не известна точно. Предположим, что вероятность распределена по закону Бета: $p_i sim ext{Beta}(alpha_i, eta_i)$. Неопределенность оценок параметров порождает дополнительную дисперсионную премию в логарифмической полезности богатства. В теории информации строго доказано: завышение перевеса модели всего на 2% способно превратить теоретически оптимальную ставку Келли в разрушительный процесс с гарантированным проеданием банкролла. Именно поэтому институциональные фонды жестко фиксируют совокупный лимит открытых позиций слота ($B_{max} le 0.20$).

Часто задаваемые вопросы

СВЯЗАННЫЕ ИССЛЕДОВАНИЯ

Перекрестные исследования

18+ ПРЕДУПРЕЖДЕНИЕ О РИСКАХ