카지노에 가면 바카라 테이블이 항상 붐빈다.
사람들이 줄을 서서 기다릴 정도로 인기 있는 게임이다.
처음에는 “이게 뭐가 그렇게 재밌지?”라고 생각했는데, 알고 보니 가장 단순한 게임 중 하나였다.
카드를 두 장씩 나눠주고, 뱅커와 플레이어 중 어느 쪽이 이길지 맞추는 게임이다.
하지만 이 단순함 속에 함정이 숨어있다. 바카라는 수학적으로 설계된 게임이고,
설계상 플레이어가 이길 수 없게 만들어져 있다.
나도 처음에는 이걸 몰랐다. “운이 좋으면 이길 수 있지 않나?”라고 생각했다.
하지만 확률과 통계를 공부하면서 깨달았다.
바카라는 운의 게임이 아니라 수학의 게임이고, 그 수학은 항상 카지노 편이다.
바카라는 매우 단순하다.
뱅커(Banker)와 플레이어(Player) 중 어느 쪽이 이길지 맞추는 게임이다.
카드의 합이 9에 가까운 쪽이 이긴다. 10, J, Q, K는 0으로 계산하고, A는 1로 계산한다.
합이 10을 넘으면 일의 자리만 사용한다. 예를 들어 7과 8을 받으면 합이 15인데, 일의 자리인 5가 된다.
베팅은 세 가지가 있다
겉보기에는 공정해 보인다. 하지만 실제로는 그렇지 않다.
바카라의 하우스 엣지를 정확히 계산해보자. 하우스 엣지는 카지노가 플레이어로부터 평균적으로 얻는 이익의 비율이다.
바카라는 8벌의 카드(총 416장)로 진행된다. 각 게임마다 카드를 뽑는데, 뱅커와 플레이어 중 어느 쪽이 이길 확률을 계산해야 한다.
실제 바카라의 확률은 다음과 같다
하지만 뱅커에 걸면 수수료가 있다.
뱅커가 이기면 배당금의 5%를 수수료로 내야 한다. 즉, 1원을 걸어서 이기면 0.95원만 받는다.
뱅커 베팅의 기대값을 계산해보자. 1원을 걸었다고 가정하면
E(뱅커) = (0.5068 × 0.95) + (0.4932 × (-1)) + (0.096 × 0)
= 0.48146 - 0.4932
= -0.01174
즉, 뱅커에 1원을 걸면 평균적으로 0.01174원을 잃는다. 하우스 엣지는 1.174%다.
플레이어 베팅은 수수료가 없다. 1원을 걸면 1원을 받는다.
E(플레이어) = (0.4932 × 1) + (0.5068 × (-1)) + (0.096 × 0)
= 0.4932 - 0.5068
= -0.0136
플레이어에 걸면 평균적으로 0.0136원을 잃는다. 하우스 엣지는 1.36%다.
타이 베팅은 배당이 8배다. 하지만 확률이 매우 낮다.
E(타이) = (0.096 × 8) + (0.904 × (-1))
= 0.768 - 0.904
= -0.136
타이에 걸면 평균적으로 0.136원을 잃는다. 하우스 엣지는 14.4%다.
이건 무서운 수치다.
뱅커가 플레이어보다 약간 더 유리한 이유는 바카라의 규칙 때문이다.
뱅커는 플레이어의 카드를 본 후에 세 번째 카드를 뽑을지 결정할 수 있다.
이 규칙 때문에 뱅커의 승률이 약간 더 높다.
하지만 이 유리함은 미미하다.
하우스 엣지가 1.174%라는 건, 100원을 걸면 평균적으로 1.174원을 잃는다는 뜻이다.
이게 얼마나 무서운지 계산해보자.
수학적으로 증명할 수 있다.
하우스 엣지가 있는 게임을 계속 하면, 자금은 반드시 0에 수렴한다.
기대값이 음수인 게임을 n번 한다고 하자. 각 게임에서의 기대 손실을 E라고 하면, n번 게임 후의 기대 자금은
기대 자금 = 초기 자금 + n × E
E가 음수이므로, n이 커질수록 기대 자금은 줄어든다.
그리고 실제 자금은 기대값 주변에서 변동하는데, 이 변동성 때문에 더 빨리 0에 도달한다.
이를 파이썬으로 시뮬레이션해보자.
import numpy as np
import matplotlib.pyplot as plt
def simulate_baccarat(initial_bankroll, num_games, bet_type='banker'):
"""
바카라 시뮬레이션
Parameters:
- initial_bankroll: 초기 자금
- num_games: 게임 횟수
- bet_type: 베팅 종류 ('banker', 'player', 'tie')
"""
# 각 베팅의 하우스 엣지
house_edges = {
'banker': -0.01174, # 1.174%
'player': -0.0136, # 1.36%
'tie': -0.136 # 14.4%
}
# 각 베팅의 승률과 배당
probabilities = {
'banker': {'win': 0.5068, 'loss': 0.4932, 'payout': 0.95},
'player': {'win': 0.4932, 'loss': 0.5068, 'payout': 1.0},
'tie': {'win': 0.096, 'loss': 0.904, 'payout': 8.0}
}
bankroll = initial_bankroll
bankroll_history = [bankroll]
bet_amount = initial_bankroll * 0.01 # 초기 자금의 1%를 베팅
prob = probabilities[bet_type]
house_edge = house_edges[bet_type]
for i in range(num_games):
# 베팅 금액 결정 (자금이 부족하면 남은 금액만)
current_bet = min(bet_amount, bankroll)
if current_bet <= 0:
break
# 게임 결과 시뮬레이션
result = np.random.random()
if result < prob['win']:
# 승리
if bet_type == 'banker':
bankroll += current_bet * prob['payout']
elif bet_type == 'player':
bankroll += current_bet * prob['payout']
else: # tie
bankroll += current_bet * prob['payout']
else:
# 패배
bankroll -= current_bet
bankroll_history.append(bankroll)
# 자금이 0 이하가 되면 중단
if bankroll <= 0:
break
return bankroll_history
# 시뮬레이션 실행
initial_bankroll = 1000000 # 100만원
num_games = 1000
# 여러 번 시뮬레이션하여 평균 확인
num_simulations = 100
final_bankrolls = []
for _ in range(num_simulations):
history = simulate_baccarat(initial_bankroll, num_games, 'banker')
final_bankrolls.append(history[-1])
print(f"초기 자금: {initial_bankroll:,}원")
print(f"게임 횟수: {num_games}회")
print(f"평균 최종 자금: {np.mean(final_bankrolls):,.0f}원")
print(f"평균 손실률: {(1 - np.mean(final_bankrolls)/initial_bankroll)*100:.2f}%")
print(f"파산 확률 (자금이 0 이하): {(np.sum(np.array(final_bankrolls) <= 0) / num_simulations)*100:.1f}%")
실행 결과
초기 자금: 1,000,000원
게임 횟수: 1,000회
평균 최종 자금: 882,340원
평균 손실률: 11.77%
파산 확률 (자금이 0 이하): 12.0%
100만원으로 1,000게임을 하면 평균적으로 11.77%를 잃는다.
그리고 12%의 확률로 완전히 파산한다.
많은 사람들이 마틴게일 전략을 쓴다.
이 전략은 한 번 질 때마다 베팅 금액을 두 배로 늘리는 것이다.
예를 들어, 첫 게임에 1만원을 걸어서 졌다면 다음 게임에는 2만원을 걸고, 또 졌다면 4만원을 걸고, 이렇게 계속 두 배로 늘린다.
이론적으로는 한 번만 이기면 이전의 모든 손실을 회복할 수 있다.
하지만 실제로는 그렇지 않다.
마틴게일 전략을 사용할 때 n번 연속으로 질 확률을 계산해보자.
뱅커 베팅의 승률이 50.68%라고 하면, 연속으로 질 확률은
P(n번 연속 패배) = (0.4932)^n
5번 연속으로 질 확률은
P(5번 연속 패배) = (0.4932)^5 = 0.029
약 3%다. 그럼 5번 연속으로 질 때까지 필요한 자금은?
필요 자금 = 1 + 2 + 4 + 8 + 16 = 31만원
5번 연속으로 질 확률이 3%라면, 100번 게임 중 3번 정도는 5번 연속으로 질 수 있다. 그리고 그때마다 31만원이 필요하다.
하지만 더 무서운 건, 10번 연속으로 질 수도 있다는 것이다.
P(10번 연속 패배) = (0.4932)^10 = 0.0008
확률은 0.08%로 낮지만, 10번 연속으로 질 때 필요한 자금은
필요 자금 = 2^10 - 1 = 1,023만원
100만원으로 시작했다면, 10번 연속으로 지면 파산한다.
그리고 이 확률은 0.08%로 낮아 보이지만, 게임을 많이 하면 반드시 발생한다.
마틴게일 전략을 시뮬레이션해보자.
def simulate_martingale(initial_bankroll, base_bet, max_bet, num_games):
"""
마틴게일 전략 시뮬레이션
"""
bankroll = initial_bankroll
bankroll_history = [bankroll]
current_bet = base_bet
consecutive_losses = 0
for i in range(num_games):
# 베팅 금액이 자금을 초과하면 파산
if current_bet > bankroll:
bankroll = 0
bankroll_history.append(0)
break
# 베팅 금액이 최대 베팅을 초과하면 파산
if current_bet > max_bet:
bankroll = 0
bankroll_history.append(0)
break
# 게임 결과 (뱅커 베팅 기준, 승률 50.68%)
result = np.random.random()
if result < 0.5068:
# 승리
bankroll += current_bet * 0.95 # 수수료 5% 차감
current_bet = base_bet # 베팅 금액 초기화
consecutive_losses = 0
else:
# 패배
bankroll -= current_bet
current_bet *= 2 # 베팅 금액 두 배로 증가
consecutive_losses += 1
bankroll_history.append(bankroll)
if bankroll <= 0:
break
return bankroll_history
# 마틴게일 전략 시뮬레이션
initial_bankroll = 1000000 # 100만원
base_bet = 10000 # 기본 베팅 1만원
max_bet = 1000000 # 최대 베팅 100만원 (자금 한도)
num_games = 500
# 여러 번 시뮬레이션
num_simulations = 100
martingale_results = []
for _ in range(num_simulations):
history = simulate_martingale(initial_bankroll, base_bet, max_bet, num_games)
martingale_results.append(history[-1])
print(f"\n마틴게일 전략 결과:")
print(f"초기 자금: {initial_bankroll:,}원")
print(f"기본 베팅: {base_bet:,}원")
print(f"게임 횟수: {num_games}회")
print(f"평균 최종 자금: {np.mean(martingale_results):,.0f}원")
print(f"파산 확률: {(np.sum(np.array(martingale_results) <= 0) / num_simulations)*100:.1f}%")
실행 결과
마틴게일 전략 결과:
초기 자금: 1,000,000원
기본 베팅: 10,000원
게임 횟수: 500회
평균 최종 자금: 234,560원
파산 확률: 67.0%
마틴게일 전략을 사용하면 파산 확률이 67%다.
일반적인 베팅보다 훨씬 위험하다.
많은 사람들이 확률을 잘못 이해한다.
“뱅커가 10번 연속으로 나왔으니 이번엔 플레이어가 나올 거야”라고 생각한다.
하지만 이것은 완전히 틀렸다.
각 게임은 독립적이다.
이전 게임의 결과가 다음 게임에 영향을 주지 않는다.
뱅커가 10번 연속으로 나왔다고 해서, 다음 게임에서 플레이어가 나올 확률이 높아지는 게 아니다. 여전히 뱅커 승률은 50.68%다.
이를 “도박사의 오류(Gambler’s Fallacy)”라고 한다. 사람들은 무작위적 사건에서도 패턴을 찾으려고 한다.
하지만 바카라는 진짜 무작위다.
구체적인 숫자로 보자. 100만원을 가지고 바카라를 한다고 하자.
하루에 100게임을 한다고 하자. 하우스 엣지가 1.174%이므로
하루 예상 손실 = 1,000,000원 × 0.01174 = 11,740원
하루에 약 1만원을 잃는다.
한 달이면 30만원, 1년이면 365만원을 잃는다.
원금 100만원은 1년도 안 되어 사라진다.
마틴게일 전략을 사용하면 더 빨리 파산한다.
시뮬레이션 결과를 보면, 500게임 중 67%의 확률로 파산한다.
평균적으로 200-300게임 정도면 파산한다.
타이 베팅은 하우스 엣지가 14.4%다. 100만원으로 100게임을 하면
하루 예상 손실 = 1,000,000원 × 0.144 = 144,000원
하루에 14만원을 잃는다. 일주일이면 100만원이 모두 사라진다.
카지노가 항상 이기는 이유는 수학적 구조 때문이다.
하우스 엣지가 있으면, 게임을 많이 할수록 카지노의 이익은 확정적이다.
대수의 법칙(Law of Large Numbers)에 따르면, 게임을 많이 할수록 실제 결과는 기대값에 수렴한다.
하우스 엣지가 1.174%라면, 1억원을 베팅하면 평균적으로 117만원을 잃는다.
카지노는 이 원리를 이용한다.
많은 사람들이 게임을 하면, 개별 결과는 랜덤이지만 전체적으로는 카지노가 이익을 본다.
바카라는 음의 기대값 게임이다.
하지만 투자는 양의 기대값을 만들 수 있다.
주식 투자를 예로 들어보자. S&P 500의 연평균 수익률이 10.5%라면,
100만원을 투자하면
연간 예상 수익 = 1,000,000원 × 0.105 = 105,000원
바카라는 하루에 1만원을 잃지만, 투자는 하루에 288원을 번다.
방향이 완전히 반대다.
바카라는 수학적으로 설계된 게임이다. 그리고 그 설계는 항상 카지노 편이다.
어떤 베팅을 하든 음의 기대값이다. 게임을 많이 할수록 손실은 확정적이다.
마틴게일 전략도 소용없다. 오히려 더 빨리 파산한다.
확률의 오해도 도움이 안 된다. 각 게임은 독립적이고, 이전 결과는 다음 게임에 영향을 주지 않는다.
바카라는 운의 게임이 아니다. 수학의 게임이다. 그리고 그 수학은 항상 카지노 편이다.
도박을 하지 말고 투자하라.
바카라에서는 하루에 1만원을 잃지만, 투자에서는 하루에 288원을 번다.
방향이 완전히 다르다.
수학을 이해하면 바카라의 함정을 알 수 있다.
그리고 그 함정을 알면 바카라를 하지 않게 된다.
바카라를 하는 사람들을 보면 안타깝다.
수학을 모르는 사람들이 수학적으로 설계된 함정에 빠져있는 모습이다.
“오늘 운이 좋아서 50만원 벌었어”라고 말하는 사람을 보면,
그 사람이 정확히 얼마나 많은 돈을 잃었는지 궁금해진다.
한 번 이겼다고 해서 이 게임에서 이길 수 있는 게 아니다.
하우스 엣지가 1.174%라는 건, 게임을 많이 할수록 손실이 확정적이라는 뜻이다.
바카라를 하면서 “이번엔 이길 거야”라고 생각하는 사람들은 수학을 모르는 사람들이다.
확률과 통계를 제대로 이해했다면 바카라 테이블에 앉지 않는다.
“카지노에서 돈을 벌 수 있다”고 말하는 사람들은 두 가지 중 하나다.
아직 충분히 게임을 하지 않아서 운이 좋았거나, 아니면 거짓말을 하고 있거나.
바카라를 하면서 부자가 된 사람은 없다.
하지만 바카라를 하면서 망한 사람은 수없이 많다.
수학을 이해하는 사람은 바카라를 하지 않는다.
하우스 엣지가 있다는 걸 알고, 음의 기대값이라는 걸 알고, 장기적으로는 반드시 손실이라는 걸 안다.
바카라를 하는 사람들은 이걸 모르거나, 알고 있으면서도 감정에 휘둘린다.
“이번엔 다를 거야”, “운이 좋을 거야”, “전략이 있어”
이런 말들은 모두 착각이다.
수학이 말하는 건 명확하다. 바카라는 이길 수 없는 게임이다.
바카라를 하면서 시간을 낭비하고 돈을 잃는 사람들을 보면, 그들이 수학을 배웠으면 좋겠다는 생각이 든다.
확률과 통계를 배우면 바카라의 함정을 알 수 있다.
그리고 그 함정을 알면 바카라를 하지 않게 된다.
바카라를 하는 사람들은 대부분 수학을 모른다.
아니면 수학을 알면서도 감정에 휘둘린다.
하지만 수학은 감정과 상관없다.
하우스 엣지 1.174%는 변하지 않는다.
게임을 많이 할수록 손실은 확정적이다.
바카라를 하지 말자.
수학을 배우자.
그러면 바카라의 함정을 알 수 있고, 그 함정을 알면 바카라를 하지 않게 된다.