金融 · 概率

Kelly 准则: 期望为正, 也会输光

一枚六成正面朝上的硬币, 押正面是稳赚的. 可要是每次押得太多, 赢面再大也会输光.

2016 年, 两位做投资的人 Victor Haghani 和 Richard Dewey 写了一篇论文,[1] 讲他们做的一个实验. 他们找来 61 个学经济金融的学生和刚入行的年轻人, 每人发 25 美元, 让他们押一枚硬币. 这枚硬币动过手脚: 正面朝上的概率是 60%, 规则里用粗体写得清清楚楚. 押多少自己定, 押对了赢回同样多, 押错了押注没收. 一共 30 分钟, 大约能押 300 次.规则里还藏了一个上限: 赢到 250 美元就不能再押了.

这看上去是一个占便宜的局: 每押 1 美元, 平均能赚 0.2 美元. 但结果呢? 28% 的人输光离场, 61 个人平均只拿走了 91 美元. 有 18 个人, 至少有一次把全部身家押在了一次抛硬币上.

硬币本身没问题. 每次押多少, 才是个值得好好想想的问题.

只押一次, 当然全押

我们先理清一下规则. 押 1 元, 赢了净赚 bb 元, 输了这 1 元就没了, bb 叫净赔率. 赢的概率是 pp, 输的概率是 q=1−pq = 1 - p. 每次押当前资金的一个比例 ff.

如果只押一次, 期望收益是

E=f⋅(bp−q)E = f \cdot (bp - q)

只要 bp−q>0bp - q > 0, 也就是这个局对你有利, 期望就随 ff 一路往上, 押得越多越好, 最好全押. 那枚硬币 b=1b = 1, p=0.6p = 0.6, bp−q=0.2bp - q = 0.2, 就是上面那 0.2 美元.

只玩一次, 这么算没有问题. 麻烦在于要连着玩 300 次.

押很多次, 钱是乘出来的

连着押的时候, 每一局的输赢是乘在上一局的结果上的. 赢一局, 资金变成原来的 1+bf1 + bf 倍; 输一局, 变成 1−f1 - f 倍. 押 NN 局, 赢 WW 次输 LL 次, 最后的资金是

VN=V0 (1+bf)W (1−f)LV_N = V_0 \, (1 + bf)^{W} \, (1 - f)^{L}

这里有两个细节. 第一, 顺序不重要, 先赢后输和先输后赢结果一样, 只看赢了几次、输了几次. 第二, 涨和跌不对称. 每次押 20%, 赢一次是 1.2 倍, 再输一次是 0.8 倍, 1.2 × 0.8 = 0.96, 回不到原点, 少了 4%. 全押就是把这种不对称推到了头: f=1f = 1 时, 输一次就是乘以 0, 后面赢多少次都没用. 300 次一次都不输的概率是 0.63000.6^{300}, 大约是 3×10−673 \times 10^{-67}.

乘法不好比大小, 我们取个对数, 就变成了加法:

ln⁡VN=ln⁡V0+Wln⁡(1+bf)+Lln⁡(1−f)\ln V_N = \ln V_0 + W \ln(1 + bf) + L \ln(1 - f)

两边除以 NN. NN 很大时, 根据大数定律, 赢的频率 W/NW/N 会越来越接近 pp, 输的频率 L/NL/N 越来越接近 qq. 剩下要比的就是

G(f)=pln⁡(1+bf)+qln⁡(1−f)G(f) = p \ln(1 + bf) + q \ln(1 - f)

G(f)G(f) 是每一局的长期增长率. 押了 NN 局以后, 资金大约是 V0 eNG(f)V_0 \, e^{N G(f)}. GG 大于零, 钱会越滚越多; 小于零, 迟早输光, 哪怕这个局本身是占便宜的.

对 ff 求导, 令导数为零:

pb1+bf−q1−f=0⟹f∗=bp−qb\frac{pb}{1 + bf} - \frac{q}{1 - f} = 0 \quad\Longrightarrow\quad f^* = \frac{bp - q}{b}

分子是押 1 元平均能赚多少, 也就是你的优势; 分母是赔率. 换言之, 优势除以赔率. 没有优势的局 (bp≤qbp \le q), f∗≤0f^* \le 0, 一分都不该押. 把那枚硬币代进去, f∗=0.2/1f^* = 0.2 / 1, 也就是 每次押 20%, 手里钱的五分之一. 这个比例就是 Kelly 准则, 出自 John Kelly 1956 年在贝尔实验室写的一篇论文.[2]

奇怪的是, 期望明明说押得越多越好: 300 局后资金的期望是

E[VN]=V0 (1+f(bp−q))NE[V_N] = V_0 \, \bigl(1 + f(bp - q)\bigr)^{N}

它随 ff 一直涨, 全押时最大. 可 G(f)G(f) 在 20% 就到顶了, 押到 39% 左右就变成负的. 问题在哪呢?

每次押多少100 个人, 各抛各的 300 次

每个人大概率的结局 (中位数)期望

20%
300 局后, 大概率拿到–
比本金 25 美元少的–
输光的–

押的比例和长期增长率

每局的长期增长率 G(f)期望每局的增长

事实上, 期望和 G(f)G(f) 算的根本不是一回事. 期望是把所有可能的结局按概率加权平均. 押得越多, 这个平均越是被极少数一路赢下去的人撑起来. 押 40% 的时候, 300 局后期望有两千多亿美元, 可上面这 100 个人里, 一大半已经输光了, 中间那个人也在里面. G(f)G(f) 管的是中间那个人, 也就是你大概率会碰到的那个结局. 那 18 个一把押上全部身家的人, 其实是在跟着期望走: 只看眼前这一把, 全押确实是期望最高的选择.

押 10%, 也就是 Kelly 的一半, 长期增长率还有最高时的四分之三. 押 30% 也差不多, 还剩 73%. 可押到 40%, 也就是两倍, 增长率就变成了负数. 往少了偏, 最差也就是不赚; 往多了偏, 很快就是亏. 而且实验里 pp 是明说的, 现实里我们并不知道 pp, 只能估, 估高一点就成了多押. 所以实际用的时候, 常常只押 Kelly 算出来的一半, 少赚一点, 换一个不会出大事的余量.

回到那枚硬币

每次押 20%, 不设上限的话, 300 局后中间那个人有一万美元出头. 实验设了 250 美元的上限, 照同样的规则模拟 20 万次: 每次押 20%, 大约 93% 的人能拿满 250 美元; 押 10% 到 15%, 拿满的大约 95%, 几乎没有人输光. 实验里真正拿满的, 只有 21%.

参考资料

  1. V. Haghani, R. Dewey, “Rational Decision-Making Under Uncertainty: Observed Betting Patterns on a Biased Coin”, 2016. arXiv:1701.01427.
  2. J. L. Kelly Jr., “A New Interpretation of Information Rate”, Bell System Technical Journal 35 (4): 917–926, 1956. doi:10.1002/j.1538-7305.1956.tb03809.x.