pip install oddsapi_ev
pandas numpy requests json datetime dateutil.parser pytz typing
Le module obtient les cotes des paris sportifs à venir à partir de l'API Odds et calcule la valeur attendue (ev) de ce pari en fonction de l'une ou des deux normes de « vraies cotes ». Pour plus d'informations sur les paris ev, consultez cet article informatif.
ev.py
C'est le seul module du package. Il contient la fonction data()
.
data()
C'est la seule fonction du module ev.py
.
Paramètres : voir la section des paramètres data()
Renvoie : pandas DataFrame
data()
Chaque paramètre est facultatif et chacun a une valeur par défaut. Cependant, api_key ou filename doit être transmis.
api_key ( str
) :
Une clé API de cotes valide
nom de fichier ( str
):
Le nom d'un fichier JSON contenant des données au même format que l'API Odds
SOIT api_key OU filename DOIT ÊTRE PASSÉ ( api_key EST RECOMMANDÉ), SINON LA FONCTION SORTERA !**
Les paramètres suivants sont transmis à l'appel d'API pour spécifier les types de cotes extraits et affecter le nombre de requêtes qui vous sont facturées sur votre quota . Lors du téléchargement d'un fichier au lieu d'appeler l'API, tous les éléments suivants, à l'exception regions
seront utilisés pour filtrer les données du fichier. Si une mauvaise entrée est donnée pour l’un des paramètres de l’API, la fonction se terminera.
sports ( list[str]
):
Une liste de sports à inclure tels que définis par l'API Odds
régions ( list[str]
):
Une liste des régions de paris sportifs à inclure. Doit être un sous-ensemble de : ['us', 'eu', 'uk', 'au']
marchés ( list[str]
):
Une liste des marchés de paris à inclure. Doit être un sous-ensemble de ['h2h', 'spreads', 'totals']
. Pour plus d'informations voir ici
Ce paramètre identifie le type de valeur attendue à utiliser. Il existe 2 manières de déterminer les justes cotes d’une position et donc 2 manières de déterminer la valeur attendue d’un pari.
Moyenne : détermine les cotes équitables d'une position comme la moyenne de toutes les cotes pour cette position sur tous les paris sportifs, l'avantage des paris sportifs étant supprimé.
Pinnacle : détermine les cotes équitables d'une position comme étant les cotes offertes par le bookmaker sportif Pinnacle avec le bord du bookmaker supprimé.
Si une mauvaise entrée est donnée, la fonction se terminera.
ev_type ( str
):
La ou les méthodes de calcul de la valeur attendue à utiliser. Doit être l'un des éléments suivants : 'avg' , 'pinnacle' ou 'both'
Ces paramètres sont utilisés pour filtrer les cotes. Si une mauvaise entrée est donnée, la fonction continue mais ne filtrera pas les cotes en fonction de cette valeur.
recommandé ( bool
):
Si recommandé est Vrai, toutes les valeurs de filtre seront remplacées par les valeurs recommandées pour trouver les paris les plus rentables.
jours_from_now ( int
ou float
):
Le nombre maximum de jours dans le futur pour renvoyer les cotes
livres ( list[str]
):
Une liste de paris sportifs à inclure dans les cotes. Voir ici pour les clés de paris sportifs valides.
min_odds ( int
ou float
):
La ligne de cotes minimales (au format américain) des cotes renvoyées.
min_odds ( int
ou float
):
La ligne de cote maximale (au format américain) des cotes renvoyées.
Si min_odds > max_odds , la fonction renverra un DataFrame vide
max_width ( int
ou float
):
La largeur maximale des cotes renvoyées. (Voir Champs DataFrame calculés pour plus d'informations sur la largeur)
max_vig_pct ( int
ou float
):
La « vig » ou « l'avantage » maximum dans les cotes des paris sportifs
min_ev_pct ( int
ou float
):
Le pourcentage de valeur attendue minimale des cotes
min_num_books ( int
ou float
):
Le nombre minimum de paris sportifs proposant chaque ligne
pref_ev_filter ( str
):
La méthode préférée de calcul ev pour filtrer les valeurs. Doit être l'un des éléments suivants : 'avg' , 'pinnacle' ou 'both' .
Remarque : ev_type et pref_ev_filter ne peuvent pas se contredire (par exemple, si 'avg' est le ev_type , 'pinnacle' ne peut pas être le pref_ev_filter . Dans ce scénario, pref_ev_filter sera par défaut ev_type ).
Ces paramètres sont utilisés pour trier le DataFrame
trier par ( str
):
La valeur sur laquelle trier le DataFrame.
Doit être l'un des éléments suivants : 'commence_time' , 'line' , 'width' , 'ev_pct' , 'kelly_pct' ou 'default' .
'default' trie le DataFrame selon une combinaison de champs par défaut.
croissant ( bool
):
Trier la valeur choisie par ordre croissant lorsque True et par ordre décroissant lorsque False
pref_ev_sort ( str
):
La méthode préférée de calcul ev pour trier les valeurs. Doit être « avg » ou « pinnacle » (PAS « les deux » ).
Remarque : ev_type et pref_ev_sort ne peuvent pas se contredire (par exemple, si 'avg' est le ev_type , 'pinnacle' ne peut pas être le pref_ev_sort . Dans ce scénario, pref_ev_sort sera par défaut ev_type ).
Ce paramètre contrôle si le DataFrame renvoyé inclura tous les champs de données ou uniquement les champs essentiels. La valeur par défaut est False.
développé ( bool
):
Si expand est True, des champs supplémentaires seront inclus dans le DataFrame renvoyé. Beaucoup de ces champs sont des champs intermédiaires dans le calcul de champs plus significatifs.
Si expand est False, le DataFrame renvoie uniquement les champs les plus significatifs.
La valeur par défaut est False si non spécifié.
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')
Ce qui suit est une description des champs supplémentaires calculés par data()
(sans compter les champs développés) qui n'existent pas dans les données de l'API Odds.
num_books :
Le nombre de paris sportifs qui ont publié des cotes pour la position donnée. Ceci est important pour les calculs effectués avec des valeurs moyennes, car plus le nombre de livres contribuant à la moyenne est élevé, plus elle est fiable.
fair_line :
Voici quelles seraient les chances d'une position donnée si la "vig" ou "l'avantage" que les paris sportifs intègrent à leurs chances pour garantir le profit étaient supprimés.
Ils indiquent quelles sont les chances réelles de résultat selon les paris sportifs.
largeur:
Le nombre combiné de points pour lesquels les cotes des deux côtés d'un marché sont inférieures aux cotes équitables (+100/-100)
Par exemple, si les deux côtés d'un marché étaient +105 et -125, la largeur serait de 20 puisque -125 est 25 en dessous et +105 est 5 au-dessus, donc le nombre net serait de 20.
Lire la suite ici
vig_pct :
La différence en pourcentage entre le pourcentage de gain implicite d'un ensemble de cotes donné sur un site de paris sportifs avec « vig » ou « edge » intégré et le pourcentage de gain de ce même ensemble de cotes sur le même site de paris sportifs avec le vig retiré pour trouver le juste pourcentage de gains. C’est une mesure de l’injustice des chances.
ev_pct :
Le pourcentage de valeur attendue (ev) est la différence en pourcentage entre le pourcentage de gain implicite d'une position donnée sur un site de paris sportifs avant que la vidéo ne soit supprimée et le pourcentage de gains implicite de la même position sur un site de paris sportifs plus précis (comme Pinnacle) ou une moyenne. de plusieurs paris sportifs après la suppression de la vidéo.
Plus simplement, il représente la différence entre les cotes que vous pariez et les véritables chances de gagner un pari.
La plupart des paris auront des pourcentages ev négatifs. Les quelques paris avec des pourcentages positifs sont les paris rentables.
Lire la suite ici
kelly_pct :
Le pourcentage statistiquement optimal de votre bankroll pour parier en fonction du pourcentage ev et de la probabilité globale de gagner.