#blog2navi() ランダムな数値の動きと、累積値 †ランダムな分布(正規分布)に従う動きの累積値を調べて見た。たとえば、FXの結果を考えるのに役立つ。 正規分布に従う †たとえば、為替の動きが正規分布に従うとする。標準偏差が5%。一日の値動きが5%以内になる確率が約68%になると考える。 計算条件 †累積値の計算 †通貨の動き事態は、正規分布に従う(つまり、プラスにもマイナスにも振れるのに)、それを累積値に使うと、若干下ぶれる。 累積値と言っているものの結果は
と言う感じになる。 通貨が、上がったり下がったりする環境で、ランダムに、取引を繰り返す。 もし1000万円を正規分布に従うFXに突っ込んだら。 †もし100人の人が、1000万円を元手に、取引を1000回繰り返したら、元本(1000万)以上になる確率は、35%。元本割れになる確率は、64%。 1000万円の動きはこんな感じ 結果のヒストグラム †1000人のユーザーが、1000万円を元手に、100回取引をしたらどうなるかのヒストグラム。 最頻値が、800万円台になる。 計算プログラム †def calc(num,count): #resultnum=[num] y=num for i in range(count): k=nm(0,0.05) y=y+y*k #<-ここが肝。 #resultnum.append(y) return y#resultnum def main(): trlist=[] for _ in range(1000): trlist.append(calc(1000,100)) #k=sorted(trlist,key=lambda x:x[-1],reverse=True) d={} for c in trlist: dd=int(c/100) d.setdefault(dd,0) d[dd]+=1 for (a,b) in sorted(d.items(),key=lambda x:x[0],reverse=True): t=a*100 print '%d,%d' % (t,b) #cout=csv.writer(open('r_date.csv','wb')) #cout.writerows(k) if __name__=='__main__':main() Category: [python 統計] - 20:40:47
&blog2trackback();
#blog2navi() |