BankrollManager - программа управления банкроллом

I. Математическое описание

Представляем Вашему вниманию программу BankrollManager, которая поможет Вам грамотно выбирать играемый лимит. Но что значит грамотно выбирать играемый лимит? Существуют общие рекомендации, например, играя по стратегии BSS и беря на игру стек в 100 больших блайндов (ББ), нужно иметь, по крайней мере, 20 стеков или 2000 ББ. Пусть мы играем лимит NL10. Тогда наш стек на одну игру будет $10, а банкролл должен быть не менее $200. Более консервативные подходы рекомендуют иметь 4000.

Этот подход при всей его разумности страдает одним существенным недостатком, а, именно тем, что он не учитывает Ваши индивидуальные результаты и Ваши индивидуальные ментальные характеристики и цели. Например, один человек осторожен по характеру и для него покер лишь приятное времяпровождение, хобби. Он играет микролимиты и даже, если проигрывает немного, его это не беспокоит, так как основной источник дохода у него лежит вне покера. Другой, напротив, рассматривает покер как азартную игру наподобие рулетки. Он готов внести депозит $1000 и сыграть NL400 heads-up наудачу.

Да и у разумных игроков, которые хотят делать карьеру в покере и планомерно подниматься по лимитам, существенно разный уровень игры и способности. Это будет находить отражение в таких показателях как WinRate и дисперсия этого показателя. Под WinRate понимается выигрыш или проигрыш в ББ на 100 игр. Но одного этого показателя явно недостаточно. Например, один игрок сыграл 10 игр, из которых в каждой выиграл по 2 ББ. Тогда его WinRate = 2 ББ * 100 / 10 = 20. Другой игрок сыграл тоже 10 игр, причем в 9 проиграл по 2 ББ, а в одной выиграл 38 ББ. Тогда его WinRate = (-2*9 + 38*1) * 100 / 10= 20 ББ. Но, дисперсия у первого игрока будет 0, а у второго довольно большое число = ((2+2)^2 *9 + 36^2)/9 = 160. Если теперь из этого числа извлечь корень, то получим стандартное отклонение, равное примерно 12.65. Поэтому рекомендации по размеру банкролла для них должны быть существенно разные.

Здесь мы должны ввести новое важное понятие, а именно функцию разорения или RoR (Risk of Ruin). Эта функция зависит от размера нашего банкролла b и дает нам вероятность разорения при бесконечном количестве игр. Любая вероятность находится в пределах от 0 до 1. Иногда ее измеряют в процентах, просто умножая на 100. Эта функция обладает рядом важных свойств, одно из которых состоит в том, что RoR(b) = 1, если WinRate < 0. То есть, если мы играем в минус, то разорение неизбежно. Другим важным свойством является RoR(a+b) = RoR(b) * RoR(a). Это означает, что если мы имеем риск разорения 50% и удвоим наш банкролл, то риск разорения уменьшится до 25%. Действительно, пусть RoR(b) = 0.5, тогда RoR(2b) = 0.5*0.5 = 0.25. Если предположить, что WinRate = w и стандартное отклонение = s и это точные (!) числа, то

RoR(b) = exp(-2*w*b/(s*s)) (1).

Конечно, эти числа не могут быть точными. В этом случае мы имеем значительно более сложную формулу, которую будем называть RoRU (Risk of Ruin with Uncertain Win Rates). Если говорить коротко, то мы предполагаем, что WinRate имеет нормальное распределение со средним w и стандартным отклонением s. Допустимый уровень риска разорения очень индивидуален. Одному вполне комфортно иметь 10%, а другой хотел бы иметь только 1%. Общие рекомендации состоят в том, что для профессионального игрока, живущего на доход от покера и не имеющего других источников дохода, риск разорения должен быть не более 1%. Для любителя, играющего для удовольствия и имеющего другой основной источник дохода, необходим уровень риска 5%. Для нахождения банкролла по RoR мы можем воспользоваться следующей функцией, обратной к (1)

b = -(s*s/(2w))ln(RoR) (2).

Теперь давайте рассмотрим следующую типичную ситуацию. Мы играем основной лимит NL4 и периодически пробуем свои силы на NL10. И там, и там мы имеем положительный винрейт. В какой-то момент мы задаемся вопросом, а не пора ли переходить полностью на NL10. Опять же можно применять простой подход по правилу 4000 ББ. Но, мы на NL4 чувствуем себя уверенней и комфортней. Можем нам выгодней увеличить количество столов на NL4? Наша дисперсия на NL10 существенно больше и мы чувствуем повышенный риск.

Для ответа на этот вопрос существует критерий Келли (Kelly Criterion), в котором мы находим пороговое значение c (cutoff) банкролла для перехода на следующий лимит в зависимости от винрейтов и стандартных отклонений, с которыми мы эти лимиты играем. Здесь мы должны производить оценку не в ББ, а в денежных единицах, например в долларах. Вот формула

2*c = w1 + w2 + (s1*s1 – s2*s2)/(2 * (w1 – w2)) (3).

Рассмотрим пример. Допустим, мы играем NL4000 с винрейтом $35 и дисперсией $400 и играем NL8000 с винрейтом $60 и дисперсией $800. Тогда 2c = 35 + 60 + (800*800 – 400*400)/(60-35) = 38 590. c = $19 295. Таким образом, если наш банкролл меньше, то целесообразнее играть NL4000, а если больше, то можно переходить на NL8000.

Наш анализ можно продолжить. Обратимся к известной в финансовой математике теории портфолио для диверсификации инвестиций. Здесь важен коэффициент Шарпа (Sharpe ratio)

S = w/s (4),

То есть отношение винрейта к стандартному отклонению. Понятно, что чем выше S, тем выгоднее инвестиция. А теперь вернемся к нашему предыдущему примеру. Оказывается нам выгоднее играть в обе игры, но в разной пропорции. Не будем утомлять формулами, а приведем результат. В 42% надо играть NL4000 и в 58% надо играть NL8000.

Вся математика взята из книги «The Mathematics of Poker» Bill Chen, Jerrod Ankenman (http://www.conjelco.com/mathofpoker/).

Яндекс.Метрика