pip install oddsapi_ev
pandas numpy requests json datetime dateutil.parser pytz typing
このモジュールは、The Odds API から今後のスポーツ賭博オッズを取得し、「真のオッズ」の 2 つの基準のいずれかまたは両方に関してその賭けの期待値 (ev) を計算します。 EV ベッティングの詳細については、この有益な投稿を参照してください。
ev.py
これはパッケージ内の唯一のモジュールです。これには関数data()
が含まれています。
data()
これはモジュールev.py
内の唯一の関数です。
パラメータ: data()
パラメータのセクションを参照
戻り値:パンダデータフレーム
data()
パラメータ各パラメータはオプションであり、それぞれにデフォルト値があります。ただし、 api_keyまたはfilenameのいずれかを渡す必要があります。
api_key ( str
) :
有効なオッズ API キー
ファイル名 ( str
):
Odds API と同じ形式のデータを含む JSON ファイルの名前
api_keyまたはファイル名を渡す必要があります ( api_keyが推奨されます)。そうでない場合、関数は終了します!**
次のパラメータは API 呼び出しに渡され、どのタイプのオッズを取得するかを指定し、クォータに対して請求されるリクエストの数に影響を与えます。 API を呼び出す代わりにファイルをアップロードする場合、 regions
除く次のすべてがファイル データのフィルタリングに使用されます。 API パラメータのいずれかに不正な入力が与えられた場合、関数は終了します。
スポーツ ( list[str]
):
The Odds API で定義されている、含まれるスポーツのリスト
領域 ( list[str]
):
含めるスポーツブック地域のリスト。 ['us', 'eu', 'uk', 'au']
のサブセットである必要があります。
市場 ( list[str]
):
含まれるベッティングマーケットのリスト。 ['h2h', 'spreads', 'totals']
のサブセットである必要があります。詳細については、ここを参照してください
このパラメータは、使用する期待値のタイプを識別します。ポジションの公正なオッズを決定する方法は 2 つあり、したがって、賭けの期待値を決定する方法も 2 つあります。
平均:スポーツ ブックの端を除いたすべてのスポーツ ブックにわたるそのポジションのすべてのオッズの平均として、ポジションの公正なオッズを決定します。
Pinnacle:ポジションの公正なオッズを、スポーツ ブックのエッジを除いたシャープなスポーツ ブック Pinnacle によって提供されるオッズになるように決定します。
不正な入力が与えられた場合、関数は終了します。
ev_type ( str
):
使用される期待値の計算方法。次のいずれかである必要があります: 'avg' 、 'pinnacle' 、または'both'
これらのパラメータは、オッズをフィルタリングするために使用されます。不正な入力が与えられた場合、関数は続行しますが、その値に基づいてオッズをフィルタリングしません。
推奨 ( bool
):
recommend が True の場合、最も収益性の高い賭けを見つけるために、すべてのフィルター値が推奨値で上書きされます。
days_from_now ( int
またはfloat
):
将来のオッズを返す最大日数
本 ( list[str]
):
オッズに含まれるスポーツブックのリスト。有効なスポーツ ブック キーについては、ここを参照してください。
min_odds ( int
またはfloat
):
返されるオッズの最小オッズ ライン (米国形式)。
min_odds ( int
またはfloat
):
返されたオッズの最大オッズ ライン (米国形式)。
min_odds > max_oddsの場合、関数は空の DataFrame を返します。
max_width ( int
またはfloat
):
返されるオッズの最大幅。 (幅の詳細については、 「計算されたデータフレーム フィールド」を参照してください)
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' 。
「default」は、フィールドのデフォルトの組み合わせに従ってデータフレームを並べ替えます。
昇順 ( bool
):
True の場合は選択した値を昇順に並べ替え、False の場合は降順に並べ替えます。
pref_ev_sort ( str
):
値をソートするための ev 計算の推奨方法。 'avg'または'pinnacle'のいずれかである必要があります ( 'both'ではありません)。
注: ev_typeとpref_ev_sort は互いに矛盾することはできません (たとえば、 'avg'がev_typeである場合、 'pinnacle'をpref_ev_sortにすることはできません。そのシナリオでは、 pref_ev_sort はデフォルトでev_typeになります)。
このパラメータは、返される DataFrame にすべてのデータ フィールドを含めるか、必須フィールドのみを含めるかを制御します。デフォルトは False です。
展開された ( bool
):
Expanded が True の場合、返された DataFrame に追加のフィールドが含まれます。これらのフィールドの多くは、より重要なフィールドを計算する際の中間フィールドです。
Expanded が 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')
以下は、Odds API データには存在しないdata()
によって計算される追加フィールド (拡張フィールドは含まれません) の説明です。
書籍数:
指定されたポジションに対してオッズが掲載されているスポーツ ブックの数。平均値に寄与する本の数が多いほど信頼性が高くなるため、これは平均値を使用して行われる計算にとって重要です。
フェアライン:
これは、スポーツブックが利益を保証するためにオッズに組み込んでいる「ビグ」または「エッジ」を取り除いた場合の、特定のポジションのオッズになります。
スポーツブックによると、結果の実際の可能性がどのくらいであるかを示します。
幅:
マーケットの両側のオッズが公正なオッズを下回る合計ポイント数 (+100/-100)
たとえば、市場の 2 つの側面が +105 と -125 である場合、-125 は 25 下であり、+105 は 5 上であるため、幅は 20 となり、正味の数は 20 になります。
詳細はこちらをご覧ください
vig_pct:
「vig」または「edge」が組み込まれたスポーツ ブックでの特定のオッズ セットの暗黙の勝率と、vig を取り出して同じスポーツ ブックでの同じオッズ セットの勝率との間のパーセント差。公正な勝率。これは、オッズがどれほど不公平であるかを示す尺度です。
ev_pct:
期待値 (ev) パーセンテージは、vig が削除される前のスポーツ ブックでの特定のポジションの暗黙の勝率と、より正確なスポーツ ブック (ピナクルなど) または平均での同じポジションの暗黙の勝率との間のパーセントの差です。 vig が削除された後の複数のスポーツブック。
もっと簡単に言えば、賭けたオッズと賭けに勝つ本当の確率の差を表します。
ほとんどのベットでは ev パーセンテージがマイナスになります。プラスのパーセンテージを持つ少数のものが収益性の高い賭けです。
詳細はこちらをご覧ください
ケリー_pct:
ev パーセンテージと全体的な勝利確率に基づいて、賭けるバンクロールの統計的に最適なパーセンテージ。