圣彼得堡悖论

版权声明:本文为博主原创文章,转载请注明来源 https://blog.csdn.net/qq_26948675/article/details/80774787
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Jun 22 15:15:13 2018

author: yunjinqi

Email:[email protected]

sigature:It takes significant discipline,research,diligence and patience
         to be successful at algorithmic trading.It takes months,if not years,
         to generate consistent profitability.
"""

'''
圣彼得堡悖论是数学家丹尼尔·伯努利(Daniel Bernoulli)的
表兄尼古拉·伯努利(Nicola Bernoulli)在1738提出的一个概率期望值悖论,
它来自于一种掷币游戏,即圣彼得堡游戏(表1)。
设定掷出正面或者反面为成功,游戏者如果第一次投掷成功,得奖金2元,游戏结束;
第一次若不成功,继续投掷,第二次成功得奖金4元,游戏结束;
这样,游戏者如果投掷不成功就反复继续投掷,直到成功,游戏结束。
如果第n次投掷成功,得奖金2n元,游戏结束。
按照概率期望值的计算方法,将每一个可能结果的得奖值乘以该结果发生的概率
即可得到该结果奖值的期望值。游戏的期望值即为所有可能结果的期望值之和。
随着n的增大,以后的结果虽然概率很小,但是其奖值越来越大,每一个结果的期望值均为l,
所有可能结果的得奖期望值之和,即游戏的期望值,将为“无穷大”。
按照概率的理论,多次试验的结果将会接近于其数学期望。
但是实际的投掷结果和计算都表明,多次投掷的结果,
其平均值最多也就是几十元。正如Hacking(1980)所说:“没有人愿意花25元去参加一次这样的游戏。”
这就出现了计算的期望值与实际情况的“矛盾”,问题在哪里?
实际在游戏过程中,游戏的收费应该是多少?
决策理论的期望值准则在这里还成立吗?这是不是给“期望值准则”提出了严峻的挑战?
正确认识和解决这一矛盾对于人们认识随机现象、发展决策理论和指导实际决策无疑具有重大意义。、
'''
# simulate the paradox
import pandas as pd
import numpy as np
import random
def bet_one_win_money():
    tows=[1,-1]
    times=0
    result=0
    while result!=1:
        result=random.choice(tows)
        times+=1
    return 2**times
def get_mean_money_for_many_times(n=1000):
    money=[]
    for i in range(n):
        money.append(bet_one_win_money())
    return sum(money)/len(money)
mean_money=get_mean_money_for_many_times(10000000)
print(mean_money)


猜你喜欢

转载自blog.csdn.net/qq_26948675/article/details/80774787
今日推荐