pip install oddsapi_ev
pandas numpy requests json datetime dateutil.parser pytz typing
โมดูลจะได้รับราคาต่อรองการเดิมพันกีฬาที่กำลังจะเกิดขึ้นจาก The Odds API และคำนวณมูลค่าที่คาดหวัง (ev) ของการเดิมพันนั้นโดยคำนึงถึง "อัตราต่อรองที่แท้จริง" อย่างใดอย่างหนึ่งหรือทั้งสองมาตรฐาน สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเดิมพัน ev โปรดดูโพสต์ข้อมูลนี้
ev.py
นี่เป็นโมดูลเดียวในแพ็คเกจ มันมี data()
data()
นี่เป็นฟังก์ชันเดียวในโมดูล ev.py
พารามิเตอร์: ดูส่วน พารามิเตอร์ data()
ส่งคืน: แพนด้า DataFrame
data()
พารามิเตอร์พารามิเตอร์แต่ละตัวเป็นทางเลือกและแต่ละตัวมีค่าเริ่มต้น อย่างไรก็ตาม จะต้องส่งผ่าน api_key หรือ ชื่อไฟล์
api_key ( str
) :
คีย์ Odds API ที่ถูกต้อง
ชื่อไฟล์ ( str
):
ชื่อของไฟล์ JSON ที่มีข้อมูลในรูปแบบเดียวกับ Odds API
ต้องผ่าน 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
):
หากแนะนำเป็น 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
):
ความกว้างสูงสุดของอัตราต่อรองที่ส่งคืน (ดู ฟิลด์ DataFrame จากการคำนวณ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับความกว้าง)
max_vig_pct ( int
หรือ float
):
'vig' หรือ 'edge' สูงสุดในราคาต่อรองของหนังสือกีฬา
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'
'ค่าเริ่มต้น' เรียงลำดับ DataFrame ตามการรวมฟิลด์เริ่มต้น
จากน้อยไปมาก ( bool
):
เรียงลำดับค่าที่เลือกโดยเรียงลำดับจากน้อยไปหามากเมื่อเป็นจริง และเรียงลำดับจากมากไปหาน้อยเมื่อเป็นเท็จ
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 ที่ส่งคืนจะรวมเขตข้อมูลทั้งหมดหรือเฉพาะเขตข้อมูลที่จำเป็นเท่านั้น ค่าเริ่มต้นเป็นเท็จ
ขยาย ( bool
):
หากขยายเป็น True ช่องพิเศษจะถูกรวมไว้ใน DataFrame ที่ส่งคืน หลายฟิลด์เหล่านี้เป็นฟิลด์ระดับกลางในการคำนวณฟิลด์ที่มีนัยสำคัญมากขึ้น
ถ้าขยายเป็นเท็จ DataFrame จะส่งกลับเฉพาะเขตข้อมูลที่สำคัญที่สุด
ค่าเริ่มต้นเป็นเท็จหากไม่ได้ระบุ
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')
ต่อไปนี้เป็นคำอธิบายของฟิลด์เพิ่มเติมที่คำนวณโดย data()
(ไม่รวมฟิลด์ที่ขยาย) ที่ไม่มีอยู่ในข้อมูล Odds API
num_books:
จำนวนหนังสือกีฬาที่มีการโพสต์ราคาต่อรองสำหรับตำแหน่งที่กำหนด นี่เป็นสิ่งสำคัญสำหรับการคำนวณด้วยค่าเฉลี่ย เนื่องจากยิ่งจำนวนหนังสือที่มีส่วนช่วยในค่าเฉลี่ยมากเท่าใด ความน่าเชื่อถือก็จะยิ่งมากขึ้นเท่านั้น
แฟร์_ไลน์:
นี่คืออัตราต่อรองของตำแหน่งที่กำหนดหาก 'vig' หรือ 'edge' ที่หนังสือกีฬาสร้างขึ้นในโอกาสที่จะรับประกันผลกำไรถูกลบออก
พวกเขาระบุว่าโอกาสที่แท้จริงของผลลัพธ์จะเป็นอย่างไรตามหนังสือกีฬา
ความกว้าง:
จำนวนแต้มรวมของราคาต่อรองสำหรับทั้งสองฝ่ายของตลาดต่ำกว่าราคาต่อรองที่ยุติธรรม (+100/-100)
ตัวอย่างเช่น หากทั้งสองด้านของตลาดคือ +105 และ -125 ความกว้างจะเป็น 20 เนื่องจาก -125 คือ 25 ต่ำกว่า และ +105 คือ 5 ด้านบน ดังนั้นตัวเลขสุทธิจะเป็น 20
อ่านเพิ่มเติมได้ที่นี่
vig_pct:
เปอร์เซ็นต์ความแตกต่างระหว่างเปอร์เซ็นต์การชนะโดยนัยของอัตราต่อรองที่กำหนดในหนังสือกีฬาที่มี 'vig' หรือ 'edge' ในตัว และเปอร์เซ็นต์การชนะของอัตราต่อรองชุดเดียวกันเหล่านั้นในหนังสือกีฬาเล่มเดียวกันโดยนำ vig ออกมาเพื่อค้นหา เปอร์เซ็นต์การชนะที่ยุติธรรม เป็นการวัดว่าอัตราต่อรองไม่ยุติธรรมเพียงใด
ev_pct:
เปอร์เซ็นต์ค่าที่คาดหวัง (ev) คือเปอร์เซ็นต์ความแตกต่างระหว่างเปอร์เซ็นต์การชนะโดยนัยของตำแหน่งที่กำหนดในหนังสือกีฬาบางรายการก่อนที่ vig จะถูกลบออก และเปอร์เซ็นต์การชนะโดยนัยของตำแหน่งเดียวกันในหนังสือกีฬาที่แม่นยำยิ่งขึ้น (เช่น Pinnacle) หรือค่าเฉลี่ย ของหนังสือกีฬาหลายเล่มหลังจากถอด vig ออก
พูดง่ายๆ ก็คือมันแสดงถึงความแตกต่างระหว่างอัตราต่อรองที่คุณเดิมพันและโอกาสที่แท้จริงในการชนะการเดิมพัน
การเดิมพันส่วนใหญ่จะมีเปอร์เซ็นต์ EV ติดลบ ส่วนน้อยที่มีเปอร์เซ็นต์เป็นบวกคือการเดิมพันที่ทำกำไรได้
อ่านเพิ่มเติมได้ที่นี่
kelly_pct:
เปอร์เซ็นต์ที่เหมาะสมทางสถิติของเงินทุนของคุณที่จะเดิมพันโดยพิจารณาจากเปอร์เซ็นต์ ev และความน่าจะเป็นโดยรวมในการชนะ