2017年6月23日 星期五

Kelly Criterion的應用

上水河馬兄等blog友在上文的留言中談及Kelly Criterion的使用,特別是對於Kelly Criterion是否適用於賭馬,列舉了不同的觀點,池某覺得要三言兩語說清楚這個問題也不容易,故特別找回發表於《信報月刊》三月號那篇文章,雖然內容與池某過去的文章有部份重複,但尚算是較簡單而完整地說明了Kelly Criterion的來龍去脈、適用範圍,以及應用於不同情況要顧及的問題等等。簡而言之,池某的觀點是,不必把Kelly Criterion神化為無往而不利的賭博公式,也不必偏執地把Kelly Criterion貶為無用之物。用得其所,受用不盡;亂用一通,禍患無窮。


1956年,當時美國AT&T公司屬下的《貝爾系統技術期刊》刊發了一篇題為《對信息傳輸速率的重新詮釋》(A New Interpretation of Information Rate)的論文。60年來,論文的內容一面受到投資者、賭徒熱情追捧,一面被名家、學者無情鞭撻。儘管論文的題目早已被人遺忘,它的另一個名稱卻愈來愈廣為人知,那就是Kelly Criterion。

一篇信息學的論文,卻震動了投資界、賭博界,論文的作者John Larry Kelly應不會感到意外,本來他就將論文命名為《信息論與賭博》,只是公司高層因對形象與道德問題有所顧慮,才要求他更改標題。John Kelly這篇論文的出發點就是要計算怎樣以「不公平」的信息從「公平」的賠率中獲利,而且將利潤最大化。

Kelly Criterion,一般譯作凱利公式,其基本形態是這樣的:f=p/a–q/b
其中,f是投入資本的最佳比例,p是盈利的機會率;q是虧損的機會率,在非勝即負賭局中,就是q=1-p了;a是虧損幅度;b是淨盈利率。

一般來說,在賭博遊戲中,輸就輸掉所押賭注,故a=1;如果採用常用的賠率o代替淨盈利率b,即b+1=o,得出:
f=p–q/b=(p*b-1+p)/b=(p*(o-1)-1+p)/(o-1)=(p*o-1)/(o-1)
就是Kelly Criterion最常用於賭博的版本。

例如,以100元本金玩擲硬幣遊戲。假設每次只能押注一面,猜錯會輸掉注碼,猜中賠率為3倍。這是一個對參與者來說明顯有優勢的遊戲,但怎樣才能以最快的速度贏最多的錢呢?想一次過贏得最多,當然是全數押下去,但這樣只要輸一次就「清袋」了;想安全一些,每次押10元如何?似乎效果又很有限。John Kelly在其論文中證明了,Kelly Criterion就是可以令資金增長得最快的公式。

根據Kelly Criterion,這個賭局每次最佳的投入注碼比例為f=(0.5*3-1)/(3-1)=25%。猜中,本金變成100-25+25*3=150元,然後以150元作為新的本金,再以25%的比例下注。如此類推,資本長玩長有,永不可能是零,可以有效避免「清袋」,又能實現以最快的速度增長。理論上很完美,但是...

回到實際,即使是機會率50:50的賭局,也並非必然賭兩局就會贏一局的,連贏兩局並不奇怪,連輸兩局也不奇怪,連輸十幾局也是可能的。上述例子的賭局,只要連續五次猜錯,本金就將萎縮至100*0.75^5=23.7元;連錯十次,本金就會只剩下5.6元。理論上這並不是什麼問題,只要再經過無數次押注,最終還是能回復到理論值的結果。但在現實中這是個大問題,如果遊戲要求每注最低限額為10元,連輸九次就是實質破產,沒有翻身機會了。

由此可見,即使是有全面賠率優勢的賭局,即使概率準確無誤,使用Kelly Criterion,也是可能使人快速破產的。這是理論與現實的差距造成的,理論可以解釋到無限,現實是人類社會的活動,包括經濟活動,都是有限的。故看起來很美好、用起來很危險的Kelly Criterion一直備受咎病和質疑,經濟學泰斗Paul Samuelson就斥之為異端邪說,據說連作者John Kelly本人在其有生之年也從不曾使用Kelly Criterion贏過錢。

但Kelly Criterion由始到終都不乏支持者,包括推薦John Kelly發表這篇論文的信息學鼻祖Claude Shannon,數學家Edward Thorp更親赴賭場賭二十一點去驗證,並將其橫掃賭場的經歷寫成Beat the Dealer一書,Thorp還透露,年輕時已與他相交的股神巴菲特,也是用Kelly Criterion的思維方式來投資的。把香港馬場當作提款機的大鱷William Benter也在多個場合表示,所有成功的賭馬集團都是按某個比例的Kelly Criterion分配注碼的。

按某個比例的Kelly Criterion下注,就是成功規避「快速破產危機」的手段,例如使用0.5倍的Kelly Criterion,即每次只以半數的Kelly Criterion賭注下注,雖然回報會略為減少,卻能大大降低波動性,大幅降低破產的可能性。不過,這種為安全買保險而捨棄了增長速度的Kelly Criterion,嚴格來說已稱不上是能令資本增長最快的公式,但與其他投資策略相比較,其效果依然是最好的。

2005年,William Poundstone所著一書Fortune's Formula出版,收錄了John Kelly、Claude Shannon、Edward Thorp與Kelly Criterion發展的詳盡故事,一紙風行,使Kelly Criterion成了家傳戶曉的「財富公式」,也使無數投資者和賭徒爭相仿效,但真正能體驗到Kelly Criterion威力的人並不多。原因有二:其一,很多人只是隨大流追逐Kelly Criterion,而誤以為Kelly Criterion就是一條可以創造財富的公式;其二,不少人都「以為」自己在正確使用Kelly Criterion,實際上並不是那麼回事。

Kelly Criterion本身並不能產生財富,而是任何可盈利系統的最優加速器。例如Edward Thorp在賭場賭二十一點,贏錢的關鍵是他獨創的那套數牌技巧,甚至他後來轉戰金融市場,贏得「量化投資之父」的榮譽,靠的也是他自己所創的,比Black–Scholes model更早的期權定價公式;而William Benter賭馬能贏錢,則是靠他苦心經營的統計模型。Kelly Criterion的角色,只是「輔助」數牌技巧和統計模型把其原本優勢發揮得更有效而已。也就是說,如果使用者手上沒有一套具優勢的投資系統,Kelly Criterion也就沒有著力點了。

另一方面,人們之所以經常誤用Kelly Criterion而不自知,是因為Kelly Criterion看起來很簡單,f= (p*o-1)/(o-1),只需代入概率p和賠率o,就能計算出最優投入資本比例f,連小學生都能看明白。但現實中的賽局,很少是如上述擲硬幣的遊戲那麼單純的,例如一場馬,有14匹馬上陣,其中有些需要下注有些不需要下注;又如同一時間有10場球賽開賽,同樣其中有些需要下注有些不需下注,那麼最優的投注比例應該怎樣計算?

把問題簡化一些,當作一場有A、B、C三匹馬上陣的賽馬。假設A、B、C三匹馬的勝出概率分別為0.5、0.3和0.2,而實際賠率為2.2、3.2及2.3倍。如果逐個代入Kelly Criterion,那麼只有A值得投注,投入本金比例f=(0.5*2.2-1)/(2.2-1)=8.33%。

大多數投資者都會以為這樣簡單地把概率p和賠率o代入公式就是正確使用了Kelly Criterion,但這是錯的!試看看同時投注A及B的情況,同時投注A和B,回報是1/(1/2.2+1/3.2)=1.3037倍,A和B兩個選項覆蓋了0.5+0.3=0.8的機會率,故最佳投注比例為(0.8*1.3037-1)/(1.3037-1)=14.15%。

所以這個賭局要投入賭本的14.15%,才能發揮Kelly Criterion的威力,按表面數字直接代入得出的8.33%是錯的。14.15%的賭本如何分配在A、B兩匹馬身上,又產生了新的計算問題。而這僅是一場3匹馬上陣的簡單情況,現實中在香港一場賽馬可多至14匹馬上陣,所涉及的計算量和複雜程度已遠遠超出人力所能應付的範圍,一定要編寫電腦程式才能解決。這等於為Kelly Criterion的使用者設置了一個知識和技術的門檻。

不幸的是,賽馬的情況還是相對簡單的,因為無論一場賽事有多少匹馬上陣,所有馬匹的機會率總和一定是1,其結果是互斥的,最終只有一匹馬勝出,有了這些條件可以利用,對跨過了技術門檻的人來說不算是高難度。至少比計算同時進行的多個獨立賽局(例如一個股票組合或同時進行的多場球賽)要容易一些。

故投資者欲以Kelly Criterion在市場裡尋寶,幾個要點不可不注意:第一,自己是否已擁有一個具優勢的可盈利交易系統?第二,自己的知識和技術是否已經跨過了可正確使用Kelly Criterion的門檻?第三,任何時候都不能忘記,即使所有計算都準確無誤,使用Kelly Criterion也是有可能令人迅速破產的。稍一不慎,天堂很遙遠,地獄在眼前。

2017年6月13日 星期二

食貨

“富民之本,在於食貨。”此語出自《東觀漢記•馬援傳》。

從字面理解,食就是糧食,貨就是財貨了。古時中國是一個農業社會,主要的生產就農業生產,故食與貨實質已代表了當時一個經濟體的生產力和商品流通,甚至可作為國家財政經濟的統稱。

奇怪的是,對發展經濟之道作出如此精辟歸納的,並非當時的學者或文官,而是一直帶兵打仗的伏波將軍馬援。但想深一層又覺得很正常,在東漢之前,所有影響天下格局和歷史發展的大戰,都是由生產力決定戰果,“食力”(原來新界簡的口頭禪才是正字)的影響,遠大於兵力,也難怪惟有行軍打仗的將軍感受最深、理解得最透徹。

例如戰國後期那場規模最大的秦趙長平之戰,雙方傾舉國兵力對峙兩年多時間,秦國雖有補給線漫長等不利因素,卻能靠著商鞅變法後的雄厚“食力”熬到最後,反觀趙國雖然後勤補給方便得多,卻因大量勞動力被牽制在戰場前線,荒廢了一個又一個春耕秋收,而日漸吃不消,被迫換將主動尋求決戰。據《戰國策•齊策之二》記載,“秦攻趙長平,趙無以食,請粟於齊而齊不聽。”證實了趙國是敗在“食力”不濟,留下千古罵名的趙括只是代罪羔羊而已。

又如楚漢戰爭,劉邦之所以可以在滎陽、成皋與“萬人敵”項羽周旋,最後耗垮項羽,很明顯不是贏在戰力、兵力,而是贏在關中源源不絕的“食力”。

據記載,建武十六年,馬援在隴西,上書曰:“富國之本,在於食貨,宜如舊鑄五銖錢。”帝從之。於是復鑄五銖錢,天下以為便。

池某查了一下,這段話有兩個版本,一個版本是“富國之本”,另一個版本是“富民之本”。不過,古語有云:民者,國之本也。故這兩個版本並沒實質的分別。關鍵的是馬援在這次上書中,既強調了發展生產力和商品流通的重要性,還提出了重新發行貨幣的建議,最後達致的效果是“天下以為便”。

人是善忘的動物,有了錢,就忘了本。很自然地,久而久之,原本對生產力的追求,就變成對錢這個中介物的追逐。漢獻帝年間,劉備打下益州,把劉璋的財產賞給了將士,自己倒變成了窮光蛋,連軍隊都養不起了,於是學人玩“財技”,像現今的老千股低價批股抽水一樣,玩了一次“低價批錢”,下令鑄造“直百”大錢,即一個大錢可兌100個五銖錢,很快就抽乾民間資財,庫府裡裝滿了物資。

成功地玩了一次“財技”的劉大耳先生從此就上了癮,又先後鑄了“太平百錢”、“定平一百”、“犍為五銖”等等,都是一錢當一百錢,而且這些大錢越鑄越輕、越鑄越薄,抽水越來越狠。

看到“財技高手”劉大耳天天上頭條,講述以“財商”達致財務自由且變成大富大貴的經驗,東吳的孫權也坐不住了,為證明自己“財技”更高,孫權一出手就鑄了“大泉五百”,不錯,是一錢當五百錢!這還不夠,繼而又推出了“大泉當千”、“大泉二千”和“大泉五千”。


結果,蜀吳兩地當然是貨幣迅速貶值,物價飛漲,經濟環境惡劣,民生凋敝。據記載,位於“天府之國”的蜀國,由建國到亡國時戶籍數字竟是有減無增;處於“魚米之鄉”的吳國亦要派兵到夷洲(今台灣)等地虜掠壯丁充實人口。

同期的曹魏卻是風景獨好,人口最多,墾地面積最廣,實力最強。曹操很早期就大力發展屯田,“積穀於許都以制四方”。後來司馬懿又向曹操建議軍事屯田制,《晉書•宣帝紀》記載:司馬懿向曹操建議,“昔箕子陳謀,以食為首。今天下不耕者蓋二十餘萬,非經國遠籌也。雖戎甲未捲,自宜且耕且守。”曹操行之,魏國一時“務農積穀,國用豐贍。”

可見由曹操到司馬懿都非常清晰地認識到“以食為首”這個“食力”根本。同時,曹魏雖然篡了漢,卻一直維持使用五銖錢,老老實實,沒有像劉備、孫權那樣玩“財技”、鑄大錢將貨幣貶值,貨幣狀況是三國中最穩定的,使老百姓可以保持安居樂業。

令人納悶的是,擺明揚劉貶曹的《三國演義》倒也罷了,連《三國志》等史書居然也沒有給曹氏父子和司馬氏父子這項功績一個公正的評價。不過,話說回來,即使曹氏和司馬氏能活到今天,恐怕也很難討回一個公道。因為價值混亂、顛倒是非的輿論風氣千年以來都沒變過,君不見現時的媒體、blogger,哪個不是只會吹捧“財技”、“財商”,而將真正為社會貢獻生產力的“工資奴”貶到一無是處?