켈리 공식, 초보가 공부해 보니 — ‘얼마를 걸까’보다 ‘걸어도 되나’가 먼저였습니다

작성자

카테고리:

결론부터 말씀드리면, 제가 켈리 공식을 공부하고 나서 이해한 것은 이렇습니다. 켈리 공식은 “한 번에 얼마를 걸어야 오래 두고 봤을 때 돈이 가장 빨리 불어나는가”를 계산해 주는 공식인데, 승률과 손익비를 정확히 안다는 전제가 붙어 있습니다. 그런데 저 같은 초보가 가진 숫자는 대부분 백테스트로 ‘짐작’한 값이라, 공식이 알려주는 비율을 그대로 걸면 위험할 수 있다고 합니다. 그리고 제 첫 봇의 백테스트 숫자를 넣어 봤더니, 켈리 공식의 답은 “아예 걸지 마라”였습니다.

미리 말씀드리면 저는 코딩도 초보이고, 매매 로직이나 수학은 더 초보입니다. 이 글은 전문가의 해설이 아니라, 제가 공부한 내용을 정리해 같은 처지의 분들과 나누는 학습 노트입니다. 혹시 잘못 이해한 부분이 있다면 댓글로 알려주시면 고쳐 두겠습니다.

이걸 왜 공부하게 됐나

두 번째 봇을 클로드에게 맡겨 만들면서, 코드 안에 ‘kelly’라는 이름이 붙은 파일이 생겼습니다. 주석에는 “켈리 공식으로 투입 비중을 계산한다”고 적혀 있었는데, 솔직히 고백하면 그때 저는 그게 무슨 뜻인지 몰랐습니다. 제가 만든 봇이 ‘얼마를 살지’ 정하는 규칙을 제가 모른다는 게 마음에 걸렸습니다.

지난 글 기대값이 플러스인데도 계좌가 터지는 이유를 정리하면서 켈리라는 이름을 한 번 짚고 넘어갔는데, 이번에는 그 공식 하나만 붙잡고 처음부터 찾아봤습니다.

찾아본 정의 — 켈리 공식이란

퀀트 교육기관 CQF의 설명에 따르면, 켈리 기준(Kelly Criterion)은 유리한 베팅을 여러 번 반복할 때, 자산이 장기적으로 가장 빨리 불어나도록 하는 ‘한 번에 거는 비율’을 구하는 공식입니다. 1956년 벨 연구소의 존 켈리라는 연구자가 처음 발표했다고 합니다.

제가 이해한 말로 바꾸면 이렇습니다. “이길 확률이 이만큼이고, 이기면 이만큼 벌고 지면 이만큼 잃는다면, 계좌의 몇 %를 거는 게 제일 좋은가?”를 알려주는 계산기입니다.

공식은 이렇게 생겼습니다. 처음 봤을 때는 겁이 났는데, 들어가는 건 숫자 두 개뿐이었습니다.

걸 비율 = 승률 − (패배 확률 ÷ 손익비)
(기호로 쓰면 f* = p − (1 − p) ÷ b)

  • 승률(p) : 100번 중 몇 번 이기는가
  • 손익비(b) : 이길 때 평균 버는 돈 ÷ 질 때 평균 잃는 돈

공부하면서 가장 먼저 기억해 둔 점은, 이 값이 0이나 마이너스로 나오면 “이 게임엔 걸지 말라”는 뜻이라는 것이었습니다. 애초에 하면 할수록 잃는 게임이라는 신호라고 합니다.

공부하며 이해한 핵심 3가지

  • ① 덜 거는 실수는 싸고, 더 거는 실수는 비싸다. 자료들을 보니 켈리 비율보다 적게 걸면 돈이 조금 천천히 불어날 뿐인데, 많이 걸면 성장이 급하게 꺾이고 두 배쯤 걸면 오히려 늘지 않는다고 합니다. 처음엔 이해가 안 됐는데, 아래 표처럼 숫자를 넣어 보고 나서야 감이 왔습니다.
  • ② 공식에 넣는 숫자는 ‘진짜’가 아니라 ‘짐작’이다. 승률과 손익비는 결국 과거 데이터, 즉 백테스트에서 나옵니다. 제가 미래정보 누수를 공부하면서 배웠듯이 백테스트 숫자는 실제보다 좋게 나오기 쉽습니다. 켈리 공식은 그 ‘좋게 나온 숫자’를 그대로 믿고 비율을 키워 버립니다.
  • ③ 그래서 많은 사람이 절반만 쓴다. 계산값의 절반(하프 켈리)이나 4분의 1(쿼터 켈리)만 거는 방식을 ‘분수 켈리’라고 부른다고 합니다. 겁이 많아서가 아니라, 내 숫자가 틀렸을 때를 대비한 보험이라는 설명이 가장 와닿았습니다.

숫자로 확인해 보기 (AI에게 계산시킨 가정치)

말로만 들어서는 와닿지 않아서, 가상의 전략을 하나 정해 클로드에게 계산을 시켜 봤습니다. 표의 숫자는 실제 기록이 아니라 이해를 돕기 위한 가정입니다.

가정: 이기면 1만큼 벌고 지면 1만큼 잃는 전략(손익비 1). 백테스트로 본 승률은 55%. 이때 켈리 공식이 알려주는 비율은 계좌의 10%입니다. 그런데 만약 진짜 승률이 55%가 아니라 52%였다면 어떻게 될까요?

한 번에 거는 비율(가정) 켈리 대비 진짜 승률이 55%라면
(1회당 평균 성장)
사실은 52%였다면
2.5% 4분의 1 +0.22% +0.07%
5% 절반 +0.38% +0.08%
10% 계산값 그대로 +0.50% (가장 높음) −0.10% (줄어듦)
20% 2배 약 0% (안 늘어남) −1.23%
30% 3배 −1.62% −3.48%

모든 수치는 원리 이해용 가정치이며, 특정 전략의 성과를 뜻하지 않습니다.

이 표를 보고 제가 이해한 건 두 가지였습니다.

  • 절반만 걸어도(5%) 가장 좋은 경우의 약 4분의 3 정도는 불어납니다. 거는 돈은 반인데 성장은 조금만 줄어드는 셈입니다.
  • 승률을 고작 3%p 좋게 짐작했을 뿐인데, 계산값 그대로 건 쪽은 돈이 줄어드는 쪽으로 바뀌었습니다. 절반만 건 쪽은 여전히 조금이나마 늘었습니다. “절반은 보험”이라는 말이 이 표에서 이해됐습니다.

내 봇에 겹쳐 보니

그다음엔 제 첫 봇의 백테스트 숫자를 넣어 봤습니다. 백테스트 승률 16.7%, 손익비 0.07이었습니다(실전이 아니라 백테스트 수치입니다).

걸 비율 = 0.167 − (0.833 ÷ 0.07) ≈ −11.7

마이너스였습니다. 켈리 공식의 대답은 “얼마를 걸든 길게 보면 잃는다, 걸지 마라”였던 겁니다. 저는 그때 ‘얼마를 넣을까’만 고민했지 ‘넣어도 되는가’는 묻지 않았습니다. 그 뒤 첫 봇을 실계좌로 돌렸을 때 승률은 약 3할이었지만 결국 손실로 끝났습니다. 백테스트와 실전 숫자가 서로 달랐던 것도, 공식에 넣는 숫자를 그대로 믿으면 안 된다는 걸 보여준 것 같습니다.

공부를 마치고 두 번째 봇 코드를 다시 열어 보니, 그제야 구조가 읽혔습니다. 계산값을 그대로 쓰지 않고 일부만 반영하고, 한 종목에 몰리지 않도록 별도의 상한을 두고, 값이 0 이하이면 아예 주문하지 않도록 되어 있었습니다. 클로드가 만들어 준 걸 저는 이번에야 이해한 셈입니다. (실제로 쓰는 비율과 상한 같은 숫자는 공개하지 않고, 구조까지만 공유합니다.)

초보인 제가 앞으로 해 보려는 것

  1. 먼저 부호부터 확인하기. 매매 기록을 AI에게 주고 “승률이랑 평균 이익·평균 손실을 집계해서 켈리 값을 계산해 줘”라고 시켜 볼 생각입니다. 마이너스면 사이징이 아니라 전략부터 다시 봐야 한다는 걸 이번에 배웠습니다.
  2. 숫자를 일부러 나쁘게 넣어 보기. 백테스트 숫자를 그대로 넣지 않고, 기간을 나눠 가장 나빴던 구간의 숫자로도 계산해 보려 합니다.
  3. 계산값은 ‘상한선’으로만 읽기. “이만큼 걸어라”가 아니라 “이보다 더 걸면 안 된다”로 받아들이기로 했습니다.

저처럼 초보시라면, 공식을 외우기보다 이 세 가지 순서만 기억하셔도 충분하지 않을까 싶습니다.

아직 모르는 것, 다음에 공부할 것

솔직히 아직 다 이해하지는 못했습니다. 주식처럼 이기고 지는 금액이 매번 다른 경우에도 이 공식이 그대로 맞는지, 여러 종목을 동시에 들고 있을 때는 어떻게 나눠야 하는지는 더 공부가 필요합니다. 그리고 ‘내 숫자를 믿어도 되는지’ 확인하는 방법은 2×2 대조 실험과 점수를 확률로 바꾸는 과정을 정리하면서 조금씩 배우고 있습니다.

자주 묻는 질문(FAQ)

Q1. 켈리 공식 값이 마이너스로 나오면 무슨 뜻인가요?

제가 찾아본 바로는, 넣은 승률·손익비 기준으로 하면 할수록 잃는 게임이라는 뜻입니다. 거는 금액을 줄일 문제가 아니라 그 전략으로는 매매하지 않는 게 맞다고 합니다.

Q2. 하프 켈리는 왜 많이 쓰나요?

더 거는 실수의 손해가 덜 거는 실수보다 훨씬 크기 때문이라고 합니다. 절반만 걸어도 가장 좋은 성장의 약 4분의 3은 남고, 숫자를 잘못 짐작했을 때 피해가 크게 줄어듭니다.

Q3. 코딩을 몰라도 켈리 값을 계산해 볼 수 있나요?

네, 저도 직접 계산하지 않았습니다. 매매 기록을 AI에게 주고 승률·평균 이익·평균 손실을 집계한 뒤 켈리 값을 구해 달라고 하면 됩니다.

Q4. 백테스트 승률을 켈리 공식에 그대로 넣어도 되나요?

공부해 보니 권하지 않는 쪽이 많았습니다. 백테스트 숫자는 실제보다 좋게 나오기 쉬워서, 그대로 넣으면 비율이 커지기 쉽습니다. 일부러 나쁜 구간의 숫자로도 계산해 보는 게 안전하다고 합니다.

Q5. 자동매매 초보가 켈리 공식을 꼭 알아야 하나요?

제 경험으로는 공식을 외우는 것보다 “값이 마이너스면 걸지 않는다”, “계산값은 상한선으로만 본다” 두 가지만 알아도 큰 실수를 피하는 데 도움이 됐습니다.


면책 고지: 이 글은 매매 초보인 필자가 공부한 내용을 정리한 학습 노트이며, 투자 권유나 수익 보장이 아닙니다. 표의 수치는 원리 이해용 가정치이고, 백테스트(승률 16.7%·손익비 0.07)와 실전(첫 봇, 승률 약 3할·손실 종료) 기록은 구분해 표기했습니다. 잘못 이해한 부분이 있다면 알려주세요. 투자 판단과 그 책임은 본인에게 있습니다.

참고 출처

  • CQF Institute, “What Is the Kelly Criterion?” — https://www.cqf.com/blog/quant-finance-101/what-is-the-kelly-criterion
  • Matthew Downey, “Why fractional Kelly? Simulations of bet size with uncertainty” — https://matthewdowney.github.io/uncertainty-kelly-criterion-optimal-bet-size.html
  • Kelly, J. L. Jr. (1956). “A New Interpretation of Information Rate.” Bell System Technical Journal.
  • 본문 표: AI(클로드)로 계산한 가정치

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다