蒙特卡洛模拟方法作业及答案(附程序)
蒙特卡洛模拟方法

该结果表明,为了实现由任意离散型分布的随机抽 样,直接抽样方法是非常理想的。
例1. 二项分布的抽样
为:
二项分布为离散型分布,其概率函数
n P( x n) Pn CN P n (1 P) N n
其中,P为概率。对该分布的直接抽 样方法如下:
X F n, 当 Pi Pi
1707-1788
1777年,古稀之年的蒲丰在家中请来 好些客人玩投针游戏(针长是线距之半), 他事先没有给客人讲与π 有关的事。客人 们虽然不知道主人的用意,但是都参加了 游戏。他们共投针2212次,其中704次相交。 蒲丰说,2212/704=3.142,这就是π 值。 这着实让人们惊喜不已。
统计分析,估计 均值,标准差
X
模型建立的两点说明
Monte Carlo方法在求解一个问题是,总 是需要根据问题的要求构造一个用于求 解的概率统计模型,常见的模型把问题 的解化为一个随机变量 X 的某个参数 的估计问题。 要估计的参数 通常设定为 X 的数学 期望(亦平均值,即 E( X ) )。按 统计学惯例, 可用 的样本 ( X1, X 2, ...X n ) 1 X X 的平均值来估计,即 n
离散型分布的直接抽样方法
对于任意离散型分布:
F ( x) Pi
xi x
其中 x1 , x2 , … 为离散型分布函数的跳跃点, P1 , P2,… 为相应的概率,根据前述直接抽样法,有离散型 分布的直接抽样方法如下:
X F xI , 当 Pi Pi
i=1 i=1 I-1 I
因此,可以通俗地说,蒙特卡罗方法是用随机试 验的方法计算积分,即将所要计算的积分看作服从某 种分布密度函数f(r)的随机变量g(r)的数学期望
数学建模蒙特卡洛模拟方法详细案例

数学建模蒙特卡洛模拟方法详细案例
数学建模中的蒙特卡洛模拟方法是一种基于随机数生成和概率统计的方法,可以用于求解各种复杂的问题。
下面是一个详细的案例,以帮助你更好地理解蒙特卡洛模拟方法的应用。
案例:估计圆周率
假设我们要求解圆周率(π)的值。
我们可以使用蒙特卡洛模拟方法来估计π的值。
1. 定义问题的概率模型:在这个案例中,我们使用一个简单的概率模型,即在一个边长为1的正方形内随机生成点,并计算这些点到正方形中心的距离。
2. 生成随机数:使用随机数生成器生成一系列的随机数,这些随机数代表点在正方形内的坐标。
3. 计算点到中心的距离:对于每个生成的点,计算它到正方形中心的距离。
4. 计算落在圆内的点的比例:将落在半径为1的圆内的点的数量除以总的点数。
这个比例近似于圆的面积与正方形的面积之比,也就是π/4。
5. 通过比例求解π:将步骤4中的比例乘以4,即可得到π的近似值。
通过多次重复上述步骤并取平均值,可以进一步提高估计的准确性。
需要注意的是,蒙特卡洛模拟方法是一种基于随机数生成和概率统计的方法,其结果具有一定的随机性和误差。
因此,在应用蒙特卡洛模拟方法时,需要选择合适的随机数生成器和概率模型,以确保结果的准确性和可靠性。
第二章蒙特卡洛方法习题2012

第二章蒙特卡洛方法
2.1 简要叙述蒙特卡洛方法的基本思想。
2.2 蒙特卡洛方法对随机数有较高的要求,然而实际应用的随机数通常都是通过某些数学公式计算而产生的伪随机数,但是,只要伪随机数能够通过随机数的一系列的统计检验,我们就可以把它当作真随机数放心使用。
在产生伪随机数的方法中,有比较经典的冯·诺曼平方取中法和线性同余法,请分别写出它们的递推关系式?对于伪随机数一般需要做哪些统计检验(至少写出四个)?
2.3 蒙特卡洛方法计算中减少方差的技术有哪些?
2.4 设连续随机变量的分布密度函数为f(x),在数学上它的分布函数应当为。
试证明得到的是满足分布密度函数的一个抽样值。
2.5 若用蒙特卡罗算法计算定积分,请给出其求解原理与计算步骤。
2.6 简要叙述变分蒙特卡洛方法求解基态本征能量E0和基态本征态波函数
基本原理,并以一维情况为例说明蒙特卡洛计算步骤。
蒙特卡洛模拟

(1) 用Excel“工具>数据分析>随机数发生器”对每年收益产生100个正态分布随机数进行试验,对每次(2) 用Excel函数“=NORMINV(RAND(),均值,标准差)”对每年收益产生100个正态分布随机数进行试验(3) 对100个试验得到的净现值计算发生的频数,并用直方图表示,估计投资不可行的试验占总试验次(4) 四年收益的标准差变更为1万元,2万元,3万元,4万元,再次进行以上计算。
(5) 如果资金贴现率分别为3%、4%、5%、6%和7%,用Excel模拟运算表求上项目可行的概率。
(6) 用Excel“规划求解”计算这个项目的内部回收率IRR。
第一题序号第一年第二年第三年第四年NPV126.858841.0932945.5061270.82242-4.401618803229.7790144.1114455.8178667.303937.130081423330.2143839.6273854.3214867.24714 2.138193408426.3303337.5612950.0221878.57272 2.168781478526.398235.4323750.295475.6665-1.852508993632.9036544.6338447.3705166.90074 2.950918665727.3541332.215245.7839670.36005-12.12294677833.886237.3027247.8293467.15498-2.15735567924.6692741.2947953.6350566.39096-2.9278218391033.4842737.4036550.6585672.9427 4.7569743841128.7508335.6817146.4745773.62793-4.3634676411229.5034439.1975152.5720362.40429-4.4242592181330.4956131.0937947.5557270.61294-8.4096427061429.3952140.826347.7023669.27436-1.6045515491532.2991840.9974549.7141173.59515 6.6089205511629.9664236.9868651.1542865.13032-4.970456421733.2595244.5669149.0956366.56644 4.4443286241829.0915840.7960753.4921670.03117 3.7029308371929.7503542.8735148.6868772.27656 3.9109290012029.3332537.7311450.3887670.092-1.4776805922126.6140133.7116950.9213277.27673-1.342243882228.7077741.0373255.3331370.2156 5.2982415872331.4916840.2114251.1884576.790319.0291773172430.684443.9981752.7371871.091258.3442471592531.3614437.6035248.2618668.90875-2.4725859322627.0494640.744653.7384671.26903 2.9425231832728.655136.9466850.7907676.36858 2.6759545222829.221734.560948.5311667.94694-7.8288337032930.0130837.153646.6171873.65136-1.68380232 3027.4011241.1254852.8674269.15625 1.132279002 3129.7248939.3501849.2942569.81464-0.80983543 3230.5356339.9746456.706259.99592-1.146467719 3328.3928541.5477450.0460567.43178-1.396139516 3430.1441739.4893355.474168.09626 3.640365411 3529.9890641.3945152.2226167.65236 2.046735096 3629.2350541.5228944.6264166.27231-6.252174379 3729.6135140.3455851.1590664.3538-2.894810938 3827.0426338.5482151.7049175.33785 2.534602865 3931.4354939.9482548.1102677.61638 6.757506914 4030.5969441.0790849.0062573.19062 4.117493893 4128.6439537.8577445.5586566.42413-9.209322227 4228.8154540.4140645.9129669.43905-3.940888423 4329.5996336.1340149.6462775.46398 1.105521978 4431.825433.4367454.5308867.881-1.240219696 4527.3603633.9456852.9083272.46835-2.65862733 4629.8972235.0328853.7899266.37804-3.505407325 4729.1736139.108951.298670.163540.464772187 4828.7850544.7031644.8326966.53976-3.39793522 4931.2495441.226145.2272476.96366 4.712012775 5030.9554940.794446.0973763.1043-6.610080329 5134.9981536.9792542.0547664.91371-8.223942637 5230.4219442.375735.5551968.12092-10.66349577 5331.4153737.1398946.8890372.33825-1.206188246 5429.3316438.5409946.5621678.93187 3.222372633 5530.9961637.1144851.4796573.04475 2.91830813 5627.2527741.8503853.9761875.922538.1729226 5732.7996537.6785544.3695572.44849-1.484977305 5830.4394834.7798640.845164.21112-16.18340968 5932.681942.1086348.7094574.323367.712531538 6033.1768839.5235259.2147171.7556812.8015688 6129.4270138.179541.0093969.47983-9.587593623 6228.7111640.4936954.9468672.5486 6.394069786 6325.9938240.54447.0146269.48252-5.522872977 6427.7467240.3319548.3168470.34432-2.211855697 6530.0485837.4381942.8785168.78462-8.625351752 6627.3745539.2338446.8562170.45445-4.733471906 6728.1571337.5854847.2508267.74675-7.370028166 6832.3233538.5934652.6086469.74955 3.788063388 6926.2745639.7199645.7399872.57783-4.557494256 7025.6177642.7907353.5444273.5655 5.156599731 7130.7187338.0757743.8084172.12444-3.857840591 7231.7422837.6261849.49769.07077-0.889070334 7329.2483740.6799251.8477777.962548.85155971 7430.0493537.1104755.2917375.159357.04564493 7529.2111340.6153251.9072171.96557 3.8751361227629.3347140.9119954.251470.07478 4.731356951 7732.0569831.5316651.6208465.76162-7.005067432 7831.8784943.2464748.1641473.02084 6.436778379 7934.2681138.13650.3061473.22351 6.094337068 8031.299440.7609450.5360264.79353-1.088890423 8131.4032145.0684347.5770867.88017 2.90033973 8229.3985838.3632244.5453473.6339-2.975988922 8329.2221937.3996447.0488767.62071-6.802391291 8432.2803243.6919743.079865.60843-3.266702048 8531.1690941.313248.7007567.925270.279031016 8629.1326133.5219844.8164462.17835-16.81075792 8728.8725940.3229547.0617169.83493-2.651081559 8831.6523544.4196842.0437472.24267 1.358313112 8929.6648338.9206846.7886770.10118-3.185294688 9030.9460738.4841642.1218176.67758-0.981984224 9134.0141837.8118852.7132566.2389 1.891611765 9232.4184937.6505851.8822270.02467 2.622287151 9330.0625138.2499147.0287464.47938-7.832633155 9432.0820741.0741844.1296577.50833 4.867058542 9532.1869841.0171244.743372.73241 1.516147088 9628.4474142.2645954.1788971.15283 5.937439654 9726.7941539.7607346.0746572.23887-4.015434531 9827.4842735.842953.0911472.3063-0.79517701 9934.2474739.9367754.5071362.74087 2.712903352 10030.8574847.7138649.9836372.296110.49194327态分布随机数进行试验,对每次试验计算净现值。
MonteCarlo模拟

Lewis算法既通过了直方图检验,又通过了相关性检验。
13
三、按概率分布抽样
模 拟
模拟次数k:如1000次。
19
五、Monte Carlo模拟结果的分析
描述n的概率分布情况:
平均值、标准方差、分布密度、分布函数
✓ 期望,用所有的n的和除以n的个数,则得n的平均值。 类似的方法可求得方差。
✓ 分布密度和分布函数可由直方图得到。
✓ 直方图:分成若干个小区间,如100~109,110~119,
落入不规则图形内的飞镖数与落入正方形内的总飞镖数的比 值就越接近μ。
8
Monte Carlo模拟依靠计算机产生的随机数来模拟实际系统。
产生[0,1]区间内均匀分布的随机数。用两个随机数表示一 个点在正方形上的具体位置,判断该点是否落在不规则图形 内。记录落在不规则图形内部的点数和试验的总次数,两者 比值就是μ。
6
什么是Monte Carlo模拟? 随机数生成器 按概率分布抽样 Monte Carlo模拟的流程 Monte Carlo模拟结果的分析 编程模拟
7
一、什么是Monte Carlo模拟?
例 计算一个正方形中的不规则图形的面积。
模型:Ai = μAs = μs2,其中0≤μ≤1。 Monte Carlo方法的本质:在随机情况下,如果投的足够多,
采用Monte Carlo模拟,获得n的概率密度函数和分布函 数,并计算n的平均值和标准方差。
比较这三种方法的结果,并比较每种方法的精度及 其能够提供的信息。
数学建模蒙特卡洛法例题

蒙特卡洛方法是一种基于随机抽样的数学建模和计算方法,常常用于估算复杂问题的数值解。
以下是一个用蒙特卡洛方法解决的简单例题:问题:估算圆周率π的值假设我们想使用蒙特卡洛方法来估算圆周率π的值。
我们可以通过在一个正方形内随机生成点,并计算落在一个四分之一圆内的点的比例来实现这一目标。
在一个边长为2R的正方形内(R是半径)生成随机点的坐标。
对于每个点,计算它到原点的距离(使用欧几里得距离公式:√(x² + y²))。
如果该距离小于等于半径R,说明点落在四分之一圆内。
统计落在四分之一圆内的点的数量。
使用以下公式估算圆周率π的值:π≈ 4 * (四分之一圆内的点数) / (总点数)。
Python代码示例:import randomdef monte_carlo_pi(num_samples):inside_circle = 0for _ in range(num_samples):x = random.uniform(-1, 1)y = random.uniform(-1, 1)distance = x**2 + y**2if distance <= 1:inside_circle += 1pi_estimate = 4 * inside_circle / num_samplesreturn pi_estimate# 使用10000个随机点估算π的值num_samples = 10000estimated_pi = monte_carlo_pi(num_samples)print(f"估算的π值为: {estimated_pi}")通过增加生成随机点的数量(num_samples),您可以提高估算π值的精度。
蒙特卡洛方法的优点之一是,它的精度随着样本数量的增加而提高,因此可以灵活地控制估算的准确性。
这个例子演示了如何使用蒙特卡洛方法估算π的值,但这个方法也可以应用于解决各种其他复杂问题。
蒙特卡罗法

统计学模拟法之一
01 概念
03 优缺点 05 应用举例
目录
02 基本思路 04 步骤
蒙特卡罗法也称统计模拟法、统计试验法。是把概率现象作为研究对象的数值模拟方法。是按抽样调查法求 取统计值来推定未知特性量的计算方法。蒙特卡罗是摩纳哥的著名赌城,该法为表明其随机抽样的本质而命名。 故适用于对离散系统进行计算仿真试验。在计算仿真中,通过构造一个和系统性能相近似的概率模型,并在数字 计算机上进行随机试验,可以模拟系统的随机特性。
解:希望能用某种方法把我方将要对敌人实施的20次打击结果显示出来,确定有效射击的比率及毁伤敌方火 炮的平均值。这是一个概率问题,可以通过理论计算得到相应的概率和期望值。但这样只能给出作战行动的最终 静态结果,而显示不出作战行动的动态过程。
为了显示我方20次射击的过程,必须用某种方式模拟出以下两件事:一是观察所对目标的指示正确或不正确; 二是当指示正确时,我方火力单位的射击结果。对第一件事进行模拟试验时有两种结果,每一种结果出现的概率 都是1/2。因此,可用投掷1枚硬币的方式予以确定。当硬币出现正面时为指示正确,反之为不正确。对第二件事 进行模拟试验时有3种结果,毁伤1门火炮的可能为1/3,毁伤2门火炮的可能为1/6,没能毁伤敌火炮的可能为1/2。 这时,可用投掷骰子的办法来确定,如果出现的是1、2、3三个点则认为没能击中敌人,如果出现的是4、5点则 认为毁伤敌1门火炮,如果出现6点则认为毁伤敌2门火炮。
应用举例
在我方某前沿防守地域,敌人以1个炮兵排(含两门火炮)为单位对我方进行干扰和破坏。为躲避我方打击, 敌方对其指挥所进行了伪装并经常变换射击地点。经过长期观察发现,我方指挥所对敌方目标的指示有50%是准 确的,而我方火力单位在指示正确时,有1/3的射击效果能毁伤敌人1门火炮,有1/6的射击效果能全击的过程动态地显现出来。
蒙特卡洛模拟计算var例题

蒙特卡洛模拟计算var例题
蒙特卡洛模拟是一种基于随机抽样的数值计算方法,可以用来
估计复杂系统的性质,比如金融领域中的价值-at-risk (VaR)。
VaR
是用来衡量金融资产或投资组合在一定时间内可能出现的最大亏损,通常以一定的置信水平来表示。
蒙特卡洛模拟可以用来估计资产或
投资组合的VaR。
假设我们要使用蒙特卡洛模拟来计算某个投资组合的VaR。
首先,我们需要确定投资组合的收益率的概率分布。
然后,我们可以
通过随机抽样生成大量的可能的未来收益率路径。
接着,我们对这
些路径进行模拟,计算投资组合在未来一定时间内可能出现的亏损。
最后,我们可以根据这些模拟结果来估计投资组合在特定置信水平
下的VaR。
在进行蒙特卡洛模拟时,需要考虑的因素包括,投资组合的收
益率分布假设、抽样路径的数量、时间段的选择、模拟的时间步长等。
这些因素都会影响最终的模拟结果。
除了计算VaR,蒙特卡洛模拟还可以用来估计其他金融衍生品
的价格、风险敞口等。
它的优点在于可以处理复杂的金融模型和市
场情景,但缺点是计算量大,需要大量的随机抽样和计算,运行时间较长。
总的来说,蒙特卡洛模拟是一种强大的数值计算方法,可以用来估计金融领域的各种风险指标,包括VaR。
通过合理的模拟设计和参数选择,可以得到比较准确的估计结果,帮助投资者和风险管理者更好地理解和管理风险。