5

用凯利判据玩转前文中的“一个有趣的小数学游戏”

 3 years ago
source link: https://www.physixfan.com/yongkailipanjuwanzhuanqianwenzhongdeyigeyouqudexiaoshuxueyouxi/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

用凯利判据玩转前文中的“一个有趣的小数学游戏”

作者: physixfan

在《为什么频繁交易的人大多数在股市上都赔钱了?一个有趣的小数学游戏也许可以解答 》中我写道了如下有趣的小数学游戏:

假设有这么一家赌场提供了这么一个你可以玩无穷多次的游戏:扔一个硬币,若正面向上,则你的资产变成当下的 1.2 倍;若反面向上,则你的资产变成当下的 0.83 倍。你会选择玩这个游戏吗?

在那篇文章中,我做了个简单的模拟,验证了一下这个游戏会出现的结果:绝大多数玩家玩到最后都归零了,只有极少数玩家能够赢得超过本金的钱,而赢得最多的那个人的最终资产远远超过其他人很多很多。

但若改动一个游戏条件,这个游戏就变得更加有趣了:若玩家可以自己选择投注金额呢?玩家应该如何投注才是最佳方案?

直观的想:如果每次都押注100%金额,那其实就回到了一开始那个不能自己选投注金额的游戏,虽然每次玩收益很大,却有非常大的风险最后归零;如果每次都押注太小,那显然回报会很低。最佳的投注比例一定是平衡了这二者的。事实上这个新的游戏的最佳玩法,正是大名鼎鼎的凯利判据 (Kelly Criterion)阅微堂对凯利判据的讲解也很不错)。凯利判据就是通过最大化资金的log函数的期望而得到的投注比例。证明过程就略过了,基本上就是对这个函数求导就可以。最后得到的凯利判据 (Kelly Criterion)公式为:

K = (pW-qL)/WL

其中p为赢的概率 (0.5),q=1-p为输的概率 (0.5),W为赢的情况下的收益 (0.2),L为输的情况下的损失 (0.17)。在我们这个游戏中,计算得知最佳投注比例 K 约为 0.44。

于是我改动了一下模拟代码,来看看现在用凯利判据投注的话结果如何!

import numpy as np
import matplotlib.pyplot as plt
 
P = 100 # Number of players
N = 30000 # Total times played for one player
win = 1.2
lose = 0.83
Num_of_winner = 0
Money_of_the_luckiest_winner = 0.0
 
W = abs(win-1)
L = abs(lose-1)
Kelly_percentage = (0.5*W-0.5*L)/(W*L)
print(Kelly_percentage) # is about 0.44 in our case
 
for j in range(P):
    m = np.zeros(N)
    m[0] = 10000.0
    for i in range(1,N):
        if np.random.randint(2):
            m[i] = m[i-1]*win*Kelly_percentage + m[i-1]*(1-Kelly_percentage)
        else:
            m[i] = m[i-1]*lose*Kelly_percentage + m[i-1]*(1-Kelly_percentage)
 
    if m[-1]>m[0]:
        Num_of_winner += 1
    if m[-1]>Money_of_the_luckiest_winner:
        Money_of_the_luckiest_winner = m[-1]
    plt.semilogy(m)
 
 
print(Num_of_winner)
print(Money_of_the_luckiest_winner)
plt.xlabel('Times played')
plt.ylabel('Money')
plt.show()

这下100个玩家全部最终资产大于初始本金了,最幸运的玩家最终的资产都是10^60+这种量级了… 在对数坐标轴下,所有玩家的资产都几乎直线上涨了。

不知你是否有跟我一开始一样的一个疑惑:如果只是选择一个固定的投注比例,似乎只是让这个游戏每次赢的少了点,输的也少了点而已,为什么仅仅如此选择一个投注比例就可以扭转归零的颓势了呢?其实具体把数字计算一下就明白了:原本赢则变1.2倍,输则变0.83倍的游戏,若固定44%的投注比例,就变成了赢则变1.088倍,输则变0.9252倍。1.088*0.9252是多少呢?1.0066176!大于1了!这就解释的通为啥所有玩家的资产都纷纷上涨了。

凯利判据貌似在投资中挺有用的,本文这个简单的小数学游戏也算是给大家一个直观印象了吧!

//感谢zhiqiang提供的宝贵讨论!

Share your thoughts, post a comment.

Name (required) Email (required) Website Comment

Note: HTML is allowed. Your email address will never be published.

Subscribe to comments


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK