AI는 도박에서 이길 수 있을까 [검증편] - 6만 경기 실데이터, 포커 AI, 실제 LLM로 승패 원인을 분석하다
요약
본 기사는 AI가 도박 및 투자 시장에서 승리할 수 있는지 검증한 연구 결과입니다. 유럽 축구 경기 오즈와 미국 주식 데이터를 활용하여 Claude Haiku 5.5 같은 LLM을 다양한 상대(수학, 편향된 난수 등)에 대입해 손익과 기대값을 분석했습니다. 연구는 AI의 승패가 지능보다 '상대'의 특성이나 시장 구조적 결함에 의해 결정됨을 보여줍니다.
핵심 포인트
- AI의 승패는 상대방(시장/난수원)의 결함에 크게 의존한다.
- 실제 데이터 분석 결과, AI는 인증된 난수에는 패배했으나 결함 있는 난수에서는 이익을 얻었다.
- 연구는 Python 기반으로 8가지 실험을 구현했으며, GitHub에 코드를 공개했다.
- AI가 시장에서 우위를 점하려면 충분한 표본과 지속적인 실행 능력이 필요하다.
‘AI는 도박에서 이길 수 있을까’라는 주제로 이론 편을 2편 공개했습니다.
- 이론 편・전편 (X): AI는 도박에서 이길 수 있을까 — ‘상대가 누구냐’에 따라 읽어내는 승패의 구조 -
이론 편・후편 (note): AI는 도박에서 이길 수 있을까 — ‘무엇이 필요한가’에 따라 읽어내는, 이기기 위한 조건
이론 편에서는 선행 연구와 공적 자료를 바탕으로 다음과 같은 주장을 했습니다.
- 승패는 AI의 지능보다 먼저 ‘상대를 누구로 하느냐’에 의해 결정된다.
- 시장 수준의 예측 정확도로는 수수료율만큼 손해 본다.
- 실력을 증명하기 위해서는 수만 번의 도박이 필요하다.
- 이기는 고객은 운영자(胴元)에게 제한된다.
본 기사는 그 검증 편입니다. 8가지 실험을 Python으로 구현하여 AI를 실제로 다양한 상대와 싸우게 했습니다. 손익, 승률, 기대값을 측정하고, 승인과 패인의 원인을 분석했습니다.
- 실데이터: 유럽 축구 약 6만 경기 오즈와 미국 주식 100년분의 일별 리턴
- 실제 AI: Anthropic API를 통한 Claude Haiku 5.5
- 시뮬레이션: 진정한 확률을 알 수 있는 룰렛, 포커, 경마, 계좌 제한
코드는 모두 GitHub에 공개하고 있습니다.
본 기사는 도박이나 투자/트레이드를 권장하거나 부정하는 것이 아닙니다. 게재된 수치는 시스템을 확인하기 위한 검증 결과이며, 도박이나 투자에 관한 조언이 아닙니다. 일본에서는 법으로 인정된 것을 제외하고 돈을 거는 행위는 원칙적으로 도박죄의 대상이 됩니다.
| 상대 | 검증 결과 |
|---|---|
| 수학 (룰렛) | 동일한 학습 AI가 인증된 난수에는 이론대로 패배(ROI −2.6%)했지만, 결함 있는 난수에는 승리했다(+6.0%, +2,265%). 승인 원인은 상대의 결함 |
| ... | |
| 이론 편과 마찬가지로, 상대를 다음 5가지 종류로 나눕니다. |
| 상대 | 예시 | 기대값을 결정하는 것 |
|---|---|---|
| 수학 | 복권, 슬롯, 룰렛 | 난수와 고정된 수수료 |
| ... | ||
| ‘이길 수 있다’ 역시 다음의 3가지 수준으로 나누어 측정합니다. |
- 기대값: 기대값이나 기대 성장률이 플러스인지. -
- 검증: 우위를 우연과 구별할 수 있는 충분한 표본이 있는지. -
- 실행: 예상한 가격으로 체결하고 지속할 수 있는지.
| 연구 | 상대 | 데이터 | ‘AI’ |
|---|---|
| 1 | 수학: 룰렛・슬롯 | 모의 | 출현을 학습하는 모델(빈도, 2차 마르코프) |
| ... |
기술 스택은 Python 3.13, numpy, scipy, pandas, scikit-learn, matplotlib, anthropic입니다. uv로 의존성을 관리하고, ruff와 isort로 정형화하며, pytest로 테스트합니다.
git clone https://github.com/shibuiwilliam/bet-with-ai.git
cd bet-with-ai
uv sync
...
각 연구 결과는 outputs/에 Markdown과 JSON으로 작성하고, 고찰은 report.md에 정리했습니다. 난수의 시드, 라이브러리 버전(uv.lock), 데이터 해시(data/MANIFEST.json), LLM의 답변(data/llm_cache/)은 모두 고정되어 있습니다. 따라서 몇 번을 실행해도 모든 출력이 바이트 단위로 일치합니다.
동일한 학습 AI를 3가지 난수원에 적용했습니다.
- 인증된 난수 (numpy의 PCG64)
- 3개의 포켓이 10% 더 잘 나오는 편향된 휠
- 12비트 선형 합동법으로 만든 약한 유사 난수
def weak_prng(seed: int, n: int) -> np.ndarray:
""A 12-bit linear congruential generator (period 4,096) mapped to 0..36."
...
AI는 직전 k회부터 다음 출현의 빈도를 학습하고, 가장 많았던 출현에 1점을 겁니다(적중 시 36배, 기대값 −2.70%). 각 조건에서 20만 회전을 시도했습니다.
| 난수원 | AI | ROI [95%CI] |
|---|---|---|
| 인증된 난수 | 2차 마르코프 | −2.62% [−5.19%, +0.01%] |
| 편향된 휠 | 빈도 모델 | +5.98% [+3.45%, +8.68%] |
| 편향된 휠 | 2차 마르코프 | −3.90% [−6.42%, −1.38%] |
| 약한 유사 난수 | 2차 마르코프 | +2,265% (적중률 65.7%) |
| 약한 유사 난수 | 빈도 모델 | −39.4% |
승리 요인은 AI가 아니라 상대방의 결함에 있습니다. 인증된 난수의 경우, 과거 출력이 다음 출력에 가지는 정보량(상호정보량)이 0과 구별되지 않아(대체 검정 p=0.75), AI는 이론값대로 패배했습니다. -
결함이 있어도 모델 구조가 맞지 않으면 집니다. 편향된 휠은 출현율의 편향이므로 빈도 모델로 포착할 수 있습니다. 반면, 2차 마르코프로는 데이터가 1,369가지의 문맥에 분산되어 포착되지 못했습니다. 역으로, 약한 유사 난수는 시리즈의 규칙이므로 빈도 모델로는 포착할 수 없습니다. -
모델이 복잡할수록 존재하지 않는 패턴을 발견하여 베팅합니다. '99%의 확도로 손익분기점을 넘을 때만 베팅한다'는 신중한 AI를 인증된 난수에 적용했습니다. 빈도 모델은 316번만 베팅했지만, 2차 마르코프는 무려 16,872번이나 베팅했습니다. 대량의 후보 중에서 최댓값을 선택하기 때문에 우연한 편향을 우위성으로 오인하게 됩니다.
그 외 두 가지를 더 확인했습니다.
마틴게일(패배할 때마다 베팅 금액을 두 배로 하는 방법): 90.8%의 세션에서 승리했지만, 베팅 금액 1 단위당 손익은 −2.63%로 균등하게 베팅했을 경우와 동일했습니다. 승률과 기대값은 별개입니다. -
기대값 −10% 슬롯(Lee et al. 2025와 동일한 설계): 20번 베팅할 경우, 패배할 때마다 베팅 금액을 두 배로 하면 파산율이 고정액으로 베팅했을 때의 16.1%에서 78.6%로 상승했습니다.
쿠엔 포커(J・Q・K 세 장으로 하는 최소의 포커)에서는 모든 기대값을 계산을 통해 엄밀하게 계산할 수 있습니다. Libratus나 Pluribus와 동계열 알고리즘인 CFR(반실가상 후회 최소화, Counterfactual Regret Minimization)를 사용하여 균형 전략을 학습시켰습니다. 핵심 부분은 다음 20줄 정도입니다.
def walk(h, c1, c2, reach):
if h in TERMINAL:
return np.array(payoffs(h, c1, c2, 0.0))
...
2만 번 반복하자, 상대방이 최선의 응답을 통해 얻는 이익(착취 가능성)은 0.0016칩/핸드까지 하락했습니다. 선수의 기대값 역시 이론값인 −1/18에 일치했습니다. 이 균형 AI와, 상대의 습관을 완벽하게 파악하여 약점을 공격하는 '착취 AI'를 인간적인 습관을 가진 4가지 종류의 상대와 겨루게 했습니다.
| 상대의 습관 | 균형 AI (칩/핸드) | 착취 AI (칩/핸드) | 우위 증명에 필요한 핸드 수 |
|---|---|---|
| 무엇이든 콜하는 경우 | +0.137 | +0.417 | 74 |
| 강한 패 외에는 폴드하는 경우 | −0.001 | +0.250 | 118 |
| 항상 베팅/콜하는 경우 | +0.114 | +0.333 | 161 |
| J로 빈번하게 블러핑하는 경우 | +0.001 | +0.117 | 1,063 |
균형 전략(GTO)은 '지기만' 할 뿐입니다. 상대의 명백한 실수(J로 콜하는 등)에서는 이득을 얻지만, 신중한 상대에게서는 거의 이득을 볼 수 없었습니다. -
승리 요인은 상대방의 습관입니다. 상대의 12가지 판단 각각에 대해 '습관적인 전략'과 '균형 전략' 중 하나를 선택하는 총 4,096가지 조합으로 기대값을 계산하고, 샤프리 값(Shapley value)을 사용하여 기여도를 분해했습니다. 무엇이든 콜하는 상대에게서 얻은 이익의 59%는 'J로 베팅에 콜하는' 두 가지 판단만으로 설명할 수 있었습니다. 너무 폴드하는 상대에게서 얻은 이익도 그 65%를 'Q로 폴드하는' 두 가지 판단이 차지했습니다. -
장대(場代)가 작은 우위를 지워버립니다. 레이크(Lattice, 場代)가 10%라면, 균형 AI끼리는 양쪽 모두 −0.145칩/핸드로 패배했습니다. 블러핑이 많은 상대를 착취하는 AI 역시 패배로 돌아섰습니다 (−0.052).
마작 AI인 Suphx의 경우, 논문에서 보고된 순위율(1위 29.3%, 4위 18.7%)에 정규분포 모델을 적용했습니다. Suphx의 우위성은 평균 점수가 높은 것뿐만 아니라, 점수의 분산이 작다는 것, 즉 4위를 피할 수 있는 능력에서도 나타났습니다. 그럼에도 불구하고, Suphx의 안정적인 단위 추정치가 최고 수준의 인간을 능가할 확률은 1,000판에서 86%, 2,000판에서 93%였습니다.
european-data.co.uk에서 유럽 18개 리그(2017/18~2026/27)의 CSV를 가져왔습니다. 분석에는 각 회사에서 제시한 시가와 종가의 오즈를 사용했습니다.
오즈 역수의 합은 북원의 마진이 포함되어 있어 1을 초과합니다. 이를 확률로 변환하기 위해, 처음에는 합계가 1이 되도록 단순하게 정규화하는 '곱법'을 사용했습니다. 하지만 이 방법으로는 큰 이변의 확률을 과대평가하게 됩니다. 그래서 $\sum_i (1/o_i)^k = 1$ 이 되는 $k$를 구하는 '멱승법(べき乗法)'으로 전환했습니다.
def devig(o: np.ndarray, method: str = "power") -> np.ndarray:
inv = 1.0 / o
if method == "multiplicative":
...
| 오즈 구간 (평균 종가) | 실제 승률 | 곱법 | 멱승법 | 전체 결과에 베팅한 ROI |
|---|---|---|---|
| 1.0~1.5 | 75.47% | 72.04% | 74.55% | −0.89% |
| ... |
멱승법으로 마진을 제외한 종가의 확률은 실제 출현 빈도와 가중치 R² = 0.9985로 일치했습니다. 강력한 후보–큰 이변 편향(bias)도 명확하게 보이지만, 어떤 오즈 구간에서도 ROI는 마이너스입니다. 가격의 왜곡은 마진을 상쇄할 만큼 크지 않습니다.
특징량으로는 Elo 레이팅 차이(홈 보정 포함)와 득점·실점·슈팅·골문 앞 슈팅·승점의 지수 평활 평균을 사용합니다. 같은 날의 경기 결과조차도 사용하지 않도록 날짜별로 모아서 특징량을 만들고, 그날의 모든 경기를 처리한 후에 상태를 업데이트합니다.
# Group by date so that results from the same day never leak into each other.
for _, idx in sorted(rows.groupby("date").groups.items()):
updates = []
...
각 시즌을 이전 시즌의 데이터로만 학습한 모델로 예측했습니다(워크포워드). 평가 대상은 2021/22~2026/27의 34,626경기입니다.
| 예측 | log-loss | 종가와의 차이 [95%CI] | 적중률 |
|---|---|---|---|
| Elo만 사용한 로지스틱 회귀 | 1.0156 | +0.024 | 49.3% |
| ... | |||
| Benter(1994)와 같은 형태인 $p \propto p_{\mathrm{model}}^a \times p_{\mathrm{market}}^b$ 로 모델과 시장을 결합하고, a와 b를 과거 시즌에서 추정했습니다. 모델의 가중치 a는 −0.15~−0.03로 거의 0에 가까웠습니다. 과거 경기 결과나 슈팅 수로부터 얻을 수 있는 정보는 이미 오즈에 반영되어 있습니다. |
'모델 확률 $\times$ 오즈'가 1.05를 초과하는 결과에 1 단위씩 베팅하고, 각 베팅의 기댓값을 로그로 분해했습니다.
\ln(o p_{\mathrm{close}})
&=
ext{ln}igg(\frac{o}{ar{o}_{\mathrm{open}}}igg)
\dots
우변의 첫 번째 항은 '가격 비교', 두 번째 항은 '시점', 세 번째 항은 '마진'을 나타냅니다. 여기서 $o$는 베팅한 오즈, $ar{o}{\mathrm{open}}$과 $ar{o}{\mathrm{close}}$는 각각 각 회사의 시가와 종가의 평균 오즈이며, $p_{\mathrm{close}}$는 종가에서 마진을 제외한 시장 확률입니다.
| 모델・베팅 가격 | 베팅 횟수 | 모델이 예상한 기대값 | 가격 비교 | 시기 | 마진 | 실제 ROI [95%CI] |
|---|---|---|---|---|---|---|
| 기울기 부스팅 (Gradient Boosting) - 일반적인 회사 | 20,357 | +21.6% | 0 | −0.0% | −8.6% | −11.8% [−14.1%, −9.6%] |
| 기울기 부스팅 (Gradient Boosting) - Bet365 | 21,007 | +22.2% | +1.4% | −0.2% | −8.7% | −10.1% |
| 기울기 부스팅 (Gradient Boosting) - 회사 전체 최고치 | 27,858 | +24.4% | +6.5% | −0.2% | −8.5% | −5.2% |
패배 원인은 마진과 모델의 과신입니다. 모델이 선택하는 것은 시장의 예측과 어긋나는 결과이며, 그 선택은 대박(大穴)에 치우칩니다. 대박일수록 마진은 높아져 약 8.6%에 달했습니다. 모델이 예상한 +22%는 실현되지 않았고, 베팅 후 배당률 변화로 인한 효과(시기) 역시 거의 0이었습니다. 시장의 평가는 모델의 예측에 근접하지 못했던 것입니다. -
플러스적인 요인은 '가격 비교'뿐입니다. 회사 전체 최고치에서 베팅할 경우 +6.5%의 이득을 얻지만, 마진을 모두 메우지는 못했습니다.
예측 모델을 사용하지 않고, 최고치가 각 회사의 평균(컨센서스)에서 크게 벗어난 결과에 베팅하는 Kaunitz et al.(2017) 유형의 규칙도 시도해 보았습니다. 시작가에서는 ROI +4.7%(2,860회, t=1.87), 마감가에서는 +4.8%(8,862회, t=3.29)로 기록상으로는 플러스였습니다.
하지만 최고치에는 역선택(逆選択)이 있었습니다. 최고치가 평균의 1.2배 이상이었던 결과의 실제 발생률은 마감가에서 추정한 시장 확률의 85%에 그쳤습니다. '너무 높은 가격'은 그만큼 실현하기 어려운 결과로 제시되었던 것입니다.
5만 계좌를 시뮬레이션했습니다. 고객의 기대값에는 연구3에서 측정된 마감가 대비 기대값을 사용했습니다. 운영사(胴元)는 각 베팅을 마감가와 비교한 성적의 t값이 2.5를 초과하거나, 이익이 40단위를 초과하는 계좌를 제한합니다. 실제 운영 규칙은 비공개이므로, 여기서는 실무를 가정하여 이 규칙을 설정했습니다.
| 고객 유형 | 1회 기대값 | 제한된 비율 | 제한까지의 횟수 (중앙값) | 우위 증명에 필요한 횟수 |
|---|---|---|---|
| 오락 목적의 고객 | −7.0% | 6.6% | 355 | ∞ |
| ... |38 | 10,218 | |
| 예리한 고객 | +2.0% | 100% | 112 | 23,185 |
운영사는 모든 베팅을 마감가와 비교할 수 있기 때문에, 고객 스스로 이익으로 우위를 증명하는 것보다 훨씬 빨리 승리하는 고객을 간파할 수 있습니다. 예상만 기록한 종이 위의 성적으로 ROI +10% 이상을 보인 고객 중, 기대값이 실제로 플러스였던 비율은 50회 기록에서는 8%, 200회에서도 19%였습니다. 단기간의 좋은 성적은 그 대부분이 우연에 의한 것입니다.
진정한 확률을 알 수 있도록 6만 경주를 시뮬레이션했습니다 (8~16마리, JRA의 승률과 동일한 공제율 20%, 10엔 단위 절사). 그리고 이론편에서 도출된 다음 항등식을 매 경주마다 검증했습니다. 이는 모든 마리에 예측 확률대로 베팅했을 경우, 1경주당 로그 성장률을 나타냅니다.
$$
W =
ln(1-t) + D(p|r) - D(p|q)
$$
여기서, $t$는 공제율, $p$는 진정한 확률, $r$은 시장 확률(표수 점유율), $q$는 AI의 예측 확률, $D$는 KL 다이버전스입니다.
def test_growth_identity_holds_race_by_race(races):
q = s5.model_probs(races, 0.4, seed=1)
p, r, mask = races[
시장 상황을 반영하는 AI는 정확히 할인율만큼만 손해를 봅니다 (W ≈ ln 0.8).
모든 경주에 비례하여 베팅했을 때, 어떤 AI도 손해를 봤습니다. 필요한 정보 우위가 0.223 너츠였는데, 가장 강력한 AI조차도 0.021 너츠였습니다.
기대값이 플러스인 말들만 선택하면 이길 수 있는 경우가 있습니다. 단독으로는 지는 보통 수준의 AI도 시장과 결합함으로써 승리했습니다 (Benter 방식 재현).
용량에는 한계가 있습니다. 자신의 베팅으로 오즈가 하락하는 효과를 포함하자, 기대 수익은 경기당 총표수의 0.23%였습니다. 이는 Benter가 추정한 상한선인 '매출의 0.25~0.5%'와 같은 수준입니다.
다만, 대상을 선택하여 베팅함으로써 이길 수 있는 것은 상대 시장이 부정확할 경우에 한정됩니다. 군중의 오차를 변화시키면서 강력한 AI가 선택한 말들의 진정한 기대값을 비교했습니다.
| 군중의 오차(노이즈 크기) | 시장의 오차 D(p‖r) | 강력한 AI의 진정한 기대값 |
|---|---|---|
| 0.10 | 0.013 너츠 | −17.0% |
| ... |
연구 3의 축구처럼 시장이 정확하다면, 이 우위는 성립하지 않습니다.
Kenneth R. French Data Library에서 미국 주식의 일일 시장 초과 수익률(1926~2026년)과 49개 산업군의 포트폴리오를 가져왔습니다.
**리스크 프리미엄:** 주식 수익이 현금을 상회한 비율은 하루 기준으로 54.0%, 1년 기준 70.9%, 20년 기준 100%였습니다. 일 단위로 보면, 플러스 기대값은 거의 판별할 수 없습니다.
**예측력이 없는 데이트레이더** (1990~2026년, 매일 무작위로 매수 또는 매도를 선택하고 왕복 비용 0.1%): 매수 보유가 상회한 사람은 0%였습니다.
**레버리지** (매일 L배가 되도록 보유 규모를 조정): 성장률은 2~3배까지 최대가 되었습니다. 그러나 1987년 10월 19일에 −17.4%의 하락이 있었기 때문에, 6배 이상에서는 하루 만에 파산했습니다. 생존 가능한 상한선은 1/0.174 ≈ 5.7배입니다.
**AI의 매매 시그널:** 매년 1월 직전 10년간의 데이터로 재학습하는 (워크 포워드) 모델로, 상위 10개 산업군을 매수하고 하위 10개 산업군을 매도했습니다.
| 시그널 | 비용 전 샤프 | 편도 5bp | 편도 10bp | IC(t값) |
|---|---|---|---|---|
| 리지 회귀・주간 | 0.48 | 0.14 | −0.19 | +0.031 (5.8) |
| ... |
| 시대(주간, 비용 전 → 편도 10bp 후) | 1980~1999 | 2000~2012 | 2013~2026 |
|---|---|---|---|
| 리지 회귀 | 1.37 → 0.50 | 0.29 → −0.26 | −0.18 → −0.82 |
| 경사 부스팅 | 1.58 → 0.51 | −0.04 → −0.80 | −0.15 → −1.09 |
-
**예측 가능성은 존재했지만, 작았고 시대에 따라 사라졌습니다.** IC는 통계적으로 유의미했지만, 주간 매매 회전율이 비용을 증가시켰습니다. 1980~90년대에 있던 우위는 2000년 이후에는 비용 전으로도 사라졌습니다.
**탐색의 함정(Search Trap)이 있습니다.** 16가지 방법 중 1980~1999년 성적이 가장 좋은 것을 선택하자, 표본 내 샤프 비율은 0.68이었지만, 2000~2026년에는 0.13까지 떨어졌습니다. 단 한 가지만 시도했다고 가정하면 유의미해 보이는 성적(PSR 98.2%)조차, 16가지 방법에서 선택했다는 사실을 고려하면 (Deflated Sharpe) 우연히 얻은 최댓값과 구별할 수 없었습니다.
프리미어 리그의 460경기(2022/23~2026/27)를 10~20경기씩 Claude Haiku 5.5에게 전달했습니다. 질문은 다음 세 종류입니다.
- 결과를 기억하는가
- 팀 이름과 날짜만으로 예측할 수 있는가
- 오즈를 보여준 후에 예측할 수 있는가
API는 총 161회 호출되었습니다. LLM 실험은 결과 재현이 가능하도록 답변 캐시를 전제로 설계되어 있습니다.
def ask(prompt: str, tag: str, run: int = 0) -> str:
key = hashlib.sha256(f"{MODEL}|{run}|{prompt}".encode()).hexdigest()[:24]
path = CACHE / f"{tag}_{key}.json"
...
캐시(`data/llm_cache/`)
)도 리포지토리에 포함하고 있기 때문에, API 키가 없어도 같은 답변을 재채점할 수 있습니다.
| 시즌 | 결과 예측 비율 | LLM (배당률 없음) | LLM (배당률 있음) | 시장 (종가) |
|---|---|---|---|---|
| 2022/23 | 31% | 0.989 | 0.970 | 0.954 |
| ... | 0.956 | 0.946 |
(수치는 log-loss입니다. 작을수록 좋습니다)
-
**LLM은 시장보다 부정확했습니다** (배당률 없음 조건에서 +0.042 나츠, 95%CI +0.016~+0.069). 배당률을 보여줘도 시장을 능가하지 못했습니다. -
**이번 조건에서는 기억에 의존한 선견지명의 이득은 발견되지 않았습니다.** 결과 예측 비율은 모델 자신이 답변한 학습 데이터의 종료 시점(2025년 초경)과 일치하도록 감소했습니다. 다만, 답변한 점수의 정답률은 16~40%에 그쳐 기억이 부정확했습니다. 승패를 올바르게 기억해낸 경기에서도 실제로 발생한 결과에 할당한 확률은 시장보다 낮았습니다. -
**베팅 결과:** 272회에서 ROI −17.5% (95%CI −38.6%~+3.5%)였습니다. 수백 회에서는 우위의 유무를 판정할 수 없습니다. -
**재현성이 없습니다.** 같은 프롬프트를 두 번 보냈을 때, 예측 확률이 완전히 일치한 경기는 19.8%에 불과했고, 가장 높은 확률을 할당한 결과가 바뀐 경기도 8.9% 있었습니다.
| 상대 | AI가 승리한 조건 (승인) | AI가 패배한 이유 (패인) |
|---|---|---|
| 수학 | 난수 생성기의 결함과, 이에 맞는 모델 구조 | 정보량 제로. 공제액이 그대로 기대값이 됩니다. |
| ... |
AI가 승리한 경우는 상대에게 결함이나 습관 또는 부정확성이 있어 거기서 얻을 수 있는 우위가 공제액이나 비용을 초과할 때뿐이었습니다. 게다가, 이길 상황일수록 계좌 제한, 시장 용량의 상한선, 우위성의 소멸로 인해 계속 승리하기 어려워집니다. **AI는 베팅의 수학을 바꾸지 않습니다. 바뀌는 것은 누가 이기기 쉬운가입니다.** 이 결론은 이론편의 주장과 대체로 일치했습니다.
당초에는 곱법으로 마진을 제외하고 계산했습니다. 그러자 모델에 의한 베팅의 '종가 기준 기대값'은 +1.1%였음에도 불구하고, 실제 ROI는 −5.2%였고, 그 차이는 약 6σ나 되었습니다. 원인은 곱법이 대박 확률을 과대평가하여, 대박에 치우친 모델의 베팅을 실태보다 유리하게 보이게 했기 때문입니다. 지수 로그(べき乗法)로 바꾸자, 보정된 R²는 0.9938에서 0.9985로 상승했습니다. 배당률을 확률로 변환하는 처리는 사소하지만, 평가의 결론을 좌우합니다.
베팅이나 트레이드 모델에서 가장 주의해야 할 것은 미래 정보가 혼입되는 리크(Leak, 선견지명)입니다. 그래서
- 이론편에서 제시한 주장들 중 상당 부분을 코드로 재현할 수 있었습니다. 구체적으로는, 시장 수준의 예측 정확도로는 할증분만큼 손해를 본다는 점, 실력 증명에는 수만 번이 필요하다는 점, 승자가 제한된다는 점, 기계 학습(ML)의 우위가 비용과 시간에 의해 사라진다는 점 등이 있습니다.
- AI가 이기는 경우는 상대방에게 결함이나 습관, 부정확성이 있고, 그 차이가 할증이나 비용을 초과할 때로 한정되었습니다.
- 반면, 재현하지 못한 부분은 LLM의 기억에 의한 선견지명(先読み)의 영향과 실제 데이터에서 모델과 시장 조합의 유효성 두 가지입니다.
이론적인 배경은 이론편의 2개 글에서 자세히 설명하고 있습니다.
- 전편 (X): AI는 도박에서 이길 수 있을까 — '상대방'으로 읽어내는 승패 구조
- 후편 (note): AI는 도박에서 이길 수 있을까 — '무엇이 필요한가'로 읽어내는 승리 조건
- 코드와 결과: shibuiwilliam/bet-with-ai (자세한 고찰은 report.md)
- 데이터: football-data.co.uk, Kenneth R. French Data Library
- Kelly, J. L. (1956). A New Interpretation of Information Rate
- Benter, W. (1994). Computer Based Horse Race Handicapping and Wagering Systems: A Report
- Kaunitz, L., Zhong, S. & Kreiner, J. (2017). Beating the bookies with their own numbers
- Brown, N. & Sandholm, T. Libratus、Li, J. et al. (2020). Suphx
- Bailey, D. H. & López de Prado, M. The Deflated Sharpe Ratio
- Lee et al. (2025). Can Large Language Models Develop Gambling Addiction?
- Profit Mirage (LLM 매매 에이전트의 선견지명 편향)
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기