October 20, 2023

"Делаем большие деньги" с помощью стратегии ставок на спорт, основанной на данных или как обыграть букмекеров на их собственных показателях

Это перевод статьи - https://towardsdatascience.com/making-big-bucks-with-a-data-driven-sports-betting-strategy-6c21a6869171 сделанный специально телеграмм каналом - https://t.me/gaserdblog

Несколько месяцев назад я разработал и написал об алгоритме прогнозирования результатов Премьер-лиги на основе простого пуассоновского процесса. Результаты работы программы оказались более впечатляющими, чем я предполагал: она правильно предсказала результаты 7/10 матчей первой недели (3 из них с точным счетом).

Поэтому я закончил проект, отложил его в сторону и сосредоточился на учебе.

В минувшие выходные я смотрел матч между "Арсеналом" и "Манчестер Юнайтед", в котором хозяева поля считались аутсайдерами.


К всеобщему удивлению, "Арсенал" вышел вперед. А ведь все могло сложиться как угодно. В первом тайме "Юнайтед" дважды попадал в створ ворот. Но редкая ошибка Давида де Геа при отбитии удара Хака и щедро назначенный пенальти добавили еще один непредсказуемый результат в этот запутанный сезон с переменным успехом.

А я уже упоминал, что в те же выходные "Тоттенхэм Хотспур" был обыгран "Саутгемптоном"?

По мере того как разворачивалась очередная череда неожиданных результатов в Премьер-лиге, я все время думал о разработанном мною алгоритме. Сможет ли он правильно предсказывать результаты на постоянной основе? В модели есть некоторая доля случайности, но достаточно ли ее для того, чтобы учесть манящий постоянный характер Премьер-лиги, где находящийся в зоне вылета "Саутгемптон" добился победы над "Тоттенхэмом"?

Поэтому я решил вернуть модель назад и провести обратное тестирование.

1. Алгоритм против эксперта


Одна из трудностей тестирования алгоритма заключается в том, чтобы найти хороший эталон для его работы. Скажем, если точность моего прогноза составляет 50% на протяжении 200 матчей, то это хорошо, плохо или посредственно? Конечно, он превосходит случайное угадывание (с равной вероятностью 1/3 для победы, ничьей и поражения), но это звучит не так уж и здорово, не так ли?

А как насчет того, чтобы сравнить мои результаты с результатами профессиональных футбольных обозревателей?

Я узнал, что каждую неделю на сайте SkySports публикуются прогнозы на матчи этой недели от Пола Мерсона, бывшего игрока "Арсенала", ставшего профессиональным обозревателем и выигравшего несколько титулов.

Честно говоря, я не являюсь большим поклонником Пола Мерсона после того, как мне показалось, что он без устали критикует свой бывший клуб.

Просто послушайте, что сказал о нем бывший менеджер "Арсенала" Венгер:

Эти дебаты, которые я слышу, - шутка, фарс. Люди [Мерсон], которые провели ноль матчей, учат всех, как нужно себя вести. Это фарс.

Тем не менее, для меня это золотая жила, потому что теперь я могу сравнить свой алгоритм с "экспертным". Какого бы мнения вы о нем ни были, прогноз бывшего игрока "Арсенала" на матч "Арсенал" - "Ман Юнайтед" наверняка будет более надежным, чем непонятная модель, которая работает на случайном выплевывании чисел.

Матрица, показывающая точность прогнозов Мерсона и моего алгоритма на протяжении 273 матчей. Слева: Мерсон правильно предсказал 150 матчей или 54,9%. Справа: Алгоритм пуассоновского процесса получил 51+7+117 = 175 матчей, что составляет 64,1%.
Здесь я сравнил результаты 273 матчей, которые Мерсон предсказал в этом сезоне. Его точность составила 54,9%, в то время как мой алгоритм пуассоновского процесса показал удивительную точность в 64,1%.

Интересно, что Мерсон предсказал ничью 2:2 между "Арсеналом" и "Манчестер Юнайтед", сказав, что "обе команды будут бороться друг с другом, и голы будут". Мои алгоритмы, усредняя количество голов, забитых и пропущенных "Арсеналом" дома, дают небольшое преимущество и вероятность победы "Арсенала" в 45%, в то время как вероятность победы "Манчестер Юнайтед" составляет 27%.

2. От прогнозов к ставкам на спорт


Результат меня поразил. 10-процентное преимущество над мнением эксперта - это очень много. И мне даже не пришлось ничего делать, кроме как просить любимые пуассоновские процессы выдавать числа.

Именно тогда я начал присматриваться к ставкам на спорт. И я вступаю в новую игру с новым противником: я против букмекеров.

3. Понять букмекеров: как работают коэффициенты?


Если вам когда-нибудь покажется, что условия и котировки APR на ваших кредитных картах сложны, попробуйте хоть раз зайти на эти сайты, посвященные ставкам. Они просто безумны.

Возьмем, к примеру, американские коэффициенты. Если вы видите коэффициент +300, это означает, что вы получите 300 долларов, если поставите 100 и выиграете. Это нормально, но потом появляются отрицательные коэффициенты, например, -150. Что это за @#*!$%? Это значит, что для того, чтобы получить прибыль в $100, вам нужно сделать ставку в $150. Итак, американские коэффициенты - это число, большее или равное 100, перед которым иногда ставится знак +, обозначающий прибыль, а иногда -, обозначающий сумму, которую нужно поставить, чтобы выиграть $100.

В любом случае, они все еще используют футы и фаренгейты.

Для целей данного проекта мы будем использовать более приятную систему: европейские коэффициенты. Все просто: они говорят мне, сколько я получу обратно, если поставлю $1. Например, Bet365 дает коэффициент 2,4 на то, что "Арсенал" выиграет у "Ман Юнайтед", 3,6 - на ничью и 3 - на победу "Ману". Это означает, что, поставив на "Арсенал" $1, я бы вышел из пари с $2,4 (прибыль $1,4) в кармане.

4. Маленький грязный секрет


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

Предположим, что коэффициенты букмекеров являются точным отражением вероятности победы, ничьей или поражения различных команд. Так, для матча "Арсенал" - "Ман Юнайтед", поскольку коэффициент Bet365 на победу "Арсенала" составляет 2,4, вероятность его победы равна 1/2,4 = 41,6%, что удивительно близко к моему прогнозу в 45%. Аналогично, вероятность победы "Ман Юнайтед" равна 1/3.0 = 33.3%, а вероятность ничьей - 1/3.6 = 27.8%.

Минуточку!!!

41.6% + 33.3% + 27.8% = 102.7%! Странно (без каламбура!!!).

Причина, по которой вероятности не складываются в 100%, заключается в том, что коэффициенты не являются справедливыми. Дополнительные 2,7% - это преимущество букмекера. Чтобы получить реальные вероятности, необходимо сделать поправку на прибыль, разделив полученное значение на 102,7. Таким образом, истинная вероятность победы "Арсенала" составляет 41,6/102,7 = 40,5%, вероятность победы "Юнайтед" - 33,3/102,7 = 32,5%, а вероятность ничьей - 27,8/102,7 = 27,06%. Для идеально эффективной букмекерской конторы это вероятности каждого исхода.

Теперь самое интересное: если коэффициенты идеально отражают реальность, то неважно, на какой исход я ставлю - моя ожидаемая прибыль всегда одинакова.

Если я ставлю 1 доллар на "Арсенал", то ожидаю получить обратно :

Ожидаемая прибыль будет такой же, если бы я поставил на "Ман Юнайтед":

И - вы уже догадались - если я ставлю на ничью, то ожидаю получить обратно 97 центов. В среднем букмекер берет с меня около 3 центов с каждой ставки в 1 доллар.

4. Стратегии ставок:


Это понимание не мешает мне пытаться использовать любые потенциальные неэффективности на рынке. Сначала я разрабатываю общую стратегию ставок.

- Я определил бюджет в 1000 долларов, который разделил поровну на 30 предыдущих туров Премьер-лиги. Таким образом, на каждый уик-энд у меня есть примерно 33 доллара для ставок.


- На каждый матч будет делаться прогноз одним из трех методов: (а) прогноз Пола Мерсона, (б) мои алгоритмы пуассоновского процесса и (в) случайное распределение равных вероятностей победы, ничьей и поражения.

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

- Для каждого матча сумма ставки будет рассчитываться по критерию Келли [2], который работает по принципу: инвестировать нужно только часть своего богатства. Оставив часть в стороне, вы не окажетесь банкротом. Оптимальная доля (f) зависит от каждой конкретной ставки:
где p* - вероятность того, что событие произойдет, а x - коэффициент

Реализация критерия Келли в R достаточно проста:

Остается вопрос, что считать истинной вероятностью событий (p*) в формуле критерия Келли. Как мы видели в предыдущих частях, можно взять обратную величину коэффициентов, даваемых конкретной букмекерской конторой, но это не даст положительного результата, так как они перекошены в пользу конторы. Однако если мы просуммируем все коэффициенты различных букмекерских контор, то получим более точное отражение того, как букмекеры оценивают вероятность того или иного события, например, победы "Арсенала" над "Ман Юнайтед":

где n - количество букмекерских контор, а xi - заданный коэффициент конторы i.
Результат данной стратегии ставок с использованием прогноза на основе пуассоновского процесса для последнего матча 30-го тура. В таблице показано, как рассчитываются max_odd, вероятности прогнозируемых событий, доля ставки Kelly, сумма ставки bet_amount
В 30-м туре при 5 правильно предсказанных матчах и лучших коэффициентах, выбранных из 6 домов, мы получили чистый убыток в размере $0,9 или 90c за этот тур при использовании прогноза Пуассона, встроенного в нашу стратегию ставок. Самый большой убыток мы понесли из-за того, что "Челси" не смог вырвать 3 очка в домашнем матче с "Вулвз".

5. Вот итоговые результаты


Теперь, предположив, что я использовал эту стратегию с самого начала Премьер-лиги, посмотрим, как быстро нам удалось разбогатеть.

И мой алгоритм, и прогнозы Мерсона - в сочетании со стратегией максимального коэффициента с критерием Келли - дают положительную прибыль к концу 30-й недели, а прогноз с использованием пуассоновского процесса достигает колоссальной прибыли в 9,1% при нормированной прибыли в 0,3% за неделю. Для сравнения, рыночная доходность ETF Vanguard S&P 500 составляет 4,6%.

Случайный метод дает убыток в 19% на первой итерации, главным образом потому, что несколько удачных ставок (Ман Юнайтед проиграл Вест Хэму) не могут компенсировать большое количество неудачных ставок (Лестер, Хаддерсфилд выиграли на Этихаде, Тоттенхэм проиграл Борнмуту, как честно?). Даже если многократно перепроверить случайный прогноз, достаточно сказать, что я видел менее 10% случаев, когда случайные методы имели положительную доходность.

Очевидно, что в этой оптимальной пуассоновской модели есть свои риски. Возьмем, к примеру, 24-ю неделю, где мы получили чистый убыток в размере 14 долларов. И Мерсон, и модель пуассоновского процесса (и я !!!) были очень уверены в том, что "Ливерпуль", "Ман Сити", "Ман Юнайтед" и "Челси" заработают 3 очка в матчах с "Лестером", "Ньюкаслом", "Бернли" и "Борнмутом" соответственно, предлагая общую ставку в 19 долларов. Результат: Ливерпуль и Ман Юнайтед не смогли взять все 3 очка, а Челси и Ман Сити потерпели поражение. И все это в один уик-энд !!!

Заключительные слова:


Прежде чем клонировать мой репо на Github и собирать капитал для своего спортивного хедж-фонда, я должен уточнить, что здесь нет никаких гарантий. Вам потребуется большой стартовый капитал (я моделирую с $1000, но каждую неделю у меня есть только $33 для ставок), много терпения и холодная голова.

В общем, эта статья - игрушечный пример того, что у вас может получиться. Но букмекеры сделали так, что никому не удается получать стабильную прибыль. Если букмекер считает, что вероятность выигрыша равна 1/6, то он гарантирует, что его ожидаемая прибыль минус выплата будет положительной, устанавливая коэффициенты меньше 5, может быть, что-то вроде 4,6. Если при коэффициенте 4,6 все еще много людей делают ставки, то букмекер, конечно, понимает, что вероятность выигрыша должна быть выше, чем его собственная оценка, и корректирует коэффициент до 4. Скорее всего, к тому моменту, когда код выведет наиболее оптимальный коэффициент, он уже будет изменен.

Более того, если вы начнете регулярно получать прибыль, букмекеры могут просто поблагодарить вас за сотрудничество, выплатить выигрыш и аннулировать ваш счет. Именно это произошло с исследовательской группой из Токийского университета.

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

**Важная оговорка: данная статья носит исключительно образовательный характер и не может рассматриваться как юридическая или финансовая консультация. Она также не является рекомендацией делать ставки или играть в азартные игры. Пожалуйста, имейте в виду, что ставки на спорт не разрешены в ряде штатов США.
Если вам понравилась эта статья, вам также может понравиться моя другая статья об интересных статистических фактах и правилах больших пальцев

Другие материалы для глубокого анализа:

Весь код этого проекта можно найти на моем профиле https://github.com/tuangauss/DataScienceProjects/tree/master/R/EPL