OptiNod 아카데미

켈리 공식 — 수학적 최적 비율이 실전에서 늘 너무 큰 이유

켈리 공식의 "최적"은 장기 복리 성장률이 가장 커지는 한 점을 가리킵니다. 그 점에 정확히 서려면 승률과 손익비를 정확히 알아야 합니다. 매매에서 이 둘은 추정값이라 조금만 후하게 잡아도 곧장 과대 베팅이 됩니다. 그래서 실전에서는 하프켈리(half-Kelly) 이하로 깎아 씁니다.

> 켈리의 "최적"은 장기 복리 성장률이 가장 커지는 한 점을 가리킵니다. 그 비율을 정확히 맞추려면 승률과 손익비를 정확히 알아야 하는데, 매매에서 이 둘은 언제나 추정값입니다.

켈리 공식은 1956년 벨 연구소의 존 켈리(John Kelly)가 통신 채널의 정보 전송률을 연구하다 유도한 베팅 비율입니다. 한 번의 베팅에 자산의 몇 퍼센트를 거는 것이 자산의 장기 성장률을 가장 빠르게 키우는지를 묻고, 그 답이 공식 한 줄로 나옵니다. 승률을 p, 패율을 q=1−p, 손익비(이기면 버는 금액 대 잃는 금액의 비율)를 b라 할 때 최적 비율은 f* = p − q/b 입니다. 승률 55%에 손익비 1.5라면 f* = 0.55 − 0.45/1.5 = 0.25, 즉 자산의 25%를 한 번에 거는 값입니다.

대중적으로 이 공식은 "수학이 증명한 최적 베팅 크기"로 받아들여집니다. 25%라는 숫자가 나오면 그 비율로 거는 것이 가장 빠른 길이라고 읽는 것입니다. 그런데 켈리가 최대화하는 대상은 로그 자산의 기대값, 즉 복리 성장률입니다. 한 판의 기대 수익을 키우는 것이 아닙니다. 대부분의 설명은 이 점을 짚지 않습니다.

이렇게 해석하면 그 대가를 자산곡선에서 곧바로 치르게 됩니다. 풀켈리(full-Kelly) 비율로 거는 계좌는 성장률은 가장 높지만 변동성과 낙폭이 함께 극단으로 커집니다. 그리고 결정적으로, f* 계산에 넣은 p와 b가 실제값보다 조금만 후하게 잡혀 있으면 25%는 그대로 과대 베팅이 됩니다. 이 글을 읽고 나면 자기 시스템의 켈리 비율을 계산했을 때, 그 숫자를 목표로 삼지 말고 절대 넘지 말아야 할 상한으로 보게 됩니다.

풀켈리 이후 성장률이 급격히 무너지는 비대칭
풀켈리 이후 성장률이 급격히 무너지는 비대칭켈리 곡선은 정점까지 완만하게 오르지만, 정점을 지나면 성장률이 빠르게 0 아래로 떨어져 과대 베팅에 취약합니다.

켈리가 최대화하는 대상은 복리 성장률입니다

켈리 공식은 한 판의 기대 이익을 키우는 문제를 풀지 않습니다. 기대 이익만 키울 거라면 승률이 50%만 넘어도 매번 전 재산을 거는 것이 답이 됩니다. 켈리가 찾는 것은 같은 베팅을 무한히 반복할 때 계좌가 가장 빨리 불어나는 비율, 즉 로그 자산의 기대값을 최대화하는 비율입니다.

이 구분이 중요한 이유는 복리에서는 한 번의 큰 손실이 성장률 전체를 끌어내리기 때문입니다. 50% 손실을 회복하려면 100% 수익이 필요합니다. 그래서 켈리 봉우리는 좌우가 비대칭입니다. 봉우리 왼쪽(과소 베팅)에서는 성장률이 완만하게 줄지만, 봉우리 오른쪽(과대 베팅)에서는 변동성 손실이 누적되며 성장률이 빠르게 음수로 떨어집니다. 단순 베르누이 베팅 가정에서 베팅 비율을 풀켈리의 두 배로 올리면 장기 성장률은 거의 0이 됩니다. 위 승률 55%·손익비 1.5 시스템으로 계산하면 풀켈리의 베팅당 성장률은 약 0.0457입니다. 같은 시스템에서 비율을 2배로 올리면 이 성장률이 약 −0.004까지 떨어집니다.

BTC 사례에서 이 비대칭이 분명하게 보입니다. 2021년 5월 19일 BTC는 일봉 시가 약 42,850달러에서 장중 저가 30,000달러까지, 하루에 약 30% 빠졌습니다. 직전 4월 14일 고가가 64,854달러였으니 고점 대비로는 더 깊습니다. 풀켈리에 가까운 비율로 레버리지를 실은 계좌라면 이 하루로 성장률 곡선의 가파른 우측 구간으로 밀려납니다. 켈리 비율을 계산했다면, 그 비율이 봉우리 정점에 해당한다는 점을 먼저 확인하십시오. 정점을 넘어서 더 걸수록 장기 성장률은 오히려 줄어듭니다.

풀켈리의 낙폭은 대부분의 트레이더가 견딜 수 없는 깊이입니다

풀켈리 비율은 성장률을 최대화하는 대가로 자산곡선의 낙폭을 극단까지 키웁니다. 풀켈리로 운용하면 자산의 절반 이상이 사라지는 최대 낙폭(maximum drawdown)이 드물지 않습니다. 정확한 기대 낙폭은 베팅 분포와 거래 빈도에 따라 달라지지만, 풀켈리가 깊은 낙폭을 전제로 한다는 방향은 분명합니다. 성장률 곡선의 정점에 정확히 서 있어도 자산곡선은 이만큼 험합니다.

낙폭이 이토록 깊은 이유는 켈리 공식이 트레이더가 느끼는 심리적 고통을 비용으로 치지 않기 때문입니다. 공식에는 로그 자산의 기대값만 들어갑니다. 60% 낙폭을 거쳐 결국 신고가를 찍는 경로와 20% 낙폭으로 완만하게 오르는 경로가 같은 종착점에 도달한다면, 켈리 공식은 두 경로를 구분하지 않습니다. 그러나 트레이더에게 두 경로는 전혀 다른 경험입니다. 60% 낙폭 구간에서 시스템을 의심하고 손절해 버리면, 그 순간 장기 성장률 가정은 무너집니다.

2022년 11월 FTX 붕괴 주간을 보면 이 차이가 분명합니다. BTC는 11월 6일 시가 약 21,300달러에서 11월 8일 저가 17,167달러, 11월 9일 저가 15,588달러까지 3거래일 만에 약 27% 빠졌습니다. 풀켈리 비중을 쓰던 계좌라면 이 구간에서만 수십 퍼센트가 증발하고, 거기에 이전 낙폭이 겹쳐 있었다면 심리적으로 시스템을 유지하기 어려울 만큼 깊은 낙폭에 빠집니다. 그래서 켈리 비율을 그대로 적용할지 결정하기 전에, 그 비율이 만들어 낼 낙폭을 견딜 수 있는지를 포지션 사이징(position sizing) 관점에서 먼저 점검하십시오.

승률을 후하게 잡으면 봉우리 오른쪽으로 밀립니다
승률을 후하게 잡으면 봉우리 오른쪽으로 밀립니다f* = p − q/b의 p와 b는 모두 추정값입니다. 승률을 55%로 봤는데 실제가 50%면 계산된 비율이 실제 최적을 넘어, 가파른 봉우리 오른쪽 구간에서 성장률을 크게 잃습니다.

f\* 한 줄은 p와 b가 정확할 때만 최적입니다

켈리 공식의 가장 큰 함정은 공식 안에 들어가는 p와 b가 알려진 상수라고 가정하는 점입니다. 카지노 룰렛이라면 확률이 규칙으로 고정되어 있어 이 가정이 성립합니다. 매매에서 승률과 손익비는 과거 데이터로 추정한 값이고, 미래에도 같으리라는 보장은 없습니다.

추정 오차가 위험한 이유는 f* 공식이 입력 오차를 증폭하기 때문입니다. 승률을 55%로 봤는데 실제가 50%라면, q/b 항이 커지면서 계산된 비율은 실제 최적보다 큰 값이 됩니다. 게다가 켈리 봉우리의 오른쪽은 가파르므로, 정점을 조금만 넘어도 성장률은 크게 깎입니다. 추정을 후하게 잡으면 그 대가를 성장률 곡선의 가파른 구간에서 치르게 됩니다. 백테스트 승률은 거의 항상 실거래보다 후하게 나옵니다. 백테스트와 실거래의 괴리(backtest vs live)가 손익비 b를 줄이기 때문입니다.

2024년 8월 5일 엔캐리 청산 급락이 이 점을 잘 보여 줍니다. BTC는 일봉 시가 약 58,161달러에서 저가 49,000달러까지 하루에 약 16% 빠졌습니다. 평소 손익비가 1.5라고 추정해 둔 시스템이라도, 이런 갭성 하락에서는 손절 슬리피지로 한 번의 패배 크기가 가정보다 커집니다. 패배의 실제 크기가 커지면 b가 줄고, b가 줄면 적정 켈리 비율도 줄어야 합니다. 자기 시스템의 기대값과 손익비(risk-reward expectancy)를 실거래 체결가 기준으로 다시 측정한 다음, 그 값을 f* 공식에 넣으십시오.

하프켈리가 실전 표준인 이유는 성장률을 거의 지키면서 변동성을 절반으로 줄이기 때문입니다

실전에서 풀켈리를 그대로 쓰는 운용자는 드뭅니다. 다수가 하프켈리(풀켈리의 절반) 또는 그 이하를 씁니다. 비율을 절반으로 줄이면 봉우리 곡선의 비대칭 덕에 손해 보는 성장률은 작은데, 줄어드는 변동성은 큽니다.

예를 들어 계산해 보겠습니다. 켈리 봉우리는 정점 근처에서 평평하므로, 베팅 비율을 절반으로 줄여도 장기 성장률은 크게 줄지 않습니다. 앞의 승률 55%·손익비 1.5 시스템에서 하프켈리는 풀켈리의 약 75% 성장률을 유지합니다.

| 구분 | 베팅 비율 | 베팅당 성장률 | 자산곡선 변동성 |

|---|---|---|---|

| 풀켈리 | 0.25 | 0.0457 | 기준 |

| 하프켈리 | 0.125 | 0.0344 | 약 절반 |

반면 자산곡선의 변동성은 베팅 비율에 거의 비례하므로 절반 가까이 작아집니다(낙폭은 변동성보다 더 줄어드는 경향이 있습니다). 성장률의 4분의 1을 내주는 대신 변동성을 절반으로 줄이는 셈입니다. 추정 오차까지 감안하면 이 맞바꿈은 더 유리해집니다. p와 b를 후하게 잡아 풀켈리가 실제로는 정점을 넘긴 상태였다 해도, 하프켈리는 여전히 정점에 못 미치는 안전한 비율일 가능성이 높기 때문입니다.

여기서 켈리가 말하는 "최적"이 무엇인지 다시 짚어야 합니다. 켈리 비율은 성장률이 최대가 되는 지점을 가리키며, 이 값은 입력한 승률과 손익비가 정확할 때만 의미가 있습니다. 풀켈리만으로도 낙폭이 충분히 깊어서 운용을 중단하게 될 수 있습니다. 그래서 실전에서는 그 비율을 목표로 삼지 않고 상한으로만 두고, 하프켈리 이하에서 운용합니다. 자기 시스템의 파산 확률(risk of ruin)을 켈리 비율과 하프켈리 비율에서 각각 계산해 보면, 둘의 차이가 곧 안전 여유입니다.

풀켈리와 하프켈리의 자본 곡선 차이
풀켈리와 하프켈리의 자본 곡선 차이하프켈리는 최종 성장률 일부를 포기하는 대신 낙폭과 변동성을 크게 줄여 실전 지속 가능성을 높입니다.

베팅마다 손익비가 달라지면 단일 켈리 비율은 성립하지 않습니다

켈리 공식은 모든 베팅이 동일한 p와 b를 가진다고 전제합니다. 매매에서는 거래마다 손절 거리와 목표가 다르므로 b가 매번 변합니다. 좁은 손절에 먼 목표를 둔 거래의 b와, 넓은 손절에 가까운 목표를 둔 거래의 b는 전혀 다른 값입니다.

이 점이 중요한 이유는, 거래마다 다른 b를 평균값 하나로 뭉뚱그려 단일 켈리 비율을 구하면 개별 거래마다 적정 비율에서 매번 벗어나기 때문입니다. b가 큰 거래에서는 과소 베팅하고, b가 작은 거래에서는 과대 베팅하게 됩니다. 실전에서는 켈리 비율을 자본의 고정 베팅 크기로 곧이곧대로 적용하지 않고, 거래당 위험 한 단위를 정하는 기준으로 사용합니다. 한 거래의 손실 위험을 자본의 일정 비율로 고정한 다음, 손절 거리에 따라 포지션 크기를 역산하면 b가 변해도 거래당 위험은 일정하게 유지됩니다.

예를 들어 거래당 위험을 자본의 1%로 고정했다고 합시다. 2024년 3월 14일 BTC가 사상 최고가 73,777달러를 찍던 구간에서 손절을 직전 구조 저점 아래 3% 자리에 둔다면, 포지션 크기는 자본의 약 33%가 됩니다(1% ÷ 3%). 같은 1% 위험이라도 손절을 1.5% 자리로 좁히면 포지션은 약 66%로 두 배가 됩니다. 켈리 비율은 이 거래당 위험 1%를 0.5%로 줄일지 1.5%로 늘릴지 정하는 상위 기준으로 두는 편이 실전에 맞습니다. 거래마다 손절 거리가 다르다면, 켈리 비율은 포지션 크기로 보지 말고 거래당 위험 비율의 상한으로 해석하십시오.

손익비 1.5, 승률 55% 시스템에 켈리를 적용하는 셋업

가장 흔한 적용 사례 하나를 끝까지 풀어 보겠습니다. 백테스트와 실거래 점검을 거쳐 실거래 기준 승률 55%, 손익비 1.5를 확보한 추세 추종 시스템에 켈리를 적용하는 절차입니다. 모든 숫자는 실거래 체결가 기준으로 측정한 값이어야 합니다.

  • 풀켈리 계산: f* = 0.55 − 0.45/1.5 = 0.25. 풀켈리는 거래당 위험을 자본의 25%로 두라는 값이며, 이 값은 실제 베팅에 적용하지 않고 상한 기준으로만 둡니다.
  • 실전 비율: 하프켈리 = 0.25 × 0.5 = 0.125. 추정 오차를 감안해 여기서 더 깎아, 거래당 위험을 자본의 1%로 고정합니다. 1%는 풀켈리 25%의 약 4%에 해당하는 보수적인 비율입니다.
  • 포지션 크기: 거래당 위험 1%를 손절 거리로 나눠 역산합니다. 손절이 진입가에서 2.5% 떨어져 있으면 포지션은 자본의 40%(1% ÷ 2.5%), 손절이 1.5%면 약 66%입니다.
  • 익절: 목표 손익비 1.5R 도달 시 청산합니다. 진입가에서 손절까지가 2.5%라면 목표가는 진입가 +3.75%(2.5% × 1.5) 자리입니다.
  • 상향 조정 조건: 실거래 50거래 이상에서 측정한 승률·손익비가 입력값을 유지하고 파산 확률(risk of ruin)이 1% 미만일 때만, 거래당 위험을 1%에서 1.5%로 한 단계 올립니다.
  • 무효화: 실거래 승률이 50% 아래로 내려가거나 손익비가 1.2 아래로 줄면, 거래당 위험을 즉시 0.5%로 낮추고 입력값을 다시 측정합니다.

이 셋업의 핵심은 풀켈리 25%라는 숫자를 실제 베팅에 쓰지 않는다는 점입니다. 그 숫자는 넘어서는 안 되는 상한으로만 존재하고, 실제 운용은 그 4분의 1 지점에서 이뤄집니다.

상관 높은 세 포지션 = 사실상 한 번의 베팅
상관 높은 세 포지션 = 사실상 한 번의 베팅BTC·ETH·알트 롱을 동시에 들면 같은 날 함께 움직입니다. 각자에 풀켈리를 걸면 합산 위험은 한 거래에 풀켈리의 세 배를 건 것과 같아, 합산 켈리를 따로 줄여야 합니다.

켈리 비율은 거래의 독립성과 동시 포지션 수에 따라 다시 깎아야 합니다

켈리의 마지막 가정은 각 베팅이 서로 독립이라는 점입니다. 동전 던지기는 이전 결과가 다음에 영향을 주지 않습니다. 시장에서는 동시에 여러 포지션을 들고 있을 때, 그 포지션들이 같은 방향으로 함께 움직이는 경우가 많습니다.

이것이 켈리 비율을 추가로 깎아야 하는 이유입니다. BTC 롱과 ETH 롱을 동시에 들고 있으면 두 거래는 독립이 아닙니다. 2021년 11월 10일 BTC가 69,000달러 고가를 찍은 뒤 시작된 하락이나 2022년 FTX 붕괴 구간에서 알트코인은 BTC와 거의 똑같이 움직였습니다. 각 거래에 독립을 가정한 켈리 비율을 적용하면, 실제 합산 위험은 계산값보다 큽니다. 서로 상관관계가 높은 세 포지션에 각각 풀켈리를 걸면 사실상 한 거래에 풀켈리의 세 배를 건 셈이 됩니다.

실전에서는 동시에 보유한 포지션 전체의 위험 합을 하나의 켈리 한도 안에서 관리합니다. 거래당 위험 1%를 정했다면, 상관이 높은 포지션들의 위험 합이 그 한도를 넘지 않도록 개별 포지션을 더 작게 잡습니다. 보유 자산 간 상관관계를 미리 측정해 두면, 몇 개의 포지션이 사실상 하나의 베팅인지 파악할 수 있습니다. 차트에서 여러 종목을 동시에 진입할 때, 각 켈리 비율을 더하기 전에 그 종목들이 같은 날 함께 급락할 확률부터 확인하십시오. 그 확률이 높을수록 합산 켈리는 더 많이 줄여야 하며, 그렇게 줄인 비율이라야 실전에서 쓸 수 있습니다.