月度归档:2014年03月

死角理论的python程序证明

以赌徒扔骰子引出我们的问题,赌徒连续压小,那么连续出现7次大的几率是多少呢?
简化一点:假设骰子只有大小两个数,扔10次为一局,那么一局里出现连续7次大的几率是多少呢?
如果扔100次呢?

于是编写python程序来计算此概率,结果是:

连续仍骰子测试
每10把里连续碰到7次开大!模拟1万次,出现221次 ,出现几率2.21 %
每100把里连续碰到7次开大!模拟1万次,出现3118次 ,出现几率31.18 %

可以看到10次碰到的几率大约2%,100次里碰到的几率为30%左右,这个概率非常大了。 换言之,3个赌徒,每赌100次大小,就有一个人碰到连续7次大!

回到股市里来,我们知道股市里讲究大赚小赔,但实际上成功率却很难提高很多,因为成功率提高太多会影响总收益的大小。假设成功率为50%,那么每100次操作,就有30%的几率出现7连亏! 7连亏是什么概念? 即使每次只亏损10%,最终也会亏掉52%! 而股市的年收益率是多少呢? 巴菲特是24%,彼得林奇是29%,王亚伟是18%,要想把亏损回本,这几位都要3年以上的投资才行。所以一定要把7连亏的概率大大降低才行。

这就是君山老师提到的死角理论,投资难免碰到连续做错连续止损的情况。很多模拟跑的很好的程序化,实盘一检验,碰到一次7连亏,可能就废了。而投资者,更是很难规避掉几年(大亏一次)一轮回的宿命。

降低或解决死角的方法:
多市场 多品种 多周期 多方法 组合投资 降低操作频率

至少要把死角出现的几率 降低到百年一遇才行!

ps,又做了几次测试,7连亏的几率为:
10次 2.21%
100次 31.18%
150次 43.29%
200次 54.47%
300次 69.60%

源代码如下:

# -*- coding: UTF-8 -*-.

import random

a=0
b=0
c=0
def db(x):
  tmp=0

  for i in range(1,x+1,1):
    a=random.randrange(1,3)
    #print (a),
    #if a=
    if a > 1 :
        tmp=tmp+1
    if a < 2 :
        tmp=0
    if tmp ==7:
        return 1
  return 0

for i in range (1,10001,1):
    if db(10):
        b=b+1
for i in range (1,10001,1):
    if db(100):
        c=c+1

print ("连续仍骰子测试")
print ("每10次里连续碰到7次开大!模拟1万局,出现%d次 ,出现几率%.2f %% " % (b,b/100) )
print ("每100次里连续碰到7次开大!模拟1万局,出现%d次 ,出现几率%.2f %% " % (c,c/100) )

大家可以到粉笔网站执行python代码:

http://www.fenby.com/index

注册后,点首页上的“闪电编程”,语言里选择最后一个:python

然后把代码拷贝进去,再点击运行按钮,就可以了!

 

2014.5.5日补充:

死角理论,是首次提出。不过一种理论不管提出还是没有人提出,它一直在起作用。

而解决方案,不管找到还是没找到,也一直存在并起着作用。

解决方案不外两大类:内部专研以及外部借力!

就像企业经营一样,内部抓管理经营/研发/风控,可以规避很多破产陷阱。

而很多坎,可以通过外部借力:借贷/引进人才/引进技术等解决