pip install oddsapi_ev
pandas numpy requests json datetime dateutil.parser pytz typing
Модуль получает коэффициенты предстоящих ставок на спорт из The Odds API и рассчитывает ожидаемое значение (ev) этой ставки с учетом одного или обоих двух стандартов «истинных коэффициентов». Дополнительную информацию о ставках на EV можно найти в этом информативном посте.
ev.py
Это единственный модуль в комплекте. Он содержит функцию data()
.
data()
Это единственная функция в модуле ev.py
Параметры: см. раздел параметров data()
Возвращает: pandas DataFrame
data()
Каждый параметр является необязательным и каждый имеет значение по умолчанию. Однако необходимо передать либо api_key , либо имя файла .
api_key ( str
) :
Действительный ключ API коэффициентов
имя файла ( str
):
Имя файла JSON, содержащего данные в том же формате, что и API коэффициентов.
ДОЛЖНО БЫТЬ ПЕРЕДАНО ЛИБО api_key ИЛИ имя файла (РЕКОМЕНДУЕТСЯ api_key ), В противном случае ФУНКЦИЯ ЗАВЕРШИТСЯ!**
Следующие параметры передаются в вызов API, чтобы указать, какие типы коэффициентов извлекаются и влияют на количество запросов, взимаемых с вашей квоты . При загрузке файла вместо вызова API для фильтрации данных файла будет использоваться все следующее, кроме regions
. Если для какого-либо параметра API будет указан неверный ввод, функция завершится.
спорт ( list[str]
):
Список видов спорта, которые будут включены в соответствии с определением The Odds API.
регионы ( list[str]
):
Список регионов букмекерских контор, которые будут включены. Должно быть подмножеством: ['us', 'eu', 'uk', 'au']
рынки ( list[str]
):
Список рынков ставок, которые необходимо включить. Должно быть подмножеством ['h2h', 'spreads', 'totals']
. Дополнительную информацию см. здесь.
Этот параметр определяет, какой тип ожидаемого значения использовать. Существует два способа определения справедливых коэффициентов позиции и, следовательно, два способа определения ожидаемой стоимости ставки.
Среднее: определяет справедливые шансы на позицию как среднее всех коэффициентов на эту позицию во всех букмекерских конторах с удаленным перевесом в букмекерских конторах.
Pinnacle: определяет справедливые шансы на позицию как коэффициенты, предлагаемые букмекерской конторой Pinnacle с удаленным преимуществом букмекерской конторы.
Если введен неверный ввод, функция завершится.
ev_type ( str
):
Используемый метод(ы) расчета ожидаемой стоимости. Должно быть одно из следующих значений: 'avg' , 'pinnacle' или 'both'.
Эти параметры используются для фильтрации шансов. Если введены неверные данные, функция продолжит работу, но не будет фильтровать коэффициенты на основе этого значения.
рекомендуется ( bool
):
Если значение «Рекомендовано» равно «Истина», все значения фильтра будут заменены рекомендуемыми значениями для поиска наиболее выгодных ставок.
days_from_now ( int
или float
):
Максимальное количество дней в будущем для возврата коэффициентов
книги ( list[str]
):
Список спортивных книг, которые будут включены в коэффициенты. Действующие ключи для спортивных ставок смотрите здесь.
min_odds ( int
или float
):
Строка минимальных коэффициентов (в американском формате) возвращаемых коэффициентов.
min_odds ( int
или float
):
Строка максимального коэффициента (в американском формате) возвращаемых коэффициентов.
Если min_odds > max_odds , функция вернет пустой DataFrame.
max_width ( int
или float
):
Максимальная ширина возвращаемых коэффициентов. (Дополнительную информацию о ширине см. в разделе «Вычисляемые поля DataFrame» ).
max_vig_pct ( int
или float
):
Максимальное преимущество или преимущество в коэффициентах букмекерской конторы.
min_ev_pct ( int
или float
):
Минимальный процент ожидаемого значения коэффициентов
min_num_books ( int
или float
):
Минимальное количество спортивных букмекеров, предлагающих каждую линию
pref_ev_filter ( str
):
Предпочтительный метод расчета ev для фильтрации значений. Должно быть одно из следующих значений: 'avg' , 'pinnacle' или 'both' .
Примечание: ev_type и pref_ev_filter не могут противоречить друг другу (например, если 'avg' является ev_type , 'pinnacle' не может быть pref_ev_filter . В этом сценарии pref_ev_filter по умолчанию будет ev_type ).
Эти параметры используются для сортировки DataFrame.
сортировка ( str
):
Значение для сортировки DataFrame.
Должно быть одно из следующих значений: «commence_time» , «line» , «width» , «ev_pct» , «kelly_pct» или «default» .
«по умолчанию» сортирует DataFrame в соответствии с комбинацией полей по умолчанию.
по возрастанию ( bool
):
Сортируйте выбранное значение в порядке возрастания, если установлено значение True, и в порядке убывания, если значение False.
pref_ev_sort ( str
):
Предпочтительный метод расчета ev для сортировки значений. Должно быть либо «avg» , либо «pinnacle» (НЕ «оба» ).
Примечание. ev_type и pref_ev_sort не могут противоречить друг другу (например, если 'avg' является ev_type , 'pinnacle' не может быть pref_ev_sort . В этом сценарии pref_ev_sort по умолчанию будет ev_type ).
Этот параметр определяет, будет ли возвращаемый DataFrame включать все поля данных или только основные поля. По умолчанию — Ложь.
расширенный ( bool
):
Если значение «expanded» равно True, в возвращаемый DataFrame будут включены дополнительные поля. Многие из этих полей являются промежуточными при вычислении более значимых полей.
Если значение расширено равно False, DataFrame возвращает только наиболее значимые поля.
По умолчанию значение False, если не указано.
from oddsapi_ev import ev # get all of the most profitable bets odds1 = ev.data(api_key=YOURKEY, recommended=True) # get all odds from DraftKings, sorted by ev percentage with respect to the average odds odds2 = ev.data(api_key=YOURKEY, regions=['us'], ev_type='avg', books=['draftkings'], sortby='ev_pct', ascending=False, pref_ev_sort='avg') # get all head to head odds at eu book makers for UEFA champions league games with maximum odds of +110 and the ev calculated with respect to Pinnacle odds odds3 = ev.data(api_key=YOURKEY, sports=['soccer_uefa_champs_league'], regions=['eu'], markets=['h2h'], ev_type='pinnacle', min_odds=110, pref_ev_filter='pinnacle')
Ниже приводится описание дополнительных полей, вычисляемых с помощью data()
(не включая расширенные поля), которых нет в данных API коэффициентов.
количество_книг:
Количество букмекерских контор, в которых опубликованы коэффициенты на данную позицию. Это важно для расчетов, выполняемых со средними значениями, поскольку чем больше книг вносят вклад в среднее значение, тем оно надежнее.
справедливая_линия:
Вот какими были бы шансы на данную позицию, если бы были удалены «выигрыши» или «преимущества», которые спортивные букмекеры встраивают в свои шансы, чтобы гарантировать прибыль.
Они указывают, каковы реальные шансы на исход согласно букмекерской конторе.
ширина:
Суммарное количество очков, на которое шансы для обеих сторон рынка ниже справедливых коэффициентов (+100/-100)
Например, если две стороны рынка были +105 и -125, ширина будет равна 20, поскольку -125 соответствует 25 снизу, а +105 соответствует 5 сверху, поэтому чистое число будет 20.
Подробнее здесь
виг_пкт:
Разница в процентах между предполагаемым процентом выигрыша по заданному набору коэффициентов в букмекерской конторе со встроенными коэффициентами «vig» или «преимущество» и процентом выигрышей по тому же набору коэффициентов в той же самой букмекерской конторе с удаленным коэффициентом выигрыша, чтобы найти справедливый процент выигрышей. Это показатель того, насколько несправедливы шансы.
ev_pct:
Процент ожидаемого значения (ev) — это процентная разница между предполагаемым процентом выигрыша данной позиции в какой-либо букмекерской конторе до того, как выигрыш был удален, и предполагаемым процентом выигрыша той же позиции в более точной букмекерской конторе (например, Pinnacle) или средним значением. нескольких спортивных книг после удаления вига.
Проще говоря, он представляет собой разницу между коэффициентами, на которые вы ставите, и реальными шансами на выигрыш ставки.
Большинство ставок будут иметь отрицательный процент EV. Те немногие ставки, у которых положительный процент, являются прибыльными ставками.
Подробнее здесь
келли_пкт:
Статистически оптимальный процент вашего банкролла для ставки, основанный на проценте EV и общей вероятности выигрыша.