켈리 기준(Kelly Criterion): 최적의 포지션 크기를 결정하는 트레이딩 자금관리 전략

켈리 기준의 개념

켈리 기준은 1956년 벨 연구소의 과학자 존 켈리(John Kelly)가 제안한 수학적 최적화 기법이다. 이 기법은 원래 정보 이론과 관련하여 개발되었지만, 투자와 트레이딩 분야에서도 널리 사용되고 있다. 켈리 기준은 기대 수익률, 승률, 손실률을 기반으로 최적의 포지션 크기를 결정하는 데 사용된다.

켈리 기준의 주요 목적은 장기적으로 자금의 기하급수적 성장을 최대화하는 것이다. 이 방법은 높은 승률과 낮은 손실률을 가진 거래에 더 큰 포지션 크기를 할당하고, 승률이 낮고 손실률이 높은 거래에는 더 작은 포지션 크기를 할당한다.

예를 들어, 어떤 트레이딩 전략이 60%의 승률과 2:1의 리스크 대비 수익률(Risk-Reward Ratio)을 가지고 있다고 가정해보자. 이 경우, 켈리 기준에 따르면 최적의 포지션 크기는 계좌 잔고의 20%가 된다. 반면, 승률이 50%이고 리스크 대비 수익률이 1:1인 전략의 경우, 켈리 기준에 따른 최적의 포지션 크기는 계좌 잔고의 0%이다.

켈리 기준의 계산 방법

켈리 기준에 따른 최적의 포지션 크기를 계산하는 공식은 다음과 같다:

f = (bp - q) / b
  • f: 최적의 포지션 크기 (계좌 잔고의 비율)
  • b: 승패 비율 (win/loss ratio)
  • p: 승률 (probability of winning)
  • q: 손실률 (probability of losing, 1 – p)

예를 들어, 어떤 트레이딩 전략이 60%의 승률과 2:1의 리스크 대비 수익률을 가지고 있다면, 계산 과정은 다음과 같다:

b = 2 (2:1의 리스크 대비 수익률)
p = 0.6 (60%의 승률)
q = 0.4 (1 - 0.6)

f = (2 * 0.6 - 0.4) / 2 = 0.2

따라서, 이 전략에 대한 최적의 포지션 크기는 계좌 잔고의 20%가 된다.

파이썬 코드 예시

다음은 켈리 기준을 사용하여 최적의 포지션 크기를 계산하는 파이썬 코드의 예시이다:

def kelly_criterion(win_loss_ratio, win_probability):
    try:
        loss_probability = 1 - win_probability
        optimal_fraction = (win_loss_ratio * win_probability - loss_probability) / win_loss_ratio
        return optimal_fraction
    except ZeroDivisionError:
        print("Error: Win/Loss ratio cannot be zero.")
        return 0
    except TypeError:
        print("Error: Invalid input type. Both inputs must be numeric.")
        return 0

# 사용 예시
win_loss_ratio = 2
win_probability = 0.6

optimal_position_size = kelly_criterion(win_loss_ratio, win_probability)
print(f"Optimal position size: {optimal_position_size:.2%}")

위 코드에서 kelly_criterion 함수는 승패 비율과 승률을 입력받아 켈리 기준에 따른 최적의 포지션 크기를 계산한다. 이 함수는 ZeroDivisionError와 TypeError에 대한 에러 처리를 포함하고 있다.

Leave a Reply

error: Content is protected !!