蒙特卡洛模拟计算VaR(蒙特卡洛模拟)
你们好,最近小活发现有诸多的小伙伴们对于蒙特卡洛模拟计算VaR,蒙特卡洛模拟这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。
1、 求解圆周率,在平面中随机抽样,分布着一定数量的点,点的分布服从均匀分布。通过求解点落在圆内的概率,即可求解圆的面积与平面面积的比值,而求解出圆周率。
2、 代码演示及结果
3、 x=numpy.random.uniform(0,1,100000)
4、 y=numpy.random.uniform(0,1,100000)
5、 计数=0
6、 对于范围内的我(len(x)):
7、 d=math.sqrt(幂((x[i]-0.5),2)幂((y[i]-0.5),2))
8、 如果d=0.5:
9、 计数=1
10、 PI=计数/浮点(len(x))*4
11、 delta=round((PI-math。PI)/数学。* 100,2)
12、 打印“str(len(x))”的str(count)位于圆内点:'
13、 '打印'计算出的圆周率是:'字符串(圆周率)
14、 "打印"的理论值是:" str(math.pi)
15、 "打印"的偏差是:" str(delta)% "
16、 '打印'圆的面积是:' str(count/float(len(x)))'使用蒙特卡罗。'
17、 '打印'圆的面积为:' str(round(math.pi*power(0.5,2),4))'使用理论值'
18、 从matplotlib .补丁导入圆
19、 将matplotlib.pyplot作为plt导入
20、 图=plt .图()
21、 ax=figure.add_subplot(111)
22、 ax.plot(x,y,' ro 'markersize=1)
23、 circle=Circle(xy=(0.5,0.5),半径=0.5,=0.5)
24、 ax.add_patch(圆形)
25、 plt.show()
26、 数值积分。
27、 对复杂函数的积分,可以使用此方法,误差是存在的。但是方便快捷。
28、 与第一个例子类似,也是抽样分析。分析点落在积分面积的概率。
29、 代码演示及结果
30、 a=numpy.linspace(0,1,10000)
31、 b=幂(一,2)
32、 图=plt .图()
33、 ax=figure.add_subplot(111)
34、 ax.plot(a,b,' b- ')
35、 plt.show()
36、 f=x:幂(x,2)
37、 x=numpy.random.uniform(0,1,1000000)
38、 y=numpy.random.uniform(0,1,1000000)
39、 计数=0
40、 对于范围内的我(len(x)):
41、 如果y[i]=f(x[i]):
42、 计数=1
43、 打印计数/浮动(len(x))
44、 打印1/浮动(3)
45、 人口问题模拟
46、 例如某些人生二胎是为了,生男孩,那么采用这种策略会影响男女性别比例吗?
47、 代码如下:
48、 n=10000
49、 比率=[]
50、 dic={ '男性'0,'女性'0}
51、 对于范围内的我(n):
52、 p=numpy.random.rand()
53、 如果p0.5:
54、 dic['男性']=1
55、 否则:
56、 dic['女性']=1
57、 而p0.5:
58、 p=numpy.random.rand()
59、 如果p0.5:
60、 dic['女性']=1
61、 否则:
62、 dic['男性']=1
63、 如果dic['女']!=0:
64、 ratio.append(dic['男性]/float(dic['女性']))
65、 绘图(比率,“b-”)
66、 通过模拟我们发现其实不会影响。男女比例大致为1:1
以上就是蒙特卡洛模拟这篇文章的一些介绍,希望对大家有所帮助。
免责声明:本文由用户上传,如有侵权请联系删除!
猜你喜欢
- 12-29
- 12-29
- 12-29
- 12-29
- 12-29
- 12-29
- 12-29
- 12-29
最新文章
- 12-29
- 12-29
- 12-29
- 12-29
- 12-29
- 12-29
- 12-29
- 12-29