我们先获取到一组数据,某一段时间里上证300个交易日的涨跌记录,然后得出来这300行数据里,168天是上涨的,132天是下跌的。
然后得出来两个概率值a和b:
a = 168/300 = 0.56
b = 132/300 = 0.44
我们发现a+b等于1,这个就像是一个硬币的两面一样(硬币基本上不会立起来,股市也只有极小的可能真的不涨不跌,我们先不考虑小概率事件)。
那么,我们认为这段时间里,某一天股市上涨的概率是 a, 下跌的概率是 b,用二项式来表示就是
a +b
那么,两天时间里,这个涨跌情况都是怎样呢?
这就是二项式的平方:
展开二项式,得到:
再展开一点,可以看的更明白:
a表示上涨,b表示下跌,这个表达式就是表示,
两天都是上涨发生的概率是 a*a = 0.3136
两天里一天上涨一天下跌的概率是 a*b+b*a = 0.4928
两天都是下跌发生的概率是 b*b = 0.1936
我们再把三种组合发生的概率加到一起 0.3136+0.4928+0.1936 = 1
看起来有点神奇的样子。
用python来看二项式,numpy模块里有个二项式方法,在1000次里,上涨的次数会有多少:
import numpy
numpy.random.binomial(100,0.56,2)
Out[3]: array([54, 51])
numpy.random.binomial(10000,0.56,2)
Out[4]: array([5590, 5587])
numpy.random.binomial(10000,0.56,20)
Out[5]:
array([5634, 5649, 5549, 5535, 5603, 5531, 5568, 5537, 5568, 5635, 5635,
5512, 5656, 5557, 5638, 5535, 5707, 5751, 5544, 5601])
可以发现在100个交易里,偏差还是有点大的,交易日多时,就会比较接近。
然后,如果我们想知道,按这种概率,100个交易日里上涨20个交易日的概率有多大呢?
from scipy import stats
stats.binom.pmf(20,100,0.56)
Out[6]:
1.4761346486550489e-13
然后我们来点枯燥点的东西,刚才提到了二项式,那么,什么是二项式呢?
定义:
初等代数中,二项式是只有两项的多项式,即两个单项式的和。
根据定义:
就是二项式。
然后二项式有运算规则,比如与因子相乘、两个二项式相乘、二项式平方、幂、因式分解。
这里就不一一细述,大家有兴趣可以看下面的文章。
《二项式_百度百科》:https://baike.baidu.com/item/%E4%BA%8C%E9%A1%B9%E5%BC%8F/5271589?fr=aladdin