pip install oddsapi_ev
pandas numpy requests json datetime dateutil.parser pytz typing
모듈은 Odds API에서 다가오는 스포츠 베팅 확률을 가져오고 "실제 확률"의 두 가지 표준 중 하나 또는 둘 모두와 관련하여 해당 베팅의 기대값(ev)을 계산합니다. ev 베팅에 대한 자세한 내용은 이 유익한 게시물을 참조하세요.
ev.py
이것은 패키지의 유일한 모듈입니다. 여기에는 funciton data()
포함되어 있습니다.
data()
이는 ev.py
모듈의 유일한 함수입니다.
매개변수: data()
매개변수 섹션을 참조하세요.
반환: 팬더 DataFrame
data()
매개변수각 매개변수는 선택사항이며 기본값이 있습니다. 그러나 api_key 또는 filename을 전달해야 합니다.
api_key( str
) :
유효한 확률 API 키
파일 이름( str
):
Odds API와 동일한 형식의 데이터를 포함하는 JSON 파일의 이름
api_key 또는 파일 이름을 전달해야 합니다( api_key 권장). 그렇지 않으면 함수가 종료됩니다!**
다음 매개변수는 API 호출에 전달되어 어떤 유형의 배당률을 가져오고 할당량에 따라 청구되는 요청 수에 영향을 미치는지 지정합니다. API를 호출하는 대신 파일을 업로드하는 경우 regions
제외한 다음 모두가 파일 데이터를 필터링하는 데 사용됩니다. API 매개변수에 잘못된 입력이 제공되면 함수가 종료됩니다.
스포츠( list[str]
):
Odds API에 정의된 대로 포함할 스포츠 목록
지역( list[str]
):
포함할 스포츠 북 지역 목록입니다. 다음의 하위 집합이어야 합니다: ['us', 'eu', 'uk', 'au']
시장( list[str]
):
포함할 베팅 시장 목록입니다. ['h2h', 'spreads', 'totals']
의 하위 집합이어야 합니다. 자세한 내용은 여기를 참조하세요
이 매개변수는 사용할 예상 값 유형을 식별합니다. 포지션의 공정 배당률을 결정하는 방법에는 두 가지가 있으며, 따라서 베팅의 기대 가치를 결정하는 방법도 두 가지입니다.
평균: 스포츠 북의 가장자리를 제거한 모든 스포츠 북에서 해당 포지션에 대한 모든 배당률의 평균으로 포지션의 공정 배당률을 결정합니다.
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' 중 하나여야 합니다.
'default'는 기본 필드 조합에 따라 DataFrame을 정렬합니다.
오름차순( 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
):
확장이 True이면 반환된 DataFrame에 추가 필드가 포함됩니다. 이러한 필드 중 다수는 더 중요한 필드를 계산하는 중간 필드입니다.
Expand가 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()
로 계산된 추가 필드(확장 필드 제외)에 대한 설명입니다.
num_books:
특정 포지션에 대해 배당률이 게시된 스포츠 북의 수입니다. 이는 평균에 기여하는 책의 수가 많을수록 더 신뢰할 수 있기 때문에 평균 값으로 수행된 계산에 중요합니다.
fair_line:
이는 스포츠 북이 이익 보장 확률에 구축하는 'vig' 또는 'edge'를 제거한 경우 특정 포지션의 확률이 되는 것입니다.
이는 스포츠 북에 따른 실제 결과 가능성을 나타냅니다.
너비:
시장 양쪽의 배당률이 공정 배당률보다 낮은 총 포인트 수(+100/-100)
예를 들어, 시장의 두 측면이 +105와 -125인 경우 너비는 20이 됩니다. -125는 아래 25이고 +105는 위 5이므로 순 숫자는 20이 됩니다.
여기서 더 읽어보세요
vig_pct:
'vig' 또는 'edge'가 내장된 스포츠 북의 주어진 배당률 세트의 묵시적 승률과 vig가 포함된 동일한 스포츠 북의 동일한 배당률 세트의 승률 사이의 백분율 차이를 구합니다. 공정한 승률. 이는 확률이 얼마나 불공평한지를 측정하는 것입니다.
ev_pct:
기대값(ev) 백분율은 vig가 제거되기 전 일부 스포츠 북에서 주어진 포지션의 묵시적 승률과 더 정확한 스포츠 북(예: Pinnacle) 또는 평균에서 동일한 포지션의 묵시적 승률 간의 백분율 차이입니다. vig가 제거된 후 여러 스포츠 북의.
더 간단히 말하면, 베팅한 확률과 실제 베팅에서 승리할 확률의 차이를 나타냅니다.
대부분의 베팅은 마이너스 EV 비율을 갖습니다. 긍정적인 비율을 가진 소수는 수익성 있는 베팅입니다.
여기서 더 읽어보세요
켈리_pct:
ev 비율과 전반적인 승리 확률을 기반으로 베팅할 자금의 통계적으로 최적 비율입니다.