Идея о «печатном станке»: системные алгоритмы на рынке спортивных событий
Традиционно рынок спортивных событий воспринимается обществом весьма негативно. Принято считать, что какой-либо заработок в этой области маловероятен или невозможен вовсе, а мат. аппарат в лице теории вероятностей и математической статистики представляет мало интереса с точки зрения эффективного для заработка применения.
В какой-то мере такая позиция является обоснованной, ведь эффективность исследования этого рынка напрямую определяется пониманием, достичь которого не так просто. Сегодня мы с вами рассмотрим рынок спортивных событий под абсолютно новым углом, сделав акцент на системности и распределениях, а за одним и узнаем, при чём же здесь печатный станок.
Краткий экскурс
Прежде чем мы перейдём к основной части, хотелось бы напомнить, что существует два типа ставок: ставки по линии (до начала события) и live-ставки (во время события). Предлагаю не вдаваться в подробности и принять как аксиому следующее: ставки по линии в большинстве своём заведомо убыточны. Мощнейшие аналитические отделы букмекерских контор (БК) вкупе с маржей оставляют очень мало шансов получить перевес над конторой. По этой причине мы будем рассматривать только live-события, где у нас намного больше степеней свободы для аналитики и, соответственно, больше шансов выполнить расчёты верно.
А что это вообще такое — иметь перевес над конторой? Как его получить? Проясним. Есть исход, для которого существует какая-то вероятность в виде коэффициента (заложенного самой БК или другими игроками — для нас это неважно). Напомню, что коэффициент — величина обратная вероятности, поэтому одно в полной мере отражает другое. Так вот, иметь перевес — находить такие исходы в событии, реальная вероятность которых выше предполагаемой конторой (игроками) вероятности. Работая с такими исходами, мы получим положительное математическое ожидание.
Резюмируя вышеизложенное, определим нашу цель:
Прийти к положительному математическому ожиданию, прогнозируя определённые live-исходы.
Немного классификации
С тем, что нужно делать вроде разобрались. Но как? Каким образом мы можем проанализировать вероятность в лайве и сделать какой-либо прогноз? На что опираться, какие инструменты использовать?
В поиске ответов на эти вопросы нам поможет классификация. Классифицируем лайв-прогнозы по способу анализа на следующие группы:
Прогнозы на основе игровой статистики;
Прогнозы на основе отклонений;
Прогнозы на основе и отклонений, и статистики.
Игровая статистика — определённые показатели, отражающие происходящее в том или ином событии.
Как правило, анализ на основе статистики используется в футболе. По таким показателям как количество опасных атак, количество ударов, угловые и пр. мы можем сделать какой-то вывод о происходящем на поле и предположить, как будут реализовываться те или иные исходы. В других видах спорта также можно обратить внимание на аналогичные показатели. Например, в волейболе и баскетболе есть статистика, связанная с подачами, бросками и пр.
С прогнозами на основе отклонений дело обстоит чуточку интереснее.
Да кто эти ваши отклонения?
Отклонение — значительное несоответствие между начальными котировками события и происходящим в определённый момент времени.
Чтобы лучше понять, как это работает, рассмотрим простой пример. Допустим, у нас есть футбольное событие со следующими котировками на количество голов (тотал):
Проанализировав коэффициенты, можно приблизительно определить некоторые предполагаемые вероятности исходов: три гола — 0,82; четыре гола — 0,7; пять голов — 0,5. На этом пока остановимся.
Здесь стоит отметить, что в большинстве случаев изначально выставленные букмекером котировки оказываются верными и объективно отражают реальные вероятности событий. Поэтому начальные котировки будем принимать за достоверные (реальные) вероятности. Это ещё одна аксиома, которой мы будем пользоваться.
Теперь представим, что в первом тайме вместо предполагаемых двух-трёх голов будет реализован всего один гол (вот оно, отклонение). Тогда в перерыве мы получим примерно такие котировки:
Рассмотрим исход четырёх голов. На данный момент предполагается вероятность примерно 0,57, но выше определено, что вероятность четырёх голов — 0,7. Вы, наверное, уже догадались, что мы оказались в ситуации, описанной ранее в определении «иметь перевес». Здесь предполагаемая на данный момент вероятность — 0,57, а реальная — 0,7, т.е. воспользовавшись данным предложением, мы будем иметь небольшой перевес. Давайте назовём модуль разности этих показателей значением перевеса.
Казалось бы, на этом моменте можно заканчивать материал, ведь мы ответили на поставленные вопросы и узнали, как получить перевес над конторой. Но если бы было всё так просто…
Всё дело в том, что представленная модель была описана в очень упрощённом виде с некоторыми допущениями. Она отнюдь не является окончательным вариантом, приносящим какой-либо профит. Она лишь задаёт базис, основу того, на чём будут основаны дальнейшие исследования.
Влияем на поведение модели — получаем алгоритмы
Почему представленная выше модель не является окончательной? Какие допущения содержатся в ней? Как можно доработать её?
Вспомним, что один из главных параметров модели — определённая букмекером начальная вероятность, которую мы условились принимать за объективную, достоверную. Но, как и любой другой расчёт, этот имеет некоторую погрешность, поэтому мы не можем точно утверждать, что начальная вероятность является действительно объективной. Мы лишь можем утверждать, что она объективна с какой-то ненулевой вероятностью. Исходя из этого, отметим, что все события делятся на группы, различающиеся по степени достоверности начальной вероятности, а поведение модели будет зависеть от принадлежности события к той или иной группе.
Какие параметры модели можно выделить ещё? Читатель уже, наверное, предположил, что также имеет место значение перевеса, о котором речь шла ранее. Интуитивно кажется так: чем больше перевес, тем с большей долей вероятности наступит прогнозируемый исход.
От каких ещё факторов зависит поведение модели? Выше мы с вами рассмотрели вариант, основанный на отклонении тотала[1] в меньшую сторону[2] за первый тайм[3] в футболе[4]. А теперь рассмотрите отклонение форы в бóльшую сторону в гандболе за первый период. Или отклонение побед по четвертям в баскетболе. И так можно продолжать очень долго. К нашим двум вычисляемым параметрам добавилось ещё как минимум четыре: вид рынка, знак отклонения, временной промежуток, вид спорта. А для некоторых видов спорта можно добавить ещё игровую статистику.
Таким образом, мы имеем пространство различных моделей, сочетающих в себе разные значения описанных параметров. На основе каждой из таких моделей мы можем разработать алгоритм — последовательность действий, позволяющих работать с определёнными событиями и исходами в рамках конкретной модели. Результатом работы алгоритма являются некоторые случайные величины, получаемые в определённый момент времени. Среднее значение таких случайных величин — математическое ожидание. Оно является главной характеристикой алгоритма, а главным свойством — системность. Здесь стоит отметить, что далеко не все алгоритмы обладают этим свойством, но рассматриваемые в этой работе (на основе отклонений) — все, поэтому мы можем именовать их системными алгоритмами.
Теперь о системности
Системность — свойство алгоритма, заключающееся в однозначности и строгости определения события и его исходов по конкретным критериям. Принятие решений в таком алгоритме основано на классической логике (критерий либо выполнен, либо нет), элементы нечёткой логики (критерий почти выполнен) исключены. Роль человеческого фактора в принятии решений сводится к нулю.
Что из этого следует? Главной особенностью системных алгоритмов является независимость. Полностью исключив человеческий фактор, мы можем утверждать, что результат работы алгоритма будет зависеть только от параметров модели и ни от чего больше. Вторая особенность заключается в возможности относительно просто полностью автоматизировать работу алгоритма и получение его результатов.
А как правильно обрабатывать полученные результаты? Что с ними делать? Какова реальная интерпретация математического ожидания алгоритма? Ответить на эти вопросы нам поможет одно из центральных понятий этой работы — распределение.
Самое важное: распределение алгоритма
Распределение — итоговый результат работы алгоритма на множестве точек, соответствующим конкретным моментам времени.
Предлагаю рассмотреть всё на реальных данных. Правда, на достаточно ограниченной выборке (47 исходов), но для понимания этого хватит. Уже известно, что при работе с алгоритмом мы получаем некоторые случайные значения. В данном случае их 47. Просуммируем полученные значения от всех исходов в рамках одного рабочего дня. Получим такую гистограмму приростов за 15 дней:
Здесь должно быть всё предельно понятно. Столбцы гистограммы отражают прибыль/убыток каждого рабочего дня при ставке одной условной единицы на каждый исход в рамках данного алгоритма. Проинтегрируем имеющиеся данные и получим тот самый график распределения:
График показывает итоговую прибыль/убыток на конец каждого рабочего дня при ставке одной условной единицы на каждый исход. По сути, это главный аналитический инструмент при работе с алгоритмами: с помощью него мы понимаем примерное мат. ожидание, величину и длительность дисперсий, тренд в целом и прочие интересующие нас показатели алгоритма.
Ремарка из математической статистики
Кстати, график распределения СВ в математической статистике и график распределения алгоритма в этой работе — отнюдь не одно и то же. Несоответствие введено намеренно, а представленный в работе график в рамках матстата соответствует кумуляте — накопленному значению случайной величины.
Сделать какие-то выводы по конкретно этому графику сложно, поскольку размер выборки весьма ограничен. Тратить время на расчёт и интерпретацию показателей мы не будем, ибо это отдельный материал, который, возможно, выйдет позже. Сейчас вообще не об этом. А о чём же тогда? Наконец-то представлю вам главную гипотезу этой работы:
Среди множества всех существующих системных алгоритмов есть такие алгоритмы, которые имеют в целом всегда возрастающее распределение на выборке достаточных размеров (от 300 исходов).
Рассмотрим на примере
Доказать или опровергнуть эту гипотезу в общем случае я не могу, но эмпирически прийти к определённым выводам вполне себе реально. Сейчас я продемонстрирую пару интересных распределений, полученных в рамках моих исследований.
Представленные графики относятся к разным видам спорта, а сбор данных и тестирование для каждого из них длилось несколько месяцев. Не будем вдаваться в подробный анализ, разбор циклов и трендов, однако отметим, что распределения для дальнейших исследований однозначно представляют интерес.
Ретроспектива и перспектива
Находить и тестировать распределения, собирать данные, вычислять показатели, вводить деньги в оборот и извлекать прибыль — процессы довольно-таки нетривиальные. Причем как с точки зрения необходимого времени, так и с точки зрения человеческого ресурса и решения поставленных задач. Впервые я начал самостоятельно анализировать этот рынок ещё в 2019 году, будучи студентом третьего курса технического университета. Чуть позже я собрал небольшую команду, с которой нам удалось наладить некоторые процессы, обернуть свой первый миллион, но пришедшая пандемия надолго остановила процесс, а команда разошлась. Затем устройство на работу и вход в IT оставляли мало времени для полноценных исследований и управления командой, поэтому в свободное время я что-то анализировал опять самостоятельно, подготавливая почву для будущего проекта.
Комплимент в консалтинге
Закончив университет, я проходил собеседование на позицию аналитика в управленческий консалтинг (небольшая российская компания). В качестве релевантного бэкграунда я представил как раз таки тот опыт, который был получен мной в ходе работы в рамках проекта. Рассказывал про распределения и циклы, методы и инструменты анализа, перспективы и видение, управление командной работой и пр. Внимательно выслушав меня, один из аналитиков отметил:
— Действительно интересный кейс. Тебе с таким бэкграундом в «большую четвёрку» можно пробовать, английский подтяни только.
Сейчас же все обстоятельства сложились так, что я наконец-то готов закрыть свой главный гештальт и создать свой проект (стартап) — собрать команду, наладить процессы и начать зарабатывать: извлекать прибыль с работы алгоритмов и оказывать услуги аналитики другим людям. В планах выйти на азиатский рынок спортивных событий, на котором движется бóльшая часть денег всего мирового беттинга. Именно там работают профессионалы, оборачивающие сотни тысяч евро, при этом сам рынок заинтересован в том, чтобы вы там работали, но это тема отдельной статьи.
Ой, чуть не забыл о печатном станке. А дело тут вот в чём. Среди прочих особенностей азиатского рынка работающие там брокеры и букмекеры имеют очень развитый API. С помощью имеющихся методов можно без труда полностью автоматизировать любой системный алгоритм, а также создать ПО, которое будет собирать данные и вести какую-либо аналитику. А автоматизированный оборот средств по плюсовому (пускай даже +10% в месяц) алгоритму — не есть ли печатный станок? Такая вот интересная метафора.
Время прощаться
На этом я хочу закончить повествование и поблагодарить каждого, кто дочитал до этого момента. Прошу высказаться по поводу состоятельности представленной модели, слабых и сильных мест, реализации описанных мною планов. Я рассмотрю любую критику, любые дополнения и пожелания, а также с радостью отвечу на все ваши вопросы. По сотрудничеству и совместной работе вы можете обратиться в telegram: @arlol