TechY

The Kelly Criterion and the Stock Market 본문

[논문 정리]

The Kelly Criterion and the Stock Market

hskimim 2024. 5. 26. 03:50

논문 : 링크

 

켈리 공식이라고 알려져 있는 식에 대한 페이퍼를 읽고 정리해본다. 기본적으로 사용할 수식 표현은 아래와 같다.

 

X0 = 초기에 우리가 갖고 있는 돈

Xn = 투자를 특정 policy에 따라 해서 n 번의 trial 후 얻게 될 돈

f = 우리가 갖고 있는 돈 X에서 betting할 금액의 비율

S = n 번의 trial에서 우리가 돈을 딴 횟수

F = n 번의 trial에서 우리가 돈을 잃은 횟수

n = 우리가 시도할 trial의 수

p = 승률

q = 1p

 

이기면 betting한만큼 따고, 지면 그 돈을 모두 잃는다고 했을 때, 우리는 아래 수식을 얻을 수 있다. S+F=n

Xn=X0(1+f)S(1f)F

 

kelly criterion 이 하려는 건, 최적의 f 를 구하려는 것인데, 이 때 최적화하려 하는 대상은 G(f)로 논문에서는 growth rate of coefficient라고 한다. 그리고 이 값에 대한 정의를 the expectation of the exponential rate of increase per trial 로 하였다. 

expectation growth 라 함은, n 과 관계 없이 동일한 수준으로 얻게될 수익률을 의미하며, 이러한 식을 우리는 Xn=X0eG(f)n 을 통해서 계산할 수 있다. 저 식을 충족하게끔 Xn=X0(1+f)S(1f)F 을 정리해주자.

더보기

dCdt=C(1+r)

1CdC=(1+r)dt

1CdC=(1+r)dt

ln(C)+C1=(1+r)t+C2

ln(C)=(1+r)t+C3

C=C0e(1+r)t

(1+r) = the exponential rate of increase per trial

우리의 r 은 확률 변수이기 때문에, 1+r 의 expectation을 취해주고 이를 G(f) 로 사용하는 것이다.

Xn=X0(1+f)S(1f)F

XnX0=(1+f)S(1f)F

log(XnX0)=log((1+f)S(1f)F)=Slog(1+f)+Flog(1f)

1nlog(XnX0)=log(XnX01n)=Snlog(1+f)+Fnlog(1f)

XnX01n=eSnlog(1+f)+Fnlog(1f)

Xn=X0e(Snlog(1+f)+Fnlog(1f))n

 

Snlog(1+f)+Fnlog(1f) 이 정의에서 나온 "exponential rate of increase per trial" 이 된다. 그러면 이제 우리는 그 값의 expectation 을 구하면 그것이 정의한 목적 함수 G(f) 가 된다.

 

E(Gn(f))[Snlog(1+f)+Fnlog(1f)]=plog(1+f)+qlog(1f)

 

또한 위 식의 전개 과정에서 논문에 나온 enlog(XnX0)1n=XnX0 을 얻을 수 있다.

 

이제 위 식을 maximize 하는 f 를 구하면 된다.

G(f)=p1+fq1f=pqf(1+f)(1f)

critical point 는 f=pq 가 된다. hessian 을 본 후 이 값이 최대값인지를 확인해볼 수 있다.

 

아래 식의 분자 term을 보면 2계도 미분값의 부호가 음수인 것을 알 수 있으며, 해당 식으로 우리는 maximum f=pq를 얻을 수 있음을 알 수 있다.

G(f)=(1)(1f2)(pqf)(2f)(1f2)2

 

즉, 내가 betting 만 한큼을 얻을 수 있고, 잃을 수 있는 게임에서 승률이 p 이고, 발생 가능한 결과가 2개뿐이라면 가진 돈의 pq 비율만큼을 betting하는 것이 자산 성장률을 maximize 할 수 있는 방법이다.

 

이 식을 유도하는 과정에서 p=Sn 을 사용했기 때문에, 해당 값 p 를 얻기 위해서 대수의 법칙이 작용할 수 있을 정도의 충분한 trial 이 동반되어야 한다.

 

추가적으로 얻을 수 있는 intuition 이 하나 더 있는데, G(f) 식은 E[log(XnX0)1n] 였다.

 

log(XnX0)1n 이 식을 분리해보면 1nlog(Xn)1nlog(X0)인데, fixed n,X0 라고 했을 때, f=pq 는 결국 log(Xn)을 maximize 하는 것이다.

G(f) 에 대한 시각화

 


Stock Market 

알아보았던 kelly criterion을 stock market 의 시나리오에서 적용해본다. 앞서 다룬 케이스와 다른 점은 coin toss와 같은 gambling의 경우 승/패 라는 binary result와 이산적으로 존재하는 반면, 주식 시장의 경우 결과가 연속적으로 존재한다는 점이다. 즉, random variable 이 continous 하다.

 

우선 추가적으로 볼 notation을 소개한다.

μ = 투자 대상의 평균 return

σ = 투자 대상의 return의 표준 편차

r = 대체 투자 대상의 수익률 (treasury bond 와 같은 안전 자산)

 

이에 따라, 논문에서는 coin toss 처럼 binary result로 상황을 단순화하였다. 평균 수익률 μ 에서 ±σ 일 확률을 50%로 하여 평균 기준 양쪽으로 발생할 확률을 동일하게 하였다. μ+σ 면 꽤 좋은 투자였음을 이야기하고, 반대의 경우 성공적이지 못했음을 이야기한다.

P(X=μ+σ)=P(X=μσ)=0.5

 

우리가 가진 돈의 f 만큼을 타겟 자산에 넣고 나머지를 안전 자산에 넣으면 아래와 같은 자산을 얻게 될 것이다. 아래 같은 어떤 시간에 대한 기한을 미리 정하고 (ex. 1년, 10분 etc) 그 기간 동안의 수익률 관련 통계량을 구한 후, 자산 가치에 한 번 곱해준 것이다.

V(f)=V0(1+(1f)r+fX)

 

이전 섹션에서 G(f)=log(XnX0)1n 식을 구한 적이 있다. 이는 V(f)=V0eG(f)n 식을 만족하는 G(f) 를 구한 것이다. 이번에도 동일하게 G(f) 를 구한다.

 

V(f)=V0(1+(1f)r+fX)

V(f)V0=1+(1f)r+fX

log(V(f)V0)=log(1+(1f)r+fX)

E[log(V(f)V0)]=E[log(1+(1f)r+fX)]

=0.5(log(1+(μ+σr)f))+0.5(log(1+r+(μσr)f))

 

우리가 구한 G(f)n=1 에 대한 것이기에 n 에 대해 일반화된 식을 구해보자.

VnV0=ni=1(1+(1f)r+fXi)

 

이제 위 식의 E[1nlog(VnV0)]을 구하면 된다. 이 때, 시점의 단위를 뜻하는, nn 로 하여, 연속적인 시간대를 표현하게 하여, n에 대한 일반식을 구한다.

 

Gn(f)=E[log(VnV0)1n]=1nE[ni=1log(1+(1f)r+fX)]=E[log(1+(1f)r+fX)]

 

논문에서는 g(f)=log(1+(1f)r+fX) 식을 f=0으로 하고, k를 2까지 하여 다항식으로 근사적으로 표현하는 taylor expansion으로 정리한다.

 

Taylor Expansion)

f(x)=k=0f(k)(i)k!xk

 

k=0 의 경우를 계산해보자.

g(f)=log(1+(1f)r+fX)

g(0)=log(1+r)

 

log(1+r)r0 에서 r로 근사될 수 있다. linear approximation 을 사용해보면 된다.

f(x)=f(x)f(0)xf(x)=f(0)+f(x)x

h(r)=log(1+r)

h(0)=log(1)=0

h(r)=11+r

h(r)=limr0r1+r=r

g(0)=log(1+r)r

 

1차, 2차 도함수도 계산해준다. r0 을 적용해서 식을 더 정리해준다.

g(f)=Xr1+(1f)r+fX

g(0)=Xr1+rXr

 

g(f)=(Xr)2(1+r)2(Xr)2

 

G(f)E[r+(Xr)f(Xr)22f2+O(f3)]

=r+(μr)fσ2f22+O(f3)

 

위 식을 maximize 하는 fμrσ2 가 된다.

 

risk free 자산 대비 투자 자산이 갖는 초과 수익률을 투자 위험 대비 얼마나 높은 지를 나타내는 sharpe ratio에 σ 를 나눈 값과 같다. σ 가 갖는 scale이 μ,r 과 같기 때문에, 일종의 비율을 나타내기 위해서는 표본 편차가 아닌 분산이라는 면적에 (σ 만큼의 선분의 길이를 가진 정사각형을 상상해볼 수 있다) excess return이 차지하는 영역을 계산하는 것으로 해석할 수 있다. (논문이 아닌, 자체적인 해석이니 오류가 있을 수 있다)

 

G(f)=μr+2fσ22=0

f=μrσ2

 

논문 상에서 나오는 S&P 500 예시를 갖고 수식을 사용해보자.

S&P500의 59년 수익률 통계량은 아래와 같다.

μ=0.058

σ=0.216

r=0.029

 

위 통계량을 기반으로 우리는 자산의 아래 비율만큼을 (62%) 투자함에 따라 자산 수익률의 기대값을 최대화할 수 있다.

f=0.0580.0290.021620.62