pip install oddsapi_ev
pandas numpy requests json datetime dateutil.parser pytz typing
O módulo obtém as próximas probabilidades de apostas esportivas da API Odds e calcula o valor esperado (ev) dessa aposta em relação a um ou ambos os padrões de "probabilidades verdadeiras". Para mais informações sobre apostas ev, veja este post informativo.
ev.py
Este é o único módulo do pacote. Ele contém a função data()
.
data()
Esta é a única função no módulo ev.py
.
Parâmetros: consulte a seção de parâmetros data()
Retorna: pandas DataFrame
data()
Cada parâmetro é opcional e cada um possui um valor padrão. No entanto, api_key ou filename devem ser passados.
chave_api ( str
) :
Uma chave válida da API Odds
nome do arquivo ( str
):
O nome de um arquivo JSON contendo dados no mesmo formato da API Odds
Api_key OU nome do arquivo DEVEM SER PASSADOS ( api_key É RECOMENDADO), CASO CONTRÁRIO A FUNÇÃO SERÁ SAIR!**
Os parâmetros a seguir são passados para a chamada de API para especificar quais tipos de probabilidades são extraídas e afetam o número de solicitações cobradas de sua cota . Ao fazer upload de um arquivo em vez de chamar a API, todos os itens a seguir, exceto regions
serão usados para filtrar os dados do arquivo. Se uma entrada incorreta for fornecida para qualquer um dos parâmetros da API, a função será encerrada.
esportes ( list[str]
):
Uma lista de esportes a serem incluídos conforme definido pela API Odds
regiões ( list[str]
):
Uma lista de regiões de apostas esportivas a serem incluídas. Deve ser um subconjunto de: ['us', 'eu', 'uk', 'au']
mercados ( list[str]
):
Uma lista de mercados de apostas a serem incluídos. Deve ser um subconjunto de ['h2h', 'spreads', 'totals']
. Para mais informações veja aqui
Este parâmetro identifica qual tipo de valor esperado usar. Existem 2 maneiras de determinar as probabilidades justas de uma posição e, portanto, 2 maneiras de determinar o valor esperado de uma aposta.
Média: determina as probabilidades justas de uma posição como a média de todas as probabilidades para essa posição em todas as apostas desportivas com a margem das apostas desportivas removida.
Pinnacle: determina que as probabilidades justas de uma posição são as probabilidades oferecidas pela aposta desportiva Pinnacle com a borda da aposta desportiva removida.
Se uma entrada incorreta for fornecida, a função será encerrada.
ev_type ( str
):
O(s) método(s) de cálculo do valor esperado a serem utilizados. Deve ser um dos seguintes: 'avg' , 'pinnacle' ou 'both'
Esses parâmetros são usados para filtrar as probabilidades. Se uma entrada incorreta for fornecida, a função continuará, mas não filtrará as probabilidades com base nesse valor.
recomendado ( bool
):
Se recomendado for Verdadeiro, todos os valores do filtro serão substituídos pelos valores recomendados para encontrar as apostas mais lucrativas.
dias_de_agora ( int
ou float
):
O número máximo de dias no futuro para retornar probabilidades
livros ( list[str]
):
Uma lista de apostas esportivas a serem incluídas nas probabilidades. Veja aqui as chaves válidas dos livros esportivos.
min_odds ( int
ou float
):
A linha de probabilidades mínimas (em formato americano) das probabilidades devolvidas.
min_odds ( int
ou float
):
A linha de probabilidades máximas (em formato americano) das probabilidades devolvidas.
Se min_odds > max_odds , a função retornará um DataFrame vazio
max_width ( int
ou float
):
A largura máxima das probabilidades retornadas. (Consulte Campos DataFrame calculados para obter mais informações sobre largura)
max_vig_pct ( int
ou float
):
O máximo 'vig' ou 'edge' nas probabilidades das apostas esportivas
min_ev_pct ( int
ou float
):
A porcentagem do valor mínimo esperado das probabilidades
min_num_books ( int
ou float
):
O número mínimo de apostas esportivas que oferecem cada linha
filtro_pref_ev_( str
):
O método preferido de cálculo ev para filtrar valores. Deve ser um dos seguintes: 'avg' , 'pinnacle' ou 'both' .
Nota: ev_type e pref_ev_filter não podem se contradizer (por exemplo, se 'avg' for ev_type , 'pinnacle' não pode ser pref_ev_filter . Nesse cenário, pref_ev_filter será padronizado como ev_type ).
Esses parâmetros são usados para classificar o DataFrame
ordenar por ( str
):
O valor para classificar o DataFrame.
Deve ser um dos seguintes: 'commence_time' , 'line' , 'width' , 'ev_pct' , 'kelly_pct' ou 'default' .
'default' classifica o DataFrame de acordo com uma combinação padrão de campos.
crescente ( bool
):
Classifique o valor escolhido em ordem crescente quando Verdadeiro e em ordem decrescente quando Falso
pref_ev_sort ( str
):
O método preferido de cálculo ev para classificar valores. Deve ser 'avg' ou 'pinnacle' (NÃO 'both' ).
Nota: ev_type e pref_ev_sort não podem se contradizer (por exemplo, se 'avg' for ev_type , 'pinnacle' não pode ser pref_ev_sort . Nesse cenário, pref_ev_sort será padronizado como ev_type ).
Este parâmetro controla se o DataFrame retornado incluirá todos os campos de dados ou apenas os campos essenciais. O padrão é Falso.
expandido ( bool
):
Se expandido for True, campos extras serão incluídos no DataFrame retornado. Muitos desses campos são campos intermediários no cálculo de campos mais significativos.
Se expandido for False, o DataFrame retornará apenas os campos mais significativos.
O padrão é False se não for especificado.
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')
A seguir está uma descrição dos campos adicionais calculados por data()
(não incluindo campos expandidos) que não existem nos dados da API Odds.
num_livros:
O número de apostas esportivas que possuem probabilidades publicadas para uma determinada posição. Isto é significativo para cálculos feitos com valores médios, pois quanto maior o número de livros que contribuem para a média, mais confiável ela é.
linha_justa:
Isto é o que seriam as probabilidades de uma determinada posição se a 'vig' ou 'vantagem' que as casas de apostas desportivas incorporam nas suas probabilidades para garantir o lucro fosse removida
Eles indicam quais são as chances reais de resultado de acordo com as apostas esportivas
largura:
O número combinado de pontos em que as probabilidades para ambos os lados de um mercado estão abaixo das probabilidades justas (+100/-100)
Por exemplo, se dois lados de um mercado fossem +105 e -125, a largura seria 20, pois -125 é 25 abaixo e +105 é 5 acima, então o número líquido seria 20.
Leia mais aqui
vig_pct:
A diferença percentual entre a porcentagem de vitórias implícitas de um determinado conjunto de probabilidades em uma casa de apostas esportivas com 'vig' ou 'borda' incorporada e a porcentagem de vitórias desse mesmo conjunto de probabilidades na mesma casa de apostas esportivas com o vig retirado para descobrir a porcentagem justa de vitórias. É uma medida de quão injustas são as probabilidades.
ev_pct:
A porcentagem do valor esperado (ev) é a diferença percentual entre a porcentagem de vitórias implícitas de uma determinada posição em algumas apostas esportivas antes que o vig seja removido e a porcentagem de vitórias implícitas da mesma posição em uma casa de apostas esportivas mais precisa (como Pinnacle) ou média de vários livros de esportes após a remoção do vig.
Mais simplesmente, representa a diferença entre as probabilidades que você aposta e qual é a verdadeira chance de ganhar uma aposta.
A maioria das apostas terá percentagens de ev negativas. As poucas com percentuais positivos são as apostas lucrativas.
Leia mais aqui
Kelly_pct:
A percentagem estatisticamente ideal do seu saldo para apostar com base na percentagem ev e na probabilidade geral de ganhar.