作者:石川,量信投資創(chuàng)始合伙人,麻省理工學院博士,精通各種概率模型和統(tǒng)計方法,擅長不確定性隨機系統(tǒng)的建模及優(yōu)化。
一、引言
今天我們來聊聊大名鼎鼎的凱利公式(英文叫 Kelly Formula 或 Kelly Criterion,所以中文也譯作凱利準則)。
凱利公式由 John R. Kelly, Jr. 于1956年提出(Kelly 1956)。它指出在一個期望收益為正的重復(fù)性賭局或者重復(fù)性投資中,每一期應(yīng)該下注的較優(yōu)比例。凱利公式在“拉斯維加斯”和“華爾街”久負盛名。很多數(shù)學天才將它在賭場和量化投資中發(fā)揚光大,取得了非凡的成就。這其中最著名的大概就是 Dr. Edward Thorp,他開辟了戰(zhàn)勝 Blackjack(21 點)的策略,并使用凱利公式計算出來的比例進行下注(Thorp 1962);玩轉(zhuǎn)賭場后,Thorp 博士將它在統(tǒng)計學和概率論上的天賦用在投資中,他創(chuàng)建的 PNP 對沖基金曾在近 30 年內(nèi)取得了年化 20% 以上的收益率(Thorp 2017)。此外,學術(shù)界也對凱利公式的各種數(shù)學性質(zhì)以及實踐應(yīng)用進行了大量的研究,這些成果匯總于 MacLean 等人編輯的論文集 MacLean et al. Eds (2010) 中。
凱利公式的計算非常簡單,但它背后所傳達的數(shù)學含義至關(guān)重要。本文從一個扔硬幣游戲出發(fā)介紹凱利公式以及它的性質(zhì),之后會揭示凱利公式背后的實質(zhì)。最后文章介紹如何把凱利公式推廣到量化投資中確定投資的較優(yōu)杠桿比例。
鑒于凱利公式的知名度,網(wǎng)上介紹它的文章自不在少數(shù)。本文是我和另一位合伙人高老板思想碰撞的產(chǎn)物,雖不求另辟蹊徑,但也希望能給小伙伴們理解凱利公式提供一些新的思路。 >>>如何入門量化投資
二、賭桌上的大學問 —— 從扔硬幣到凱利公式
讓我們從扔硬幣說起。
假設(shè)在一個賭局游戲中,我們一直不斷的扔硬幣。每局中,硬幣出現(xiàn)正面的概率為 p > 0.5(出現(xiàn)反面的概率為 q = 1 – p < 0.5)且局與局之間扔硬幣的結(jié)果獨立。每局中我們下注一定的金額,如果出現(xiàn)正面我們贏錢(假設(shè)賠率為 1,即不算本金,我們贏的錢和下注的金額相等),反之我們虧錢。由于 p > 0.5,這個游戲長期的期望收益為正,因此玩下去對我們是有利的。
在這個游戲中,我們需要做的決策是決定每局下注的金額。令 B_i 表示第 i 局的下注金額;T_i = 1 表示在第 i 局中我們獲勝、T_i = -1 表示在第 i 局中我們失敗。假設(shè)我們的初始資金是 X_0,則第 n 局之后的資金量 X_n 滿足:

假設(shè)我們的目標是最大化 X_n 的期望 E[X_n]。由上面的關(guān)系時可知,E[X_n] 的表達式如下:

由于 p – q > 0,最大化 E[X_n] 相當于在每一局都最大化當期下注金額的期望 E[B_i]。這意味著,每一局中我們都應(yīng)該有多少押多少。舉例來說,在第一局中,我們應(yīng)該押注所有的初始資金,因此 B_1 = X_0;如果我們贏了則 X_1 = 2X_0,在第二局中下注 B_2 = X_1 = 2X_0,以此類推。
這個游戲的期望收益雖然為正,但我們每局獲勝的概率 p 畢竟不等于 1,而是小于 1。也許我們能連贏幾次,但總有“運氣用盡”的那一局。一旦在某一局中硬幣出現(xiàn)反面,由于押注了全部資金,我們將會輸?shù)羲?。由?p < 1,隨著賭局數(shù)n的增加,“輸?shù)羧?rdquo;這種結(jié)果一定會出現(xiàn)。所以,以最大化E[X_n]為目標的下注策略(即每把都“滿倉干”)并不是較優(yōu)的。
下面讓我們看另一個策略 —— 固定比例投注(fixed fraction betting)。假設(shè)我們按照 B_i = fX_{i-1},0 < f < 1 的方式投注。每一局中,我們下注現(xiàn)有資金量的一個固定比例 f。用 S 和 F 分別表示在 n 局中獲勝和失敗的次數(shù),S + F = n。n 局后的資金 X_n 為:

由于0 < f < 1,那么我們永遠不會輸光。但是,n 局之后的資金 X_n 顯然和 f 的取值有關(guān)。應(yīng)該如何決定較優(yōu)的 f 呢?因為扔硬幣有隨機性,因此 S 和 F 的取值也是不確定的,那么這個較優(yōu)又是從什么意義上來說的呢?這就是凱利研究的問題。
定義函數(shù) G_n(f) 如下:

這個(1/n)ln[X_n/X_0]是什么呢?由 exp{n×(1/n)ln[X_n/X_0]} = X_n/X_0 可知,(1/n)ln[X_n/X_0] 就是單局資金的指數(shù)增長率(即單局的對數(shù)收益率)。在決定較優(yōu)的下注比例 f 時,凱利選擇最大化單局對數(shù)收益率的期望(下文會解釋為什么),記為 g(f):

令 g(f) 的一階導(dǎo)數(shù)等于 0 可以求出較優(yōu)值 f* = p - q,此外不難驗證在 (0,1) 區(qū)間上 g(f) 的二階導(dǎo)恒為負,因此 g(f) 在 f = f* 時有最大值。
f* = p - q 就是較優(yōu)的下注比例,它就是凱利公式。在上面的例子中,我們假設(shè)每局的賠率等于 1。更一般的,如果用 b 表示每局賠率,則凱利公式的一般形式為:

如果我們一直將這個游戲玩下去,按 f* 比例下注將最大化對數(shù)收益率的期望。對于任何給定的局數(shù) n(和初始資金 X_0),按此比例下注實際上就是在最大化 E[ln(X_n)],即 n 局后資金量的對數(shù)的期望。
按照凱利公式,我們在每局下注時都在最大化 E[ln(X_n)];而按照之前說的每局都全押,我們是在最大化 E[X_n]。由對數(shù)函數(shù)的特性可知,E[ln(X_n)] < E[X_n],所以我們自然會問,為什么要最大化 E[ln(X_n)]?這么做如何就較優(yōu)了?
按照 f* 比例而非其他比例下注有如下這兩點顛覆性的優(yōu)勢(在數(shù)學上都被證明了,我們只需要牢記就行了):
1. 隨著局數(shù) n 的增大,按照凱利公式 f* 下注的資金 X_n(f*) 將遠遠超過按照任何其他比例 f 下注的資金 X_n(f);
2. 對于任何給定的目標資金額 C,以凱利公式 f* 下注的策略超過該資金額所需要的期望時間(即期望局數(shù))最少。
上述兩點是按照凱利公式 f* 下注時,X_n 的重要性質(zhì)。尤其是第一條,用白話來說,它的意思是只要我們一直玩下去(n 足夠大),那么想贏得最多的錢(X_n 盡量大),那么就應(yīng)該按照 f* 下注。事實上,當 n 小的時候,X_n(f*) 很有可能小于 X_n(f) —— 即凱利公式策略的資金額比不過其他下注比例的資金額。但只要 n 足夠大,凱利公式一定會笑到最后,戰(zhàn)勝其他任何比例。下面我們就來解讀凱利公式背后的實質(zhì)。
三、、理解凱利公式 —— 初探
從上一節(jié)的數(shù)學表達式可知,凱利公式的推導(dǎo)中考慮的是當局數(shù) n 趨近于無窮時,資金量 X_n 逼近其極限情況的一些特性。X_n(f*) 一定超過其他 X_n(f) 也是以 n 足夠大為前提的。但是在現(xiàn)實中,足夠大是多大呢?畢竟無論是在賭場中還是在投資中,我們的局數(shù)(投資期數(shù))n 都是有限的。對于有限次數(shù)的賭局或者投資,無法保證按照凱利公式下注能產(chǎn)生較高的期末資金量 X_n;當 n 有限時,使用凱利公式較優(yōu)比例下注得到的 X_n 在多大概率上優(yōu)于其他下注比例?是否有比凱利公式更好的下注比例呢?
為了搞清楚這些問題,考慮下面這個實驗。令 p = 0.6,q = 0.4,b = 1,初始資金為 1。由凱利公式易知 f* = 0.2。假設(shè)我們玩 20 局,即 n = 20。除了 f* 外,考慮另一個下注比例 f = 0.6。通過一百萬次蒙特卡羅仿真來比較這兩個策略。每次仿真中扔硬幣 20 局,并記錄 20 局后這兩個策略的資金額,最后對這一百萬次結(jié)果取均值。
結(jié)果顯示,按 0.6 比例下注的策略可以獲得比按照凱利公式下注更高的平均期末資金,即 E[X_n(f=0.6)] > E[X_n(f*=0.2)]。這其實不難理解,因為凱利公式的目標是最大化 E[ln(X_20)],而不是為了最大化 E[X_20]。每次全押(即 f = 1)的策略最大化 E[X_20],任何大于 f* 的下注比例的期末期望 E[X_20(f)] 都會大于凱利公式的 E[X_20(f*)]。
然而有意思的是,在這一百萬次實驗中,按照 0.6 比例下注的策略最終的 X_20(f) 取值僅僅在 12.6% 的情況中戰(zhàn)勝了按照凱利公式下注得到的 X_20(f*)。在現(xiàn)實中顯然無法將這 20 局的賭局進行一百萬次,我們只能進行一次。雖然按照 0.6 下注的期望更高,但就只進行一次 20 盤的賭局最終能得到的資金 X_20 來看,使用凱利公式下注戰(zhàn)勝使用 0.6 的比例下注的概率高達 87.4%。
這是為什么呢?
下圖顯示了當 f 取 0.1,0.2,…,0.9 時,X_20(f) 的概率質(zhì)量函數(shù)(probability mass function)。扔硬幣 20 局,出現(xiàn)正面的次數(shù)取值是 0 到 20 這 21 個數(shù),因此對于每一個 f,X_20(f) 的取值只有 21 個。圖中橫坐標是 X_20(f) 的可能取值,縱坐標是取值對應(yīng)的概率。隨著 f 的增大,X_20(f) 的取值范圍隨指數(shù)增長,X_20(f) 的最大、最小值都按指數(shù)的速度在橫坐標的左右兩端延伸。由于 X_20(f) 無論如何也不會低于 0,所以它能變小的范圍有限,而它可能變大的范圍則要大得多(比如 f = 0.2 時,X_20 的最大值為 38.34;而當 f = 0.6 時,X_20 的最大值為 12089.26)。因此,X_20(f) 的分布是非常右偏的。這種病態(tài)的右偏造成了 E[X_20(f=0.6)] > E[X_20(f*=0.2)]。由于嚴重的右偏,E[X_n] 在橫坐標上的位置非??坑?,但是在現(xiàn)實中根本無法實現(xiàn)。因此以最大化 E[X_n] 為目標的下注一定不是較優(yōu)的。

隨著 f 的增大,X_20(f) 分布的右偏越來越嚴重,其越來越多的取值被壓縮在整體分布的左側(cè),因此 X_20(f) 大于任何給定常數(shù) C 的概率 —— prob(X_n(f) > C) 隨 f 的增大而快速下降。舉例來說,當 f = 0.2 時,X_20 > 1 的概率為 0.416;而當 f = 0.6 時,X_20 > 1 的概率驟減到 0.126。這暗示著在 20 局結(jié)束后,X_20(f*=0.2) 比 X_20(f=0.6) 更高的概率很大。即便是對于有限局數(shù)(本例中的 20),凱利公式計算出的下注比例仍然是非凡的。
我們將上面的結(jié)論推廣到更一般的情況。對于現(xiàn)實世界中任意給定的 p、q 以及賠率 b(下面假設(shè) b = 1),我們都能利用凱利公式算出 f*,那么最少需要玩多少局我們就能拍著胸脯說使用 f* 下注一定比其他任何別的 f 所獲得的收益更高呢?
下面這個熱圖為 f* 以 90% 的概率(足夠拍著胸脯說了)戰(zhàn)勝其他f所需要的最小局數(shù)。其中每一行左邊的數(shù)值為出現(xiàn)正面概率 p 的取值,每一列最下方的數(shù)字代表下注比例 f。每個 p 對應(yīng)的 f* 也相應(yīng)的標注在圖中。舉個例子,如果我們看 p = 0.6 那一行,f* 的格子所在列為 f = 0.2,說明 f* = 0.2。該行的其他列中的數(shù)字說明了 X_n(f*) 以 90% 的概率打敗 X_n(f) 所需要的最小的局數(shù) n。比如當 f = 0.6 時,對應(yīng)的格子里的數(shù)字是 28,說明僅僅需要 n = 28 局,X_n(f*=0.2) 就能以 90% 的概率戰(zhàn)勝 X_n(f=0.6)。

當 f 接近 f* 的時候,f* 打敗 f 所需要的最小局數(shù)要高一些。但在現(xiàn)實中,如果 f* = 0.2,那么我們刻意去拿它和 f = 0.24 或者 f = 0.16 這些很接近它的比例去比也沒什么意義。f 越接近 f*,X_n(f) 也就越接近 X_n(f*),所以我們會用一個和 f* 顯著不同的 f 來對比。從上面的熱圖可以看到,對于任意給定的 p,當 f 和 f* 顯著不同時,X_n(f*) 僅僅需要很少的局數(shù)(一般不超過 50)就可以以 90% 的概率戰(zhàn)勝 X_n(f)了。50 是一個什么概念?如果我們在賭場待幾天,重復(fù)的玩一個賭局 50 次恐怕很容易。如果我們做投資,以周頻為單位的話,50 次只不過是短短一年,以月頻為單位的話,50 次也不過區(qū)區(qū) 4 年出頭。所以,50 次以內(nèi)在現(xiàn)實生活中是非常容易達到的次數(shù)。因此,對于現(xiàn)實中的 n 有限的情況,凱利公式也能在很大的概率上保證是較優(yōu)的。
第二節(jié)直接給出了結(jié)論說明當 n 足夠大的時候,X_n(f*) 一定是較高的;本節(jié)通過實證說明即便在 n 有限的情況下,X_n(f*) 也大概率是較高的。那么,到底是什么保證了凱利公式的 f* 如此非凡呢?下一節(jié)就來給出答案。
四、理解凱利公式 —— 本質(zhì)
上一節(jié)的介紹讓我們對凱利公式已經(jīng)有一定的理解。本節(jié)就來揭示凱利公式背后的實質(zhì)。
前文說到,以最大化 E[X_n] 為目標制定下注比例根本不靠譜。那么來看看靠譜的目標。第二節(jié)指出,凱利最大化的是單期對數(shù)收益率的期望,對于任何給定的 n,這等價于最大化 E[ln(X_n)],即 X_n 的對數(shù)的期望。在上一節(jié)中,我們給出了 n = 20 時,X_n 的概率質(zhì)量函數(shù),并指出隨著f的增大它呈現(xiàn)出越來越顯著的病態(tài)右偏。
下面就請睜大眼睛,我們要變魔術(shù)了!
將上一節(jié)中 X_n 的概率質(zhì)量函數(shù)的橫坐標變成以 e 為底的對數(shù)坐標,那么它們就變成了下面這個樣子。由于進行了坐標變換,下面這個其實就是 ln(X_n) 的概率質(zhì)量函數(shù)。

怎么樣?ln(X_n),n = 20 的概率分布不再右偏,而是呈現(xiàn)出幾乎左右對稱的鐘形(bell-shaped)形狀(當然 ln(X_n) 的取值還是隨著 f 的增大越來越寬)。這個鐘形不太平滑是因為 n 的取值比較小。假如 n = 200,那么不同比例 f 下 ln(X_n) 的分布如下圖所示,分布更加平滑,鐘形左右更加對稱。

你一定已經(jīng)猜到了我為什么多次提到“鐘形”。因為正態(tài)分布的形狀就是“鐘形”的。隨著 n 的增大,ln(X_n) 的分布越來越接近正態(tài)分布!此外,上面了兩張圖說明隨著 f 的增大,ln(X_n) 的眾數(shù)(即 ln(X_n) 的所有取值里面概率較高的那一個,就是圖中概率質(zhì)量函數(shù)的那個"尖兒"對應(yīng)的 ln(X_n) 的取值)先變大、后變小,在 f = f* 時達到峰值。對于正態(tài)分布來說,它的眾數(shù)就是它的期望。因此,分布上這個“尖兒”對應(yīng)的 ln(X_n) 的取值向右移動的過程就是 E[ln(X_n)] 向右移動的過程。這意味著 E[ln(X_n)]在 f = f* 時最大,而這正是凱利求解f*時的初衷。
對于初始資金 X_0(假設(shè)等于 1),ln(X_n) = ln(X_n/X_0) 就是整個 n 局的對數(shù)收益率。對數(shù)收益率的最大好處是它的可加性,把單期的對數(shù)收益率相加就得到整體的對數(shù)收益率。

由于不同期之間是相互獨立的,n 期對數(shù)收益率相加相當于 n 個獨立的隨機變量相加。由中心極限定理(Central limit theorem)可知,它們的和 ln(X_n) 逼近正態(tài)分布,這解釋了為什么上面 ln(X_n) 的概率分布呈現(xiàn)出“鐘形”。
由于 ln(X_n) 是整個 n 期的對數(shù)收益,因此 (1/n) × ln(X_n) 就是每期對數(shù)收益率的均值。由大數(shù)定律(Law of Large Numbers)可知,(1/n) × ln(X_n) 隨著 n 的增大一定會收斂于它的期望,即 E[(1/n) × ln(X_n)];對于給定的 n,n 期的總收益會收斂于 E[ln(X_n)]。
我們玩一個賭局或者投資,最終是想讓 X_n 越大越好,但我們不知道 X_n 最終會變成什么樣,或者會收斂到什么值。但上面的分析說明只要 n 足夠大,大數(shù)定律保證了 X_n 的對數(shù),即 ln(X_n),一定會非常接近它的期望 E[ln(X_n)],那么我們自然就想找到一個下注比例使得 E[ln(X_n)] 盡可能的大。而凱利公式的 f* 恰恰就是使 E[ln(X_n)] 最大的下注比例。這就是凱利公式為什么 NB 的原因。
由于中心極限定理和大數(shù)定律的特性,我們并不要求單期的收益率滿足特定的分布。因此即便本文中使用扔硬幣這個例子 —— 它的單期收益率是個伯努利分布 —— 凱利公式的思想,即最大化單期對數(shù)收益率,可以應(yīng)用到任何不同的分布中。
最后想提一句的是,凱利當初選擇使用對數(shù)收益率是受了伯努利對數(shù)效用函數(shù)的啟發(fā)。伯努利于 1738 年發(fā)表了一篇關(guān)于風險下做決策的重要論文(原作不是英文版,后來為了推廣,于 1954 年被一個大牛教授翻譯成英文出版,見 Bernoulli 1954)。在那篇文章中,伯努利提出了對數(shù)效用函數(shù)以及著名的圣彼得堡悖論(St. Petersburg paradox)。

ln(X_n) 隨 X_n 的變化如上圖所示。由于對數(shù)函數(shù)的特性,它說明當 X_n > 1 時(即我們在期末贏錢了),我們掙得越多,感受到的邊際喜悅越低;當 X_n < 1 時(即我們在期末虧錢了),我們虧的越多,感受到的邊際痛苦越高,這十分符合人在投資時的主觀感受。所以,從最終收益 X_n 的效用的角度來說,最大化期望效用 E[ln(X_n)] 也是對凱利的初衷的一種解釋。當然,對數(shù)收益率可以相加,這樣單期的收益率能和總體的收益率聯(lián)系起來。因此從業(yè)務(wù)實際出發(fā),選擇對數(shù)收益率作為優(yōu)化目標實屬必然。
五、凱利公式在量化投資中
最后就來看看如何將凱利公式應(yīng)用于量化投資中確定投資品的較佳杠桿比例(倉位)。
首先來看一種“生搬硬套”的方法。對于很多策略(特別是技術(shù)分析策略),一般都有勝率和盈虧比的概念。這里勝率就是每次交易賺錢的概率,即 p;盈虧比就相當于賠率 b,即每單位虧損對應(yīng)的收益。所以,我們可以使用凱利公式計算每次交易的倉位 f* = (b × p – q) / b。當然,考慮到投資者對于風險的訴求,還可以在這個倉位控制上加一個風險系數(shù),從而進一步降低倉位。
但這種方法并不是很好。這里的賠率的計算方法是所有盈利交易的平均收益除以所有虧損交易的平均虧損。由于每個交易的開倉、平倉時間并不固定,因此每次交易的持續(xù)時間都是不同的。這種方法在計算收益率時完全不考慮交易時間這個因素。比如兩次贏錢的交易,一次開倉時間為 2 天,收益 1%;而另一次開倉時間為 3 小時,收益為 1%。它們的平均收益為 1%,但是顯然這兩次交易的風險特性完全不同。所以,這個不考慮交易時間的賠率計算方式是有問題的,以此計算的 f* 并不合理。
下面就來看看更合理的應(yīng)用凱利公式的方法。我們并不是生搬硬套第二節(jié)中的那個 f* 公式,而是利用凱利公式的思想,即最大化單期對數(shù)收益率。由于收益率都是相對一個給定的頻率而言的(如日收益率、周收益率等),因此這種方法更加合理。
假設(shè)一個投資品的單期的百分比收益率(即期末價格 / 期初價格 - 1)滿足均值為 μ、標準差為 σ 的正態(tài)分布??梢宰C明,在這個假設(shè)下,該投資品的單期對數(shù)收益率的期望為 μ - 0.5σ^2。我們來看看最大化該對數(shù)收益率的杠桿率 L 是多少。
當我們使用 L 倍的杠桿時,均值和標準差分別變?yōu)?μL 和 σL,因此對數(shù)收益率變?yōu)?μL - 0.5(σL)^2。以 L 為自變量來最大化 μL - 0.5(σL)^2。對其求一階導(dǎo)數(shù)并使它為 0,并檢查其二階導(dǎo)數(shù)有:

由一階導(dǎo)數(shù)等于 0 可得較優(yōu)的杠桿率為 L* = μ / σ^2,由于二階導(dǎo)數(shù)恒小于 0,因此對數(shù)收益率在 L = L* 有最大值。因此,凱利公式確定的較優(yōu)杠桿率就是:

在實際使用中,μ 和 σ 難以估計,此外不同期之間的收益率也很難保證絕對獨立,因此業(yè)界普遍的觀點是凱利公式的理論杠桿率風險較高。為此,普遍的做法是把 L* 看作是杠桿率的上限,而使用 L*/2 的杠桿率,這稱之為“half-Kelly”。投資者可根據(jù)自己愿意承擔的最大風險來決定是否進一步降低杠桿率。
最后想說明的是,無論如何應(yīng)用凱利公式,重復(fù)性投資畢竟不是玩一個有固定且獨立收益特征的賭局。投資的收益參數(shù)隨時間不停的變化,這就給我們在投資中應(yīng)用凱利公式帶來了更多的障礙。有人說凱利公式的核心是控制風險,我比較認同這句話。畢竟,控制好風險才能在市場中活得長,活得長才有可能獲得更高的收益。
參考文獻
Bernoulli, D. (1954). Exposition of a New Theory on the Measurement of Risk. Econometrica, Vol. 22(1), 23 – 36.
Kelly, J. R. Jr. (1956). A New Interpretation of Information Rate. Bell System Technical Journal, Vol. 35, 917 – 926.
MacLean, L. C., E. O. Thorp, and W. T. Ziemba, Eds (2010). The Kelly Capital Growth Investment Criterion. World Scientific Handbook in Financial Economics Series, Vol 3.
Thorp, E. O. (1962). Beat the Dealer. Random House, New York.
Thorp, E. O. (2017). A Man for all Markets: from Las Vegas to Wall Street, How I beat the Dealer and the Market. Random House, New York.
.jpg)
.jpg)
金程推薦: AQF就業(yè)前景 AQF年薪 量化金融分析師年薪
AQF考友群:760229148
金融寬客交流群:801860357
微信公眾號:量化金融分析師




