导航:首页 > 编程语言 > 蒙特卡洛计算概率代码python

蒙特卡洛计算概率代码python

发布时间:2022-10-04 19:24:44

‘壹’ 蒙特卡洛预测MATLAB或者python或者C语言代码怎么写

仅凭这点信息没人能写出来的。

‘贰’ 谁有最小二乘蒙特卡洛方法的美式期权定价python程序代码

function [c,p]=ucoption(S,X,sigma,r,T,M) sig2=sigma^2; srT=sqrt(T); srTa=sigma*srT; c=0; p=0; for i=1:M ST=S*exp((r-0.5*sig2)*T+srTa*randn); c=c+max(ST-X,0); p=p+max(X-ST,0); end c=c/M; p=p/M; [Call,Put] = blsprice(S, X, r, T, ...

‘叁’ 蒙特卡洛方法

蒙特卡罗方法又称统计模拟法、随机抽样技术,是一种随机模拟方法,以概率和统计理论方法为基础的一种计算方法,是使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。

应用领域:

蒙特卡罗方法在金融工程学,宏观经济学,生物医学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算、核工程)等领域应用广泛。

‘肆’ 蒙特卡洛模拟法

蒙特卡洛模拟技术,是用随机抽样的方法抽取一组满足输入变量的概率分布特征的数值,输入这组变量计算项目评价指标,通过多次抽样计算可获得评价指标的概率分布及累计概率分布、期望值、方差、标准差,计算项目可行或不可行的概率,从而估计项目投资所承担的风险。

蒙特卡洛模拟的步骤如下:

第一步,通过敏感性分析,确定风险变量。

第二步,构造风险变量的概率分布模型。

第三步,为各输入风险变量抽取随机数。

第四步,将抽得的随机数转化为各输入变量的抽样值。

第五步,将抽样值组成一组项目评价基础数据。

第六步,根据基础数据计算出评价指标值。

第七步,整理模拟结果所得评价指标的期望值、方差、标准差和它的概率分布及累计概率,绘制累计概率图,计算项目可行或不可行的概率。

蒙特卡洛模拟程序如图7-26所示。

图7-26 蒙特卡洛模拟程序图

【实训Ⅷ】某项目建设投资为1亿元,流动资金1000 万元,项目两年建成,第三年投产,当年达产。不含增值税年销售收入为5000万元,经营成本2000万元,附加税及营业外支出每年为50万元,项目计算期12 a。项目要求达到的项目财务内部收益率为15%,求内部收益率低于15%的概率。

由于蒙特卡洛模拟的计算量非常大,必须借助计算机来进行。本案例通过手工计算,模拟20次,主要是演示模拟过程。

(1)确定风险变量。通过敏感性分析,得知建设投资、产品销售收入、经营成本为主要风险变量。流动资金需要量与经营成本线性相关,不作为独立的输入变量。

(2)构造概率分布模型。建设投资变化概率服从三角形分布,其悲观值为1.3亿元、最大可能值为1亿元、乐观值为9000万元,如图7-27所示。年销售收入服从期望值为5000万元、σ=300万元的正态分布。年经营成本服从期望值为2000万元、σ=100 万元的正态分布。

图7-27 投资三角形分布图

建设投资变化的三角形分布的累计概率,见表7-16及图7-27所示。

表7-16 投资额三角形分布累计概率表

(3)对投资、销售收入、经营成本分别抽取随机数,随机数可以由计算机产生,或从随机数表中任意确定起始数后,顺序抽取。本例从随机数表(表7-20)中抽取随机数。假定模拟次数定为k=20,从随机数表中任意从不同地方抽取三个20 个一组的随机数,见表7-17。

表7-17 输入变量随机抽样取值

(4)将抽得的随机数转化为各随机变量的抽样值。

这里以第1组模拟随机变量产生做出说明。

1)服从三角形分布的随机变量产生方法。

根据随机数在累计概率表(表7-16)或累计概率图(图7-28)中查取。投资的第1个随机数为48867万元,查找累计概率0.48 867所对应的投资额,从表7-16中查得投资额在10300与10600之间,通过线性插值可得

第1个投资抽样值=10300+300×(48867-39250)/(52000-39250)=10526万元

2)服从正态分布的随机变量产生方法。

从标准正态分布表(表7-21)中查找累计概率与随机数相等的数值。例如销售收入第1个随机数06242,查标准正态分布表得销售收入的随机离差在-1.53与-1.54之间,经线性插值得-1.5348。

图7-28 投资的累计概率分布图

第1个销售收入抽样值=5000-1.5348×300≈4540万元。

同样,经营成本第一个随机数66 903相应的随机变量离差为0.4328,第一个经营成本的抽样值=2000+100×0.4328=2043万元。

3)服从离散型分布的随机变量的抽样方法。

本例中没有离散型随机变量。另举例如下,据专家调查获得的某种产品售价的概率分布见表7-18。

表7-18 某种产品售价的概率分布

根据上表绘制累计概率如图7-29所示。

若抽取的随机数为43252,从累计概率图纵坐标上找到累计概率为0.43252,划一水平线与累计概率折线相交的交点的横坐标值125元,即是售价的抽样值。

(5)投资、销售收入、经营成本各20个抽样值组成20组项目评价基础数据。

(6)根据20组项目评价基础数据,计算出20 个计算项目评价指标值,即项目财务内部收益率。

(7)模拟结果达到预定次数后,整理模拟结果按内部收益率从小到大排列并计算累计概率,见表7-19所示。

从累计概率表可知内部收益率低于15%的概率为15%,内部收益率高于15%的概率为85%。

图7-29 售价累计概率曲线

表7-19 蒙特卡洛模拟法累积概率计算表

①每次模拟结果的概率=1/模拟次数。

‘伍’ 下面的问题用蒙特卡洛模拟如何实现啊,想了解个基本过程

蒙特卡洛的基本原理就是通过计算机的计算能力进行大量实验。实验样本到达一定数量后,能得出接近结果的数值解。这个题目可以通过计算直接得出结果接近于正态分布,但可以用excel简单的说明下蒙特卡洛方法。
用excel的步骤基本如下:

1、第一列拉出各周期编号1至1000。(假设都是从第一行开始)
2、第二列作为随机种子,B1输入=rand()
3、第三列为根据既定价格及概率p值(回答里写的p值,但输入时应该是具体数值)判断购买与否,C1输入=if(B1<p,1,0)
4、第四列、五列展示周期开始、结束时剩余货物,即D1为50,E1输入=max(D1-C1,0),而后D2输入=E1,E2输入=max(D1-C1,0)。
5、每一列对应下拉(四、五列从第二行开始下拉)。
按这个步骤的话,就得出一个既定价格下,剩余产品数量随时间变化的表。
至于最后的利润也是可以根据这个算的。
不过以上的过程是基于对每个周期买的概率进行1000次蒙特卡洛模拟。
如果模拟的是这1000次周期的结果,那就直接用一列到位,对多列的结果进行统计。
第1列仍然编号,第2列直接整合上述234步,表示该周期初始货物存货,第1行50,第二行B2输入=IF(RAND()<p,MAX(B1-1,0),B1),这里用的p仍然是数值的表示,比如说概率是0.7,实际应该输入=IF(RAND()<0.7,MAX(B1-1,0),B1)
下拉,出现到1000步的初始货物存货,根据要求实际上是1000步后的结果,可以拉到1001行。这就用单列表示了整个货物变化过程,如果想要更多1000步的不同结果,把整个b列右拉即有更多结果。

‘陆’ 如何用python的蒙特卡洛模拟生成新的数据

生成1~10的随机数1000个:
import random
fp = open("test", 'w');
for i in range(1, 1000):
a = random.randint(1,10)
fp.write(str(a)+"\n");
fp.close();

注意:写入文件的不会在最后写入,而是重新写文件。

‘柒’ 你好😃😃 想问一下怎么用Python编一个 同时投12个骰子 计算至少有两次

importnumpyasnp
'''蒙特卡洛方法'''
epoch=10000#模拟10000次
count=0#计数
foriinrange(epoch):
dice_12=np.random.randint(6,size=12)+1#模拟每次投12个骰子
ifdice_12[dice_12==6].size>=2:count+=1
print('同时投12个骰子,至少两个骰子六点的概率为{}'.format(count/epoch))


‘捌’ 蒙特卡洛算法

蒙特·卡罗方法(Monte
Carlo
method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。与它对应的是确定性算法。蒙特·卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用广泛。
分子模拟计算
使用蒙特·卡罗方法进行分子模拟计算是按照以下步骤进行的:1.
使用随机数发生器产生一个随机的分子构型。2.
对此分子构型的其中粒子坐标做无规则的改变,产生一个新的分子构型。3.
计算新的分子构型的能量。4.
比较新的分子构型于改变前的分子构型的能量变化,判断是否接受该构型。若新的分子构型能量低于原分子构型的能量,则接受新的构型,使用这个构型重复再做下一次迭代。
若新的分子构型能量高于原分子构型的能量,则计算玻尔兹曼因子,并产生一个随机数。若这个随机数大于所计算出的玻尔兹曼因子,则放弃这个构型,重新计算。
若这个随机数小于所计算出的玻尔兹曼因子,则接受这个构型,使用这个构型重复再做下一次迭代。5.
如此进行迭代计算,直至最后搜索出低于所给能量条件的分子构型结束。

‘玖’ 蒙特卡罗方法求概率和分位数

蒙特卡罗方法求概率和分位数技巧如下(以下是例子,同学们要学会举一反三):

如:蒙特卡罗方法中根据 Nagel-Schreckenberg 模型,车辆的运动满足以下规则。

1、当前速度是 v 。

2、如果前面没车,它在下一秒的速度会提高到 v + 1 ,直到达到规定的最高限速。

3、如果前面有车,距离为d,且 d < v,那么它在下一秒的速度会降低到 d – 1 。

4、此外,司机还会以概率 p 随机减速, 将下一秒的速度降低到 v – 1 。在一条直线上,随机产生100个点,代表道路上的100辆车,另取概率 p 为 0.3 。该模型会随机产生交通拥堵(图形上黑色聚集的部分)。这就证明了,单车道即使没有任何原因,也会产生交通堵塞。

蒙特卡罗方法由来

蒙特卡罗方法是一种计算方法。原理是通过大量随机样本,去了解一个系统,进而得到所要计算的值。它非常强大和灵活,又相当简单易懂,很容易实现。

对于许多问题来说,它往往是最简单的计算方法,有时甚至是唯一可行的方法。它诞生于上个世纪40年代美国的”曼哈顿计划”,名字来源于赌城蒙特卡罗,象征概率。

‘拾’ python蒙特卡洛计算圆周率耗时比较

1. 请指明python版本

2. 如果有错,请贴出报错信息
3. 如果不是程序异常,而是有逻辑错误,请说明你希望的逻辑和程序运行时实际的逻辑

阅读全文

与蒙特卡洛计算概率代码python相关的资料

热点内容
午马全部电影名字韩剧 浏览:572
命令方块如何喷方块 浏览:609
程序员都年薪几十万吗 浏览:211
台湾电影补课老师,强上女学生电影叫什么 浏览:132
浏览器加密套件 浏览:439
jsphp传参数 浏览:641
欧美电影推荐大尺码 浏览:375
微信文件夹找用户名 浏览:30
武动干坤同人小说免费阅读 浏览:616
怎么找小度语音app 浏览:160
车险具体折扣算法 浏览:367
时借时花app怎么找不到了 浏览:740
压缩图片500k 浏览:243
程序员笔记本选锐龙r7400u 浏览:353
服务器如何查看cpu配置 浏览:615
北京复盛压缩机 浏览:89
烟台汽车空调压缩机 浏览:389
pythonopencvdct 浏览:27
h3c接口配置命令 浏览:780
安卓手机怎么连接不上苹果耳机 浏览:153