켈리 기준법이란?
켈리 기준법(Kelly Criterion)은 자금 관리와 포지션 사이징의 핵심 공식으로, 1956년 벨 연구소의 존 켈리(John L. Kelly Jr.)가 정보 이론을 기반으로 개발했습니다. 퀀트 투자와 자동매매 시스템에서 최적 베팅 비율을 수학적으로 결정할 수 있어, 장기 복리 수익률을 극대화하는 데 널리 활용됩니다.
많은 트레이더가 진입·청산 시그널에만 집중하지만, 실제 장기 수익을 결정짓는 것은 “얼마나 베팅할 것인가”입니다. 켈리 기준법은 이 질문에 대한 수학적 해답을 제공합니다.
켈리 공식의 수학적 원리
기본 켈리 공식은 다음과 같습니다:
f* = (bp - q) / b
f* = 최적 투자 비율 (전체 자본 대비)
b = 승리 시 수익률 (odds)
p = 승률 (winning probability)
q = 패률 (1 - p)
예를 들어, 승률 60%(p=0.6), 손익비 1:1(b=1)인 전략이라면:
f* = (1 × 0.6 - 0.4) / 1 = 0.2 (20%)
즉, 전체 자본의 20%를 한 번의 거래에 투입하는 것이 장기 자산 성장을 극대화하는 최적 비율입니다. 이 공식은 기대값이 양수인 전략에서만 의미가 있으며, 기대값이 음수이면 f*가 음수가 되어 “베팅하지 말라”는 신호를 줍니다.
퀀트 트레이딩에서의 확장 공식
실전 트레이딩에서는 단순 승/패가 아닌 연속적인 수익 분포를 다루므로, 확장된 형태를 사용합니다:
f* = μ / σ²
μ = 전략의 기대 초과 수익률
σ² = 수익률의 분산
이 공식은 샤프 비율(Sharpe Ratio)과 밀접한 관계가 있습니다. 샤프 비율이 높을수록 켈리 비율도 높아져, 더 공격적인 포지션 사이징이 가능합니다. 반대로 변동성이 큰 전략은 켈리 비율이 낮아져 자연스럽게 보수적인 자금 관리를 유도합니다.
풀 켈리 vs 하프 켈리 전략
| 구분 | 풀 켈리 (Full Kelly) | 하프 켈리 (Half Kelly) | 쿼터 켈리 |
|---|---|---|---|
| 투자 비율 | f* 그대로 | f* × 0.5 | f* × 0.25 |
| 기대 성장률 | 최대 | 최대의 75% | 최대의 약 44% |
| 최대 낙폭(MDD) | 매우 큼 | 크게 감소 | 상당히 안정적 |
| 실전 적합성 | 비추천 | 가장 많이 사용 | 보수적 운용 |
실전에서는 하프 켈리(Half Kelly)가 가장 널리 사용됩니다. 풀 켈리는 이론적으로 최적이지만, 파라미터 추정 오차와 블랙스완 이벤트를 고려하면 너무 공격적입니다. 하프 켈리는 성장률의 75%를 유지하면서 MDD(최대 낙폭)를 대폭 줄여주는 최적의 균형점입니다.
자동매매 시스템에 켈리 적용하기
자동매매 봇에 켈리 기준법을 적용할 때는 다음 단계를 따릅니다:
1단계: 백테스트 통계 산출
백테스트를 통해 전략의 승률(p), 평균 이익(W), 평균 손실(L)을 산출합니다. 최소 100회 이상의 거래 데이터가 필요하며, 가능하면 다양한 시장 국면을 포함해야 합니다.
2단계: 켈리 비율 계산
# Python 예시
def kelly_fraction(win_rate, avg_win, avg_loss):
"""켈리 비율 계산 (하프 켈리 적용)"""
b = avg_win / abs(avg_loss) # 손익비
p = win_rate
q = 1 - p
full_kelly = (b * p - q) / b
half_kelly = full_kelly * 0.5
return max(0, half_kelly) # 음수면 0 반환
# 승률 55%, 평균이익 2%, 평균손실 1.5%
fraction = kelly_fraction(0.55, 0.02, 0.015)
print(f"포지션 비율: {fraction:.2%}")
# 출력: 포지션 비율: 10.83%
3단계: 동적 재계산
시장 환경은 변합니다. 롤링 윈도우(최근 50~200 거래)를 사용하여 켈리 비율을 주기적으로 재계산하면, 전략 성과 변화에 따라 포지션 크기가 자동으로 조절됩니다. 성과가 좋을 때는 비율이 올라가고, 나빠지면 자연스럽게 줄어드는 적응형 자금 관리가 가능합니다.
켈리 기준법의 실전 한계와 보완
켈리 기준법은 강력하지만, 실전에서 주의할 점이 있습니다:
- 파라미터 추정 오차: 승률과 손익비는 과거 데이터에서 추정하므로, 미래와 다를 수 있습니다. 이것이 하프 켈리를 사용하는 가장 큰 이유입니다.
- 정규분포 가정: 금융 시장은 팻테일(fat tail) 분포를 따르므로, 극단적 손실이 예상보다 자주 발생합니다. 최대 투자 비율에 하드캡(예: 전체 자본의 25%)을 설정하는 것이 안전합니다.
- 상관관계 무시: 여러 전략을 동시 운용할 때, 전략 간 상관관계를 고려한 다변량 켈리(Multivariate Kelly)를 사용해야 합니다.
- 거래 비용: 수수료와 슬리피지를 기대 수익에서 차감한 후 켈리를 계산해야 실전에 맞는 비율이 나옵니다.
멀티 전략 포트폴리오의 켈리 배분
여러 전략을 동시에 운용하는 퀀트 포트폴리오에서는 각 전략에 독립적으로 켈리를 적용하면 과도한 레버리지가 발생할 수 있습니다. 이때는 다음과 같이 접근합니다:
# 멀티 전략 켈리 배분 (단순화)
import numpy as np
def multi_kelly(returns_matrix, cov_matrix):
"""다변량 켈리: 공분산 고려한 최적 배분"""
mean_returns = np.mean(returns_matrix, axis=0)
cov_inv = np.linalg.inv(cov_matrix)
full_kelly = cov_inv @ mean_returns
half_kelly = full_kelly * 0.5
# 음수 비율은 0으로 클리핑
return np.maximum(half_kelly, 0)
공분산 행렬을 통해 전략 간 상관관계를 반영하면, 상관성이 높은 전략들의 총 배분 비율이 자동으로 줄어들어 리스크 관리가 강화됩니다.
핵심 정리
켈리 기준법은 “얼마를 베팅할 것인가”라는 자금 관리의 핵심 질문에 수학적으로 답하는 강력한 도구입니다. 실전에서는 하프 켈리를 기본으로 사용하고, 최대 투자 비율에 하드캡을 설정하며, 롤링 윈도우로 동적 재계산하는 것이 안정적인 운용의 핵심입니다. 자동매매 시스템의 성과 지표와 함께 활용하면 체계적인 포지션 사이징이 가능합니다.