pip install oddsapi_ev
pandas numpy requests json datetime dateutil.parser pytz typing
Modul ini mendapatkan peluang taruhan olahraga yang akan datang dari The Odds API dan menghitung nilai yang diharapkan (ev) dari taruhan tersebut sehubungan dengan salah satu atau kedua dari dua standar "peluang sebenarnya". Untuk informasi lebih lanjut tentang taruhan ev, lihat posting informatif ini.
ev.py
Ini adalah satu-satunya modul dalam paket. Ini berisi fungsi data()
.
data()
Ini adalah satu-satunya fungsi dalam modul ev.py
.
Parameter: lihat bagian parameter data()
Pengembalian: panda DataFrame
data()
parameterSetiap parameter bersifat opsional dan masing-masing memiliki nilai default. Namun, api_key atau nama file harus diteruskan.
api_key ( str
) :
Kunci Odds API yang valid
nama file ( str
):
Nama file JSON yang berisi data dalam format yang sama dengan Odds API
APAKAH api_key ATAU nama file HARUS LULUS ( api_key DIREKOMENDASIKAN) JIKA TIDAK, FUNGSI AKAN KELUAR!**
Parameter berikut diteruskan ke panggilan API untuk menentukan jenis peluang mana yang ditarik dan memengaruhi jumlah permintaan yang dikenakan terhadap kuota Anda . Saat mengunggah file alih-alih memanggil API, semua hal berikut kecuali regions
akan digunakan untuk memfilter data file. Jika masukan yang buruk diberikan untuk salah satu parameter API, fungsi akan keluar.
olahraga ( list[str]
):
Daftar olahraga yang akan disertakan seperti yang ditentukan oleh The Odds API
wilayah ( list[str]
):
Daftar wilayah buku olahraga yang akan disertakan. Harus merupakan bagian dari: ['us', 'eu', 'uk', 'au']
pasar ( list[str]
):
Daftar pasar taruhan yang akan disertakan. Harus merupakan bagian dari ['h2h', 'spreads', 'totals']
. Untuk info lebih lanjut lihat di sini
Parameter ini mengidentifikasi jenis nilai yang diharapkan untuk digunakan. Ada 2 cara untuk menentukan peluang wajar suatu posisi dan dengan demikian 2 cara untuk menentukan nilai yang diharapkan dari sebuah taruhan.
Rata-rata: menentukan peluang wajar suatu posisi sebagai rata-rata semua peluang untuk posisi tersebut di semua buku olahraga dengan tepi buku olahraga dihilangkan.
Pinnacle: menentukan peluang wajar suatu posisi menjadi peluang yang ditawarkan oleh buku olahraga tajam Pinnacle dengan tepi buku olahraga dihilangkan.
Jika masukan yang diberikan buruk, fungsi akan keluar.
ev_type ( str
):
Metode penghitungan nilai yang diharapkan yang akan digunakan. Harus berupa salah satu dari yang berikut: 'rata-rata' , 'puncak' , atau 'keduanya'
Parameter ini digunakan untuk menyaring peluang. Jika masukan yang diberikan buruk, fungsi akan dilanjutkan tetapi tidak akan memfilter peluang berdasarkan nilai tersebut.
direkomendasikan ( bool
):
Jika yang direkomendasikan adalah Benar, semua nilai filter akan diganti dengan nilai yang direkomendasikan untuk menemukan taruhan yang paling menguntungkan.
hari_dari_sekarang ( int
atau float
):
Jumlah hari maksimum di masa depan untuk mengembalikan peluang
buku ( list[str]
):
Daftar buku olahraga yang akan dimasukkan dalam peluang. Lihat di sini untuk kunci buku olahraga yang valid.
min_odds ( int
atau float
):
Garis odds minimum (dalam format Amerika) dari odds yang dikembalikan.
min_odds ( int
atau float
):
Garis odds maksimum (dalam format Amerika) dari odds yang dikembalikan.
Jika min_odds > max_odds , fungsi akan mengembalikan DataFrame kosong
max_width ( int
atau float
):
Lebar maksimum odds yang dikembalikan. (Lihat Bidang DataFrame Terhitung untuk informasi selengkapnya tentang lebar)
max_vig_pct ( int
atau float
):
'Vign' atau 'edge' maksimum dalam odds sportsbook
min_ev_pct ( int
atau float
):
Persentase nilai minimum yang diharapkan dari peluang
min_num_books ( int
atau float
):
Jumlah minimum buku olahraga yang menawarkan setiap baris
pref_ev_filter ( str
):
Metode penghitungan ev yang disukai untuk memfilter nilai. Harus berupa salah satu dari yang berikut: 'avg' , 'pinnacle' , atau 'both' .
Catatan: ev_type dan pref_ev_filter tidak boleh bertentangan satu sama lain (misalnya jika 'avg' adalah ev_type , 'pinnacle' tidak boleh menjadi pref_ev_filter . Dalam skenario tersebut, pref_ev_filter akan ditetapkan secara default ke ev_type ).
Parameter ini digunakan untuk mengurutkan DataFrame
urutkan berdasarkan ( str
):
Nilai untuk mengurutkan DataFrame.
Harus berupa salah satu dari yang berikut: 'commence_time' , 'line' , 'width' , 'ev_pct' , 'kelly_pct' , atau 'default' .
'default' mengurutkan DataFrame berdasarkan kombinasi bidang default.
naik ( bool
):
Urutkan nilai yang dipilih dalam urutan menaik jika Benar, dan urutan menurun jika Salah
pref_ev_sort ( str
):
Metode penghitungan ev yang disukai untuk mengurutkan nilai. Harus berupa 'rata-rata' atau 'puncak' (BUKAN 'keduanya' ).
Catatan: ev_type dan pref_ev_sort tidak boleh bertentangan satu sama lain (misal, jika 'avg' adalah ev_type , 'pinnacle' tidak boleh menjadi pref_ev_sort . Dalam skenario tersebut, pref_ev_sort akan ditetapkan secara default ke ev_type ).
Parameter ini mengontrol apakah DataFrame yang dikembalikan akan menyertakan semua kolom data atau hanya kolom penting. Defaultnya adalah Salah.
diperluas ( bool
):
Jika diperluas adalah True, bidang tambahan akan disertakan dalam DataFrame yang dikembalikan. Banyak dari bidang ini merupakan bidang perantara dalam menghitung bidang yang lebih signifikan.
Jika diperluas adalah False, DataFrame hanya mengembalikan bidang yang paling signifikan.
Defaultnya adalah False jika tidak ditentukan.
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')
Berikut ini adalah deskripsi kolom tambahan yang dihitung oleh data()
(tidak termasuk kolom yang diperluas) yang tidak ada di data Odds API.
nomor_buku:
Jumlah buku olahraga yang mempunyai odds yang dipasang untuk posisi tertentu. Hal ini penting untuk penghitungan yang dilakukan dengan nilai rata-rata karena semakin tinggi jumlah buku yang berkontribusi terhadap rata-rata, maka semakin dapat diandalkan perhitungan tersebut
garis_adil:
Ini adalah peluang dari posisi tertentu jika 'vig' atau 'edge' yang dibangun oleh sportsbook dalam peluang mereka untuk menjamin keuntungan dihilangkan.
Mereka menunjukkan peluang sebenarnya dari hasil tersebut menurut buku olahraga
lebar:
Jumlah gabungan poin odds untuk kedua sisi pasar berada di bawah odds wajar (+100/-100)
Misalnya, jika dua sisi pasar adalah +105 dan -125, lebarnya akan menjadi 20 karena -125 adalah 25 di bawah dan +105 adalah 5 di atas sehingga jumlah bersihnya adalah 20.
Baca lebih lanjut di sini
vig_pct:
Perbedaan persentase antara persentase kemenangan tersirat dari serangkaian peluang tertentu pada sportsbook yang dilengkapi 'vig' atau 'edge' dan persentase kemenangan dari rangkaian peluang yang sama pada sportsbook yang sama dengan vig yang diambil untuk mencari persentase kemenangan yang adil. Ini adalah ukuran betapa tidak adilnya peluang yang ada.
ev_pct:
Persentase nilai yang diharapkan (ev) adalah persentase perbedaan antara persentase kemenangan tersirat dari posisi tertentu di beberapa sportsbook sebelum vig dihapus dan persentase kemenangan tersirat dari posisi yang sama di sportsbook yang lebih akurat (seperti Pinnacle) atau rata-rata dari beberapa buku olahraga setelah vig dihapus.
Lebih sederhananya, ini mewakili perbedaan antara peluang yang Anda pertaruhkan dan peluang sebenarnya untuk memenangkan taruhan.
Sebagian besar taruhan akan memiliki persentase ev negatif. Beberapa dengan persentase positif adalah taruhan yang menguntungkan.
Baca lebih lanjut di sini
kelly_pct:
Persentase uang Anda yang optimal secara statistik untuk dipertaruhkan berdasarkan persentase ev dan kemungkinan menang secara keseluruhan.