pip install oddsapi_ev
pandas numpy requests json datetime dateutil.parser pytz typing
Das Modul ruft kommende Sportwettenquoten von der Odds-API ab und berechnet den erwarteten Wert (ev) dieser Wette im Hinblick auf einen oder beide der beiden Standards „echter Quoten“. Weitere Informationen zu EV-Wetten finden Sie in diesem informativen Beitrag.
ev.py
Dies ist das einzige Modul im Paket. Es enthält die Funktion data()
.
data()
Dies ist die einzige Funktion im Modul ev.py
.
Parameter: siehe Abschnitt data()
-Parameter
Gibt zurück: Pandas DataFrame
data()
ParameterJeder Parameter ist optional und jeder hat einen Standardwert. Allerdings muss entweder api_key oder filename übergeben werden.
api_key ( str
) :
Ein gültiger Odds-API-Schlüssel
Dateiname ( str
):
Der Name einer JSON-Datei, die Daten im gleichen Format wie die Odds-API enthält
ENTWEDER API_KEY ODER Dateiname MÜSSEN ÜBERGEBEN WERDEN ( API_KEY WIRD EMPFOHLEN), SONST WIRD DIE FUNKTION BEENDET!**
Die folgenden Parameter werden an den API-Aufruf übergeben, um anzugeben, welche Arten von Quoten gezogen werden, und wirken sich auf die Anzahl der Anfragen aus, die Ihnen im Rahmen Ihres Kontingents in Rechnung gestellt werden . Wenn Sie eine Datei hochladen, anstatt die API aufzurufen, werden alle folgenden außer regions
zum Filtern der Dateidaten verwendet. Wenn für einen der API-Parameter eine fehlerhafte Eingabe erfolgt, wird die Funktion beendet.
Sport ( list[str]
):
Eine Liste der Sportarten, die gemäß der Definition der Odds-API einbezogen werden sollen
Regionen ( list[str]
):
Eine Liste der einzubeziehenden Sportwettenregionen. Muss eine Teilmenge sein von: ['us', 'eu', 'uk', 'au']
Märkte ( list[str]
):
Eine Liste der einzubeziehenden Wettmärkte. Muss eine Teilmenge von ['h2h', 'spreads', 'totals']
sein. Weitere Informationen finden Sie hier
Dieser Parameter gibt an, welcher Typ von erwartetem Wert verwendet werden soll. Es gibt zwei Möglichkeiten, die fairen Quoten einer Position zu bestimmen und somit zwei Möglichkeiten, den erwarteten Wert einer Wette zu bestimmen.
Durchschnitt: Bestimmt die fairen Quoten einer Position als Durchschnitt aller Quoten für diese Position bei allen Sportwettenanbietern, wobei der Vorteil der Sportwettenanbieter entfernt wurde.
Pinnacle: Bestimmt die fairen Quoten einer Position anhand der Quoten, die von Pinnacle für scharfe Sportwetten angeboten werden, wobei der Rand der Sportwetten entfernt wurde.
Bei fehlerhafter Eingabe wird die Funktion beendet.
ev_type ( str
):
Die zu verwendende(n) Methode(n) zur Berechnung des erwarteten Werts. Muss einer der folgenden Werte sein: „avg“ , „pinnacle“ oder „both“
Diese Parameter werden zum Filtern der Quoten verwendet. Wenn eine schlechte Eingabe erfolgt, wird die Funktion fortgesetzt, die Quoten werden jedoch nicht auf Grundlage dieses Werts gefiltert.
empfohlen ( bool
):
Wenn „empfohlen“ „True“ ist, werden alle Filterwerte mit empfohlenen Werten überschrieben, um die profitabelsten Wetten zu finden.
days_from_now ( int
oder float
):
Die maximale Anzahl an Tagen in der Zukunft, um Gewinnchancen zu erzielen
Bücher ( list[str]
):
Eine Liste der Sportwetten, die in die Quoten einbezogen werden sollen. Hier finden Sie gültige Sportwettenschlüssel.
min_odds ( int
oder float
):
Die Mindestquotenlinie (im amerikanischen Format) der zurückgegebenen Quoten.
min_odds ( int
oder float
):
Die maximale Quotenlinie (im amerikanischen Format) der zurückgegebenen Quoten.
Wenn min_odds > max_odds ist , gibt die Funktion einen leeren DataFrame zurück
max_width ( int
oder float
):
Die maximale Breite der zurückgegebenen Quoten. (Weitere Informationen zur Breite finden Sie unter Berechnete DataFrame-Felder .)
max_vig_pct ( int
oder float
):
Der maximale „Vig“ oder „Vorteil“ in den Wettquoten des Sportwettenanbieters
min_ev_pct ( int
oder float
):
Der minimale erwartete Wertprozentsatz der Quoten
min_num_books ( int
oder float
):
Die Mindestanzahl an Sportwetten, die jede Linie anbieten
pref_ev_filter ( str
):
Die bevorzugte Methode der EV-Berechnung zum Filtern von Werten. Muss einer der folgenden Werte sein: „avg“ , „pinnacle“ oder „both“ .
Hinweis: ev_type und pref_ev_filter dürfen sich nicht widersprechen (z. B. wenn „avg“ der ev_type ist, kann „pinnacle“ nicht der pref_ev_filter sein. In diesem Szenario wird pref_ev_filter standardmäßig auf ev_type gesetzt).
Diese Parameter werden zum Sortieren des DataFrame verwendet
sortby ( str
):
Der Wert, nach dem der DataFrame sortiert werden soll.
Muss einer der folgenden Werte sein: 'commence_time' , 'line' , 'width' , 'ev_pct' , 'kelly_pct' oder 'default' .
„default“ sortiert den DataFrame nach einer Standardkombination von Feldern.
aufsteigend ( bool
):
Sortieren Sie den ausgewählten Wert in aufsteigender Reihenfolge, wenn True, und in absteigender Reihenfolge, wenn False
pref_ev_sort ( str
):
Die bevorzugte Methode der EV-Berechnung zum Sortieren von Werten. Muss entweder „avg“ oder „pinnacle“ sein (NICHT „both“ ).
Hinweis: ev_type und pref_ev_sort dürfen sich nicht widersprechen (z. B. wenn „avg“ der ev_type ist, kann „pinnacle“ nicht der pref_ev_sort sein. In diesem Szenario wird pref_ev_sort standardmäßig auf ev_type gesetzt).
Dieser Parameter steuert, ob der zurückgegebene DataFrame alle Datenfelder oder nur die wesentlichen Felder enthält. Der Standardwert ist False.
erweitert ( bool
):
Wenn „expanded“ „True“ ist, werden zusätzliche Felder in den zurückgegebenen DataFrame einbezogen. Viele dieser Felder sind Zwischenfelder bei der Berechnung wichtigerer Felder.
Wenn „expanded“ „False“ ist, gibt der DataFrame nur die wichtigsten Felder zurück.
Der Standardwert ist False, wenn nicht angegeben.
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')
Im Folgenden finden Sie eine Beschreibung der von data()
berechneten zusätzlichen Felder (ohne erweiterte Felder), die in den Odds-API-Daten nicht vorhanden sind.
Anzahl_Bücher:
Die Anzahl der Sportwettenanbieter, die Quoten für die jeweilige Position veröffentlicht haben. Dies ist für Berechnungen mit Durchschnittswerten von Bedeutung, da dieser umso zuverlässiger ist, je mehr Bücher zum Durchschnitt beitragen
fair_line:
So hoch wären die Gewinnchancen einer bestimmten Position, wenn der „Vig“ oder „Vorteil“, den Sportwetten in ihre Gewinnchancen einbauen, um einen Gewinn zu garantieren, entfernt würde
Sie geben an, wie hoch die tatsächlichen Erfolgsaussichten laut Sportwettenanbieter sind
Breite:
Die kombinierte Anzahl an Punkten, bei denen die Quoten für beide Seiten eines Marktes unter den fairen Quoten (+100/-100) liegen.
Wenn beispielsweise zwei Seiten eines Marktes +105 und -125 wären, wäre die Breite 20, da -125 25 unten und +105 5 oben ist, also wäre die Nettozahl 20.
Lesen Sie hier mehr
vig_pct:
Die prozentuale Differenz zwischen dem impliziten Gewinnprozentsatz eines bestimmten Quotensatzes bei einem Sportwettenanbieter mit integriertem „Vig“ oder „Edge“ und dem Gewinnprozentsatz desselben Quotensatzes bei demselben Sportwettenanbieter mit herausgenommenem Vig der faire Gewinnanteil. Es ist ein Maß dafür, wie unfair die Chancen sind.
ev_pct:
Der Erwartungswert (ev)-Prozentsatz ist die prozentuale Differenz zwischen dem impliziten Gewinnprozentsatz einer bestimmten Position bei einem Sportwettenanbieter, bevor die Vig entfernt wird, und dem impliziten Gewinnprozentsatz derselben Position bei einem genaueren Sportwettenanbieter (wie Pinnacle) oder einem Durchschnitt von mehreren Sportwettenanbietern, nachdem die VIG entfernt wurde.
Einfacher ausgedrückt stellt es die Differenz zwischen den Quoten, die Sie wetten, und der tatsächlichen Gewinnchance einer Wette dar.
Die meisten Wetten haben negative EV-Prozentsätze. Die wenigen mit positiven Prozentsätzen sind die profitablen Wetten.
Lesen Sie hier mehr
kelly_pct:
Der statistisch optimale Prozentsatz Ihres Wettguthabens, basierend auf dem EV-Prozentsatz und der Gesamtgewinnwahrscheinlichkeit.