最早的凱利公式是運(yùn)用在賭博游戲中的,我們先看看賭博情形下凱利公式的特殊形式:
![][equtation]
[equtation]: http://latex.codecogs.com/svg.latex?f=\frac{p_{win}*b-p_{loss}}址愿
其中Pwin表示勝率缀遍,Ploss=1-Pwin醒串,b表示賭贏了的賠率(扣除本金后的收益/本金)帖鸦。f表示單次下注占總資金的比例易遣。
就是這個(gè)精巧簡(jiǎn)潔的公式咱筛,將信息論與賭博之間的本質(zhì)聯(lián)系揭露出來搓幌,告訴我們?cè)谟邢蘖私獾男畔⑾拢绾蜗伦⒛苁沟觅Y本增值的速度最大化迅箩。
一個(gè)簡(jiǎn)單的例子
假想一個(gè)賭博游戲溉愁。贏的概率是60%,輸?shù)母怕?0%饲趋。入場(chǎng)費(fèi)隨意交拐揭。如果贏了獲得2倍的入場(chǎng)費(fèi)金額(b=1),輸則輸?shù)羧雸?chǎng)費(fèi)奕塑。小編有100元做本金堂污,請(qǐng)問小編每次給多少入場(chǎng)費(fèi),若干次游戲后幾何期望收益能最大龄砰?
答:f = (1×0.6-0.4)/1 = 0.2盟猖。
也就是說最佳的策略是每次投剩余本金的20%。
這塊不難理解换棚,帶入公式就能算出來式镐。
注意兩點(diǎn):
1.從概率的角度說,一個(gè)期望凈收益為負(fù)的游戲是不值得參與的固蚤,凱利公式也完美的體現(xiàn)了這一點(diǎn)娘汞。還是上面的游戲,如果贏的概率40%颇蜡,輸?shù)母怕?0%价说,那么,期望凈收益就是(1×0.4-0.6)<0风秤;求得的f為-0.2鳖目。
負(fù)數(shù)倉(cāng)位意味著你有上中兩策可以選。中策選擇不下注缤弦,上策是誘騙別人來跟你下注领迈。
2.賭博版凱利公式只有在穩(wěn)贏(贏概率=100%)時(shí)才會(huì)支持押下全部本金,否則都是本金的一定比例碍沐。隨著本金的減少狸捅,下的注也越來越少。如果沒有交易費(fèi)用累提,下注可無限分割尘喝,我們是虧不完的(留得青山在,不怕沒柴燒)斋陪。
下圖能更直觀的看到凱利公式對(duì)倉(cāng)位的控制:如果押注的比例限制在0和1之間朽褪,對(duì)應(yīng)不同的勝率(Pwin)和賠率(b)時(shí),f會(huì)在三維空間上形成一個(gè)曲面无虚。這個(gè)曲面與f=0對(duì)應(yīng)的平面相交的那條黑線就是期望為0所形成的曲線缔赠。
接下來我們?cè)诠善辈僮髦袠?gòu)建一個(gè)類似上述的賭博模型,然后引入凱利公式友题。
把股票模型轉(zhuǎn)換為賭博模型
下圖來自《財(cái)富公式:玩轉(zhuǎn)拉斯維加斯和華爾街的故事》嗤堰,看看凱利的結(jié)果還不錯(cuò)嘛。
股票的假設(shè)和賭博有點(diǎn)不一樣度宦。股票是一個(gè)連續(xù)的過程踢匣,未來某一個(gè)時(shí)刻的收益率不是固定的一個(gè)值,而是一個(gè)分布斗埂。
那么我們?cè)趺醋觯?/strong>
怎么做可以發(fā)揮各種想象力符糊,我們提供一個(gè)思路。
首先呛凶,在西方那一套理論中男娄,往往用隨機(jī)游走來描述股價(jià)的波動(dòng):
怎么把模型轉(zhuǎn)換成與賭博模型類似的呢?方法有很多漾稀,這里來一個(gè)簡(jiǎn)單粗暴的模闲。設(shè)置一個(gè)止盈價(jià)格和止損線,碰到了就出局崭捍。如果取對(duì)數(shù)后的股價(jià)服從隨機(jī)游走假設(shè)尸折,并且初始點(diǎn)是上沿和下沿的正中間,按照理論殷蛇,先碰到上沿和先碰到下沿的概率是一樣的实夹。(忽略漂移項(xiàng))橄浓。
但是在實(shí)際情況中呢,股價(jià)不是所有的時(shí)候都服從這個(gè)隨機(jī)游走模型亮航。股價(jià)先碰到上沿的概率會(huì)高于先碰到下沿的概率荸实。比如說,突然出一個(gè)利好缴淋,財(cái)報(bào)公布后超預(yù)期准给,降準(zhǔn)降息啦,或者單純的資金面涌入造成短時(shí)間多空失衡重抖,等等露氮。
我們管這些事件,或者與這些事件同時(shí)發(fā)生的一些現(xiàn)象稱為信號(hào)钟沛。比如說畔规,降息的事件本身,就是一個(gè)信號(hào)讹剔。利好之前可能會(huì)有人提前知道偷偷買油讯,造成股價(jià)跌不下去,這個(gè)該跌不跌就是一個(gè)信號(hào)延欠。資金的涌入造成成交量放大陌兑,這個(gè)成交量放大也是一個(gè)信號(hào)。
上圖表示事件對(duì)股價(jià)形成了影響由捎,整體概率分布向上偏移兔综,先碰到止盈的概率大于先碰到止損的概率。
交易所做的事情狞玛,就是這么一個(gè)尋找信號(hào)的過程软驰,找到有效信號(hào),意味著信號(hào)背后的事件會(huì)使股價(jià)的概率分布偏離心肪,贏的期望變大锭亏。同時(shí)我們?cè)O(shè)置止盈止損線,這樣賠率也就固定了下來硬鞍。
由此我們就把投資股票的過程轉(zhuǎn)換成一個(gè)連續(xù)賭博的過程慧瘤。信號(hào)發(fā)出就是我們?nèi)雸?chǎng)點(diǎn)。止盈止損發(fā)生的時(shí)候固该,就是我們的出場(chǎng)點(diǎn)锅减。賠率和損失率就是止盈止損與入場(chǎng)價(jià)格之差。一次入場(chǎng)和出場(chǎng)就相當(dāng)于賭博模型中的單次賭博伐坏,單次賭博的倉(cāng)位由凱利公式確定怔匣。
前文的賭博公式中,賠一次會(huì)輸?shù)粞鹤⒌乃薪痤~桦沉。而由于在股市中每瞒,我們不會(huì)一次性賠光本金金闽,而是賠掉本金的一定比例。所以我們需要使用一般性的凱利公式:
![][equtation2]
[equtation2]: http://latex.codecogs.com/svg.latex?f=\frac{p_{win}}剿骨-\frac{p_{loss}}{c}
f:倉(cāng)位比例
Pwin:賭贏的概率—股市上漲概率
Ploss:賭輸?shù)母怕省墒邢碌怕?br>
b:贏錢率(資產(chǎn)從1增加到1+b)
c:損失率(資產(chǎn)從1減少到1-c)
假設(shè)我們找到了一個(gè)有效信號(hào)呐矾。并且根據(jù)歷史上的統(tǒng)計(jì),過去三年這個(gè)有效信號(hào)發(fā)生了1000次懦砂。以信號(hào)發(fā)出的價(jià)格為起點(diǎn),在20%的正收益時(shí)止盈组橄,在20%的負(fù)收益時(shí)止損荞膘。
那么在信號(hào)發(fā)出后,如果先觸碰盈的次數(shù)570次玉工,先觸碰止損的次數(shù)430次(這里只是為了舉例而做簡(jiǎn)化羽资,實(shí)際中我們需要做更多的工作)。于是遵班,我們就成功的把問題轉(zhuǎn)換成了一個(gè)連續(xù)賭博的問題:有這么一種賭博屠升,贏一次的賠率為20%,輸一次的損失率為20%狭郑,贏率為57%
對(duì)應(yīng)公式腹暖,有Pwin=0.57,Ploss=0.43翰萨,b=0.20脏答,c=0.20
此時(shí)f=Pwin/c – Ploss/b = 0.57/0.20 – 0.43/0.20= 70%
也就是說,不管你現(xiàn)在剩余多少錢亩鬼,應(yīng)該買入剩余部分的70%的倉(cāng)位殖告。
接下來,我們用蒙特卡洛模擬的方法做一組測(cè)試雳锋,看看凱利公式是怎么發(fā)揮作用的黄绩。假設(shè)股票投機(jī)產(chǎn)生了T次信號(hào)。我們相應(yīng)的按照上述參數(shù)隨機(jī)生成勝率和賠率玷过,做了T次投機(jī)爽丹。把這T次投機(jī)算成一組完整的投資過程,這樣就會(huì)得到一個(gè)凈值的序列冶匹。對(duì)于任意的T习劫,我們將這個(gè)投資過程重復(fù)1000次,求凈值的幾何平數(shù)嚼隘。
我們看看在不同的投機(jī)次數(shù)T下的效果:
T=100: