원시 배당률이 100%가 되지 않는 이유
배당률 데이터로 작업하기 시작했을 때 "아하" 순간 중 하나였습니다. 모든 결과를 내재 확률로 변환하고 합산하면... 104%가 나왔습니다. 그다음엔 106%. 때로는 110%.
그 추가 퍼센티지를 마진(또는 오버라운드, vig, juice)이라고 합니다. 이것을 이해하는 것은 진지한 스포츠 데이터 분석을 하는 모든 사람에게 중요합니다.
마진 뒤의 수학
이론적인 "공정한" 시장에서 내재 확률은 정확히 100%가 됩니다:
| 결과 | 공정 배당률 | 내재 확률 |
| 홈 승리 | 2.50 | 40% |
| 무승부 | 3.33 | 30% |
| 원정 승리 | 3.33 | 30% |
| 합계 | 100% |
| 결과 | 실제 배당률 | 내재 확률 |
| 홈 승리 | 2.38 | 42.0% |
| 무승부 | 3.17 | 31.5% |
| 원정 승리 | 3.17 | 31.5% |
| 합계 | 105% |
ML 모델에 중요한 이유
예측 모델을 구축할 때 배당률을 피처로 사용하는 두 가지 옵션이 있습니다:
1. 원시 내재 확률 사용
단순하지만 시장과 소스에 따라 달라지는 마진의 노이즈를 포함합니다.
2. 마진을 제거하기 위해 정규화
```
진정한 확률 = 원시 내재 확률 / 모든 확률의 합
OddsFlow에서는 배당률을 보정 대상으로 사용할 때 일반적으로 정규화하지만, 시장 움직임을 추적할 때는 원시 값을 유지합니다(마진 변화 자체가 정보가 될 수 있으므로).
소스별 마진 변동
다른 데이터 소스는 다른 일반적인 마진을 가집니다:
| 소스 유형 | 일반적인 마진 |
| 샤프 시장 (Pinnacle) | 2-3% |
| 주요 운영자 | 4-6% |
| 소규모 운영자 | 7-10%+ |
마진을 피처로 사용
우리가 발견한 것이 있습니다: 시간에 따른 마진 변화는 예측적일 수 있습니다. 마진이 줄어들면(100%로 이동) 시장 확신이 증가했음을 나타내는 경우가 많습니다. 넓어지면 정보 비대칭이 있을 수 있습니다.
우리는 전처리 파이프라인에서 원시 배당률과 함께 마진을 추적합니다.
실용적인 계산
`python
def calculate_margin(decimal_odds: list) -> float:
implied_probs = [1/odds for odds in decimal_odds]
return sum(implied_probs) - 1
예시: 1X2 시장
odds = [2.38, 3.17, 3.17] margin = calculate_margin(odds) # 0.05 (5%) 반환 ``📖 관련 읽기: 내재 확률 설명 • 배당률 움직임 분석
*OddsFlow는 교육 및 정보 목적으로 AI 기반 스포츠 분석을 제공합니다.*

