TechY
The Kelly Criterion and the Stock Market 본문
논문 : 링크
켈리 공식이라고 알려져 있는 식에 대한 페이퍼를 읽고 정리해본다. 기본적으로 사용할 수식 표현은 아래와 같다.
X0 = 초기에 우리가 갖고 있는 돈
Xn = 투자를 특정 policy에 따라 해서 n 번의 trial 후 얻게 될 돈
f = 우리가 갖고 있는 돈 X에서 betting할 금액의 비율
S = n 번의 trial에서 우리가 돈을 딴 횟수
F = n 번의 trial에서 우리가 돈을 잃은 횟수
n = 우리가 시도할 trial의 수
p = 승률
q = 1−p
이기면 betting한만큼 따고, 지면 그 돈을 모두 잃는다고 했을 때, 우리는 아래 수식을 얻을 수 있다. S+F=n
Xn=X0(1+f)S(1−f)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(1−f)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(1−f)F
XnX0=(1+f)S(1−f)F
log(XnX0)=log((1+f)S(1−f)F)=Slog(1+f)+Flog(1−f)
1nlog(XnX0)=log(XnX01n)=Snlog(1+f)+Fnlog(1−f)
XnX01n=eSnlog(1+f)+Fnlog(1−f)
Xn=X0e(Snlog(1+f)+Fnlog(1−f))n
Snlog(1+f)+Fnlog(1−f) 이 정의에서 나온 "exponential rate of increase per trial" 이 된다. 그러면 이제 우리는 그 값의 expectation 을 구하면 그것이 정의한 목적 함수 G(f) 가 된다.
E(Gn(f))[Snlog(1+f)+Fnlog(1−f)]=plog(1+f)+qlog(1−f)
또한 위 식의 전개 과정에서 논문에 나온 enlog(XnX0)1n=XnX0 을 얻을 수 있다.
이제 위 식을 maximize 하는 f 를 구하면 된다.
G‘(f)=p1+f−q1−f=p−q−f(1+f)(1−f)
critical point 는 f=p−q 가 된다. hessian 을 본 후 이 값이 최대값인지를 확인해볼 수 있다.
아래 식의 분자 term을 보면 2계도 미분값의 부호가 음수인 것을 알 수 있으며, 해당 식으로 우리는 maximum f=p−q를 얻을 수 있음을 알 수 있다.
G‘‘(f)=(−1)(1−f2)−(p−q−f)(−2f)(1−f2)2
즉, 내가 betting 만 한큼을 얻을 수 있고, 잃을 수 있는 게임에서 승률이 p 이고, 발생 가능한 결과가 2개뿐이라면 가진 돈의 p−q 비율만큼을 betting하는 것이 자산 성장률을 maximize 할 수 있는 방법이다.
이 식을 유도하는 과정에서 p=Sn 을 사용했기 때문에, 해당 값 p 를 얻기 위해서 대수의 법칙이 작용할 수 있을 정도의 충분한 trial 이 동반되어야 한다.
추가적으로 얻을 수 있는 intuition 이 하나 더 있는데, G(f) 식은 E[log(XnX0)1n] 였다.
log(XnX0)1n 이 식을 분리해보면 1nlog(Xn)−1nlog(X0)인데, fixed n,X0 라고 했을 때, f=p−q 는 결국 log(Xn)을 maximize 하는 것이다.

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+(1−f)r+fX)
이전 섹션에서 G(f)=log(XnX0)1n 식을 구한 적이 있다. 이는 V(f)=V0eG(f)n 식을 만족하는 G(f) 를 구한 것이다. 이번에도 동일하게 G(f) 를 구한다.
V(f)=V0(1+(1−f)r+fX)
V(f)V0=1+(1−f)r+fX
log(V(f)V0)=log(1+(1−f)r+fX)
E[log(V(f)V0)]=E[log(1+(1−f)r+fX)]
=0.5(log(1+(μ+σ−r)f))+0.5(log(1+r+(μ−σ−r)f))
우리가 구한 G(f) 은 n=1 에 대한 것이기에 n 에 대해 일반화된 식을 구해보자.
VnV0=∏ni=1(1+(1−f)r+fXi)
이제 위 식의 E[1nlog(VnV0)]을 구하면 된다. 이 때, 시점의 단위를 뜻하는, n을 n→∞ 로 하여, 연속적인 시간대를 표현하게 하여, n에 대한 일반식을 구한다.
Gn(f)=E[log(VnV0)1n]=1nE[∑ni=1log(1+(1−f)r+fX)]=E[log(1+(1−f)r+fX)]
논문에서는 g(f)=log(1+(1−f)r+fX) 식을 f=0으로 하고, k를 2까지 하여 다항식으로 근사적으로 표현하는 taylor expansion으로 정리한다.
Taylor Expansion)
f(x)=∑∞k=0f(k)(i)k!xk
k=0 의 경우를 계산해보자.
g(f)=log(1+(1−f)r+fX)
g(0)=log(1+r)
log(1+r)은 r≃0 에서 r로 근사될 수 있다. linear approximation 을 사용해보면 된다.
f‘(x)=f(x)−f(0)x→f(x)=f(0)+f‘(x)x
h(r)=log(1+r)
h(0)=log(1)=0
h‘(r)=11+r
h(r)=limr→0r1+r=r
g(0)=log(1+r)≃r
1차, 2차 도함수도 계산해준다. r→0 을 적용해서 식을 더 정리해준다.
g‘(f)=X−r1+(1−f)r+fX
g‘(0)=X−r1+r≃X−r
g‘‘(f)=−(X−r)2(1+r)2≃(X−r)2
G∞(f)≃E[r+(X−r)f−(X−r)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.058−0.0290.02162≃0.62