文档库 最新最全的文档下载
当前位置:文档库 › 蒙特卡洛模拟法简介

蒙特卡洛模拟法简介

蒙特卡洛模拟法简介
蒙特卡洛模拟法简介

蒙特卡洛模拟法简介

蒙特卡洛(Monte Carlo)模拟是一种通过设定随机过程,反复生成时间序列,计算参数估计量和统计量,进而研究其分布特征的方法。具体的,当系统中各个单元的可靠性特征量已知,但系统的可靠性过于复杂,难以建立可靠性预计的精确数学模型或模型太复杂而不便应用时,可用随机模拟法近似计算出系统可靠性的预计值;随着模拟次数的增多,其预计精度也逐渐增高。由于涉及到时间序列的反复生成,蒙特卡洛模拟法是以高容量和高速度的计算机为前提条件的,因此只是在近些年才得到广泛推广。

这个术语是二战时期美国物理学家Metropolis执行曼哈顿计划的过程中提出来的。

蒙特卡洛模拟方法的原理是当问题或对象本身具有概率特征时,可以用计算机模拟的方法产生抽样结果,根据抽样计算统计量或者参数的值;随着模拟次数的增多,可以通过对各次统计量或参数的估计值求平均的方法得到稳定结论。

蒙特卡洛模拟法的应用领域

蒙特卡洛模拟法的应用领域主要有:

1.直接应用蒙特卡洛模拟:应用大规模的随机数列来模拟复杂系统,得到某些参数或重要指标。

2.蒙特卡洛积分:利用随机数列计算积分,维数越高,积分效率越高。

3.MCMC:这是直接应用蒙特卡洛模拟方法的推广,该方法中随机数的产生是采用的马尔科夫链形式。

蒙特卡洛模拟法的概念

(也叫随机模拟法)当系统中各个单元的可靠性特征量已知,但系统的可靠性过于复杂,难以建立可靠性预计的精确数学模型或模型太复杂而不便应用则可用随机模拟法近似计算出系统可靠性的预计值。随着模拟次数的增多,其预计精度也逐渐增高。由于需要大量反复的计算,一般均用计算机来完成。

蒙特卡洛模拟法求解步骤

应用此方法求解工程技术问题可以分为两类:确定性问题和随机性问题。解题步骤如下:

1.根据提出的问题构造一个简单、适用的概率模型或随机模型,使问题的解对应于该模型中随机变量的某些特征(如概率、均值和方差等),所构造的模型在主要特征参量方面要与实际问题或系统相一致

2 .根据模型中各个随机变量的分布,在计算机上产生随机数,实现一次模拟过程所需的足够数量的随机数。通常先产生均匀分布的随机数,然后生成服从某一分布的随机数,方可进行随机模拟试验。

3. 根据概率模型的特点和随机变量的分布特性,设计和选取合适的抽样方法,并对每个随机变量进行抽样(包括直接抽样、分层抽样、相关抽样、重要抽样等)。

4.按照所建立的模型进行仿真试验、计算,求出问题的随机解。

5. 统计分析模拟试验结果,给出问题的概率解以及解的精度估计。

在可靠性分析和设计中,用蒙特卡洛模拟法可以确定复杂随机变量的概率分布和数字特征,可以通过随机模拟估算系统和零件的可靠度,也可以模拟随机过程、寻求系统最优参数等。

蒙特卡洛模拟法的实例

资产组合模拟:

假设有五种资产,其日收益率(%)分别为

0.02460.0189 0.0273 0.0141 0.0311

标准差分别为

0.95091.4259, 1.5227, 1.1062, 1.0877

相关系数矩阵为

1.0000 0.4403 0.4735 0.4334 0.6855

0.4403 1.00000.7597 0.7809 0.4343

0.4735 0.75971.0000 0.6978 0.4926

0.4334 0.78090.6978 1.0000 0.4289

0.6855 0.43430.4926 0.4289 1.0000

假设初始价格都为100,模拟天数为504天,模拟线程为2,程序如下%run.m

ExpReturn = [0.0246 0.0189 0.0273 0.0141 0.0311]/100; %期望收益

Sigmas = [0.9509 1.4259, 1.5227, 1.1062, 1.0877]/100;%标准差Correlations = [1.0000 0.4403 0.4735 0.4334 0.6855

0.4403 1.00000.7597 0.7809 0.4343

0.4735 0.75971.0000 0.6978 0.4926

0.4334 0.78090.6978 1.0000 0.4289

0.6855 0.43430.4926 0.4289 1.0000

];%相关系数

ExpCov = corr2cov(Sigmas, Correlations);%协方差

StartPrice = 100;%初始价格

NumObs = 504;

NumSim = 2;

RetIntervals = 1;

NumAssets = 5;

%开始模拟

randn('state', 0);

RetExact = portsim(ExpReturn, ExpCov, NumObs, RetIntervals, NumSim);

Weights = ones(NumAssets, 1)/NumAssets;

PortRetExact = zeros(NumObs, NumSim);

for i = 1:NumSim

PortRetExact(:, i) = RetExact(:,:,i)*Weights;

end

PortExact = ret2tick(PortRetExact,repmat(StartPrice, 1, NumSim));

plot(PortExact, '-r');

层次分析法简介

层次分析法的特点是在对复杂的决策问题的本质、影响因素及其内在关系等进行深入分析的基础上,利用较少的定量信息使决策的思维过程数学化,从而为多目标、多准则或无结构特性的复杂决策问题提供简便的决策方法。尤其适合于对决策结果难于直接准确计量的场合。

在现实世界中,往往会遇到决策的问题,比如如何选择旅游景点的问题,选择升学志愿的问题等等。在决策者作出最后的决定以前,他必须考虑很多方面的因素或者判断准则,最终通过这些准则作出选择。比如选择一个旅游景点时,你可以从宁波、普陀山、浙西大峡谷、雁荡山和楠溪江中选择一个作为自己的旅游目的地,在进行选择时,你所考虑的因素有旅游的费用、旅游地的景色、景点的居住条件和饮食状况以及交通状况等等。这些因素是相互制约、相互影响的。我们将这样的复杂系统称为一个决策系统。这些决策系统中很多因素之间的比较往往无法用定量的方式描述,此时需要将半定性、半定量的问题转化为定量计算问题。层次分析法是解决这类问题的行之有效的方法。层次分析法将复杂的决策系统层次化,通过逐层比较各种关联因素的重要性来为分析、决策提供定量的依据。

层次分析法定义

所谓层次分析法,是指将一个复杂的多目标决策问题作为一个系统,将目标分解为多个目标或准则,进而分解为多指标(或准则、约束)的若干层次,通过定性指标模糊量化方法算出层次单排序(权数)和总排序,以作为目标(多指标)、多方案优化决策的系统方法,称为层次分析法。

层次分析法是将决策问题按总目标、各层子目标、评价准则直至具体的备投方案的顺序分解为不同的层次结构,然后得用求解判断矩阵特征向量的办法,求得每一层次的各元素对上一层次某元素的优先权重,最后再加权和的方法递阶归并各备择方案对总目标的最终权重,此最终权重最大者即为最优方案。这里所谓“优先权重”是一种相对的量度,它表明各备择方案在某一特点的评价准则或子目标,标下优越程度的相对量度,以及各子目标对上一层目标而言重要程度的相对量度。层次分析法比较适合于具有分层交错评价指标的目标系统,而且目标值又难于定量描述的决策问题。其用法是构造判断矩阵,求出其最大特征值。及其所对应的特征向量W,归一化后,即为某一层次指标对于上一层次某相关指标的相对重要性权值。

层次分析法的基本步骤

建立层次结构模型

在深入分析实际问题的基础上,将有关的各个因素按照不同属性自上而下地分解成若干层次,同一层的诸因素从属于上一层的因素或对上层因素有影响,同时又支配下一层的因素或受到下层因素的作用。最上层为目标层,通常只有1个因素,最下层通常为方案或对象层,中间可以有一个或几个层次,通常为准则或指标层。当准则过多时(譬如多于9个)应进一步分解出子准则层。

构造成对比较阵

从层次结构模型的第2层开始,对于从属于(或影响)上一层每个因素的同一层诸因素,用成对比较法和1—9比较尺度构造成对比较阵,直到最下层。

计算权向量并做一致性检验

对于每一个成对比较阵计算最大特征根及对应特征向量,利用一致性指标、随机一致性指标和一致性比率做一致性检验。若检验通过,特征向量(归一化后)即为权向量:若不通过,需重新构追成对比较阵。

计算组合权向量并做组合一致性检验

计算最下层对目标的组合权向量,并根据公式做组合一致性检验,若检验通过,则可按照组合权向量表示的结果进行决策,否则需要重新考虑模型或重新构造那些一致性比率较大的成对比较阵。

美国运筹学家 A.L.saaty于20世纪70年代提出的层次分析法(AnalyticHi~hyProcess,简称AHP方法),是对方案的多指标系统进行分析的一种层次化、结构化决策方法,它将决策者对复杂系统的决策思维过程模型化、数量化。应用这种方法,决策者通过将复杂问题分解为若干层次和若干因素,在各因素之间进行简单的比较和计算,就可以得出不同方案的权重,为最佳方案的选择提供依据。运用AHP方法,大体可分为以下三个步骤:

步骤1:分析系统中各因素间的关系,对同一层次各元素关于上一层次中某一准则的重要性进行两两比较,构造两两比较的判断矩阵;

步骤2:由判断矩阵计算被比较元素对于该准则的相对权重,并进行判断矩阵的一

计算权重向量

为了从判断矩阵中提炼出有用信息,达到对事物的规律性的认识,为决策提供出科学依据,就需要计算判断矩阵的权重向量。

定义:判断矩阵,如对… ,成立,则称满足一致性,并称为一致性矩阵。

一致性矩阵A具有下列简单性质:

可见,AHP方法不仅原理简单,而且具有扎实的理论基础,是定量与定性方法相结合的优秀的决策方法,特别是定性因素起主导作用的决策问题。

应用层次分析法的注意事项

如果所选的要素不合理,其含义混淆不清,或要素间的关系不正确,都会降低AHP法的结果质量,甚至导致AHP法决策失败。

为保证递阶层次结构的合理性,需把握以下原则:

1、分解简化问题时把握主要因素,不漏不多;

2、注意相比较元素之间的强度关系,相差太悬殊的要素不能在同一层次比较。

层次分析法应用实例

1、建立递阶层次结构;

2、构造两两比较判断矩阵;(正互反矩阵)

对各指标之间进行两两对比之后,然后按9分位比率排定各评价指标的相对优劣顺序,依次构造出评价指标的判断矩阵。

3、针对某一个标准,计算各备选元素的权重;

关于判断矩阵权重计算的方法有两种,即几何平均法(根法)和规范列平均法(和法)。

(1)几何平均法(根法)

计算判断矩阵A各行各个元素mi的乘积;

计算mi的n次方根;

对向量进行归一化处理;

该向量即为所求权重向量。

(2)规范列平均法(和法)

计算判断矩阵A各行各个元素mi的和;

将A的各行元素的和进行归一化;

该向量即为所求权重向量。

计算矩阵A的最大特征值?max

对于任意的i=1,2,…,n, 式中为向量AW的第i个元素

(4)一致性检验

构造好判断矩阵后,需要根据判断矩阵计算针对某一准则层各元素的相对权重,并进行一致性检验。虽然在构造判断矩阵A时并不要求判断具有一致性,但判断偏离一致性过大也是不允许的。因此需要对判断矩阵A进行一致性检验。

蒙特卡洛(Monte Carlo)模拟法

当科学家们使用计算机来试图预测复杂的趋势和事件时, 他们通常应用一类需要长串的随机数的复杂计算。设计这种用来预测复杂趋势和事件的数字模型越来越依赖于一种称为蒙特卡罗模似的统计手段, 而这种模拟进一步又要取决于可靠的无穷尽的随机数目来源。 蒙特卡罗模拟因摩纳哥著名的赌场而得名。它能够帮助人们从数学上表述物理、化学、工程、经济学以及环境动力学中一些非常复杂的相互作用。数学家们称这种表述为“模式”, 而当一种模式足够精确时, 他能产生与实际操作中对同一条件相同的反应。但蒙特卡罗模拟有一个危险的缺陷: 如果必须输入一个模式中的随机数并不像设想的那样是随机数, 而却构成一些微妙的非随机模式, 那么整个的模拟(及其预测结果)都可能是错的。 最近, 由美国佐治亚大学的费伦博格博士作出的一分报告证明了最普遍用以产生随机数串 的计算机程序中有5个在用于一个简单的模拟磁性晶体中原子行为的数学模型时出现错误。科学家们发现, 出现这些错误的根源在于这5个程序产生的数串其实并不随机, 它们实际上隐藏了一些相互关系和样式, 这一点只是在这种微小的非随机性歪曲了晶体模型的已知特 性时才表露出来。贝尔实验室的里德博士告诫人们记住伟大的诺伊曼的忠告:“任何人如果相信计算机能够产生出真正的随机的数序组都是疯子。” 蒙特卡罗方法(MC) 蒙特卡罗(Monte Carlo)方法: 蒙特卡罗(Monte Carlo)方法,又称随机抽样或统计试验方法,属于计算数学的一个分支,它是在本世纪四十年代中期为了适应当时原子能事业的发展而发展起来的。传统的经验方法由于不能逼近真实的物理过程,很难得到满意的结果,而蒙特卡罗方法由于能够真实地模拟实际物理过程,故解决问题与实际非常符合,可以得到很圆满的结果。这也是我们采用该方法的原因。 蒙特卡罗方法的基本原理及思想如下: 当所要求解的问题是某种事件出现的概率,或者是某个随机变量的期望值时,它们可以通过某种“试验”的方法,得到这种事件出现的频率,或者这个随机变数的平均值,并用它们作为问题的解。这就是蒙特卡罗方法的基本思想。蒙特卡罗方法通过抓住事物运动的几何数量和几何特征,利用数学方法来加以模拟,即进行一种数字模拟实验。它是以一个概率模型为基础,按照这个模型所描绘的过程,通过模拟实验的结果,作为问题的近似解。可以把蒙特卡罗解题归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。 蒙特卡罗解题三个主要步骤: 构造或描述概率过程: 对于本身就具有随机性质的问题,如粒子输运问题,主要是正确描述和模拟这个概率过程,对于本来不是随机性质的确定性问题,比如计算定积分,就必须事先构造一个人为的概率过程,它的某些参量正好是所要求问题的解。即要将不具有随机性质的问题转化为随机性质的问题。 实现从已知概率分布抽样: 构造了概率模型以后,由于各种概率模型都可以看作是由各种各样的概率分布构成的,因此产生已知概率分布的随机变量(或随机向量),就成为实现蒙特卡罗方法模拟实验的基本手段,这也是蒙特卡罗方法被称为随机抽样的原因。最简单、最基本、最重要的一个概率分布是(0,1)上的均匀分布(或称矩形分布)。随机数就是具有这种均匀分布的随机变量。随机数序列就是具有这种分布的总体的一个简单子样,也就是一个具有这种分布的相互独立的随机变数序列。产生随机数的问题,就是从这个分布的抽样问题。在计算机上,可以用物理方法产生随机数,但价格昂贵,不能重复,使用不便。另一种方法是用数学递推公式产生。这样

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

蒙特卡洛习题 1.利用蒙特卡洛计算数值积分 () ()() 1280ln 1tan x x x xe dx +++? clear all ;clc;close all ; n=1000; count=0; x=0:0.01:1; y=log((1+x).^2+(tan(x).^8)+x.*exp(x)); plot(x,y,'linewidth',2) hold on for i=1:n x1=rand; y1=rand*y(end); plot(x1,y1,'g*') pause(0.01) if y1

2.分别用理论计算和计算机模拟计算,求连续掷两颗骰子,点数之和大于6且第一次掷出的点数大于第二次掷出点数的概率。 clear all;clc;close all; count=0; n=100000; for i=1:n x=floor(rand*6+1); y=ceil(rand*6); if x+y>6&&x>y count=count+1; end end P=count/n 3.

clear all;clc;close all; count=0; n=2000; ezplot('x^2/9+y^2/36=1'); hold on ezplot('x^2/36+y^2=1'); hold on ezplot('(x-2)^2+(y+1)^2=9') for i=1:n x=rand*12-6; y=rand*12-6; plot(x,y,'gh','linewidth',2) pause(0.01) if x^2/9+y^2/36<1&&x^2/36+y^2<1&&(x-2)^2+(y+1)^2<9

蒙特卡洛方法

蒙特卡洛方法 1、蒙特卡洛方法的由来 蒙特卡罗分析法(Monte Carlo method),又称为统计模拟法,是一种采用随机抽样(Random Sampling)统计来估算结果的计算方法。由于计算结果的精确度很大程度上取决于抽取样本的数量,一般需要大量的样本数据,因此在没有计算机的时代并没有受到重视。 第二次世界大战时期,美国曼哈顿原子弹计划的主要科学家之一,匈牙利美藉数学家约翰·冯·诺伊曼(现代电子计算机创始人之一)在研究物质裂变时中子扩散的实验中采用了随机抽样统计的手法,因为当时随机数的想法来自掷色子及轮盘等赌博用具,因此他采用摩洛哥著名赌城蒙特卡罗来命名这种计算方法,为这种算法增加了一层神秘色彩。 蒙特卡罗方法提出的初衷是用于物理数值模拟问题, 后来随着计算机的快速发展, 这一方法很快在函数值极小化、计算几何、组合计数等方面得到应用, 于是它作为一种独立的方法被提出来, 并发展成为一门新兴的计算科学, 属于计算数学的一个分支。如今MC方法已是求解科学、工程和科学技术领域大量应用问题的常用数值方法。 2、蒙特卡洛方法的核心—随机数 蒙特卡洛方法的基本理论就是通过对大量的随机数样本进行统计分析,从而得到我们所需要的变量。因此蒙特卡洛方法的核心就是随机数,只有样本中的随机数具有随机性,所得到的变量值才具有可信性和科学性。

在连续型随机变量的分布中, 最基本的分布是[0, 1]区间上的均匀分布, 也称单位均匀分布。由该分布抽取的简单子样ξ1,ξ2ξ3……称为随机数序列, 其中每一个体称为随机数, 有时称为标准随机数或真随机数, 独立性和均匀性是其必备的两个特点。真随机数是数学上的抽象, 真随机数序列是不可预计的, 因而也不可能重复产生两个相同的真随机数序列。真随机数只能用某些随机物理过程来产生, 如放射性衰变、电子设备的热噪音、宇宙射线的触发时间等。 实际使用的随机数通常都是采用某些数学公式产生的,称为伪随机数。真随机数只是一种数学的理想化概念,实际中我们所接触到的和使用的都是伪随机数。要把伪随机数当成真随机数来使用, 必须要通过随机数的一系列的统计检验。 无论伪随机数用什么方法产生,它的局限性都在于这些随机数总是一个有限长的循环集合, 而且序列偏差的上确界达到最大值。所以若能产生低偏差的确定性序列是很有用的,产生的序列应该具有这样的性质, 即任意长的子序列都能均匀地填充函数空间。 人们已经产生了若干种满足这个要求的序列,如Halton序列、Faure序列、Sobol序列和Niederreiter序列等。称这些序列为拟随机数序列。伪随机序列是为了模拟随机性, 而拟随机序列更致力于均匀性。 3、蒙特卡洛方法的原理 当问题可以抽象为某个确定的数学问题时,应当首先建立一个恰当的概率模型,即确定某个随机事件A或随机变量X,使得待求的解等

蒙特卡洛模拟原理及步骤

二、蒙特卡洛模拟原理及步骤 (一)蒙特卡洛模拟原理:经济生活中存在大量的不确定与风险问题,很多确定性问题实际上是不确定与风险型问题的特例与简化,财务管理、管理会计中同样也存在大量的不确定与风险型问题,由于该问题比较复杂,一般教材对此问题涉及较少,但利用蒙特卡洛模拟可以揭示不确定与风险型问题的统计规律,还原一个真实的经济与管理客观面貌。 与常用确定性的数值计算方法不同,蒙特卡洛模拟是用来解决工程和经济中的非确定性问题,通过成千上万次的模拟,涵盖相应的可能概率分布空间,从而获得一定概率下的不同数据和频度分布,通过对大量样本值的统计分析,得到满足一定精度的结果,因此蒙特卡洛模拟是进行不确定与风险型问题的有力武器。 1、由于蒙特卡洛模拟是以实验为基础的,因此可以成为财务人员进行风险分析的“实验库”,获得大量有关财务风险等方面的信息,弥补确定型分析手段的不足,避免对不确定与风险决策问题的误导; 2、财务管理、管理会计中存在大量的不确定与风险型问题,目前大多数教材很少涉及这类问题,通过蒙特卡洛模拟,可以对其进行有效分析,解决常用决策方法所无法解决的难题,更加全面深入地分析不确定与风险型问题。 (二)蒙特卡洛模拟步骤以概率型量本利分析为例,蒙特卡洛模拟的分析步骤如下: 1、分析评价参数的特征,如企业经营中的销售数量、销售价格、产品生产的变动成本以及固定成本等,并根据历史资料或专家意见,确定随机变量的某些统计参数; 2、按照一定的参数分布规律,在计算机上产生随机数,如利用EXCEL提供的RAND函数,模拟量本利分析的概率分布,并利用VLOOKUP寻找对应概率分布下的销售数量、销售价格、产品生产的变动成本以及固定成本等参数; 3、建立管理会计的数学模型,对于概率型量本利分析有如下关系式,产品利润=产品销售数量×(产品单位销售价格-单位变动成本)-固定成本,这里需要说明的是以上分析参数不是确定型的,是依据某些概率分布存在的; 4、通过足够数量的计算机仿真,如文章利用RAND、VLOOKUP等函数进行30000次的模拟,得到30000组不同概率分布的各参数的排列与组合,由于模拟的数量比较大,所取得的实验数据具有一定的规律性; 5、根据计算机仿真的参数样本值,利用函数MAX、MIN、A VERAGE等,求出概率型量本利分析评价需要的指标值,通过对大量的评价指标值的样本分析,得到量本利分析中的利润点可能的概率分布,从而掌握企业经营与财务中的风险,为财务决策提供重要的参考。三、概率型量本利分析与比较 (一)期望值分析方法假设某企业为生产与销售单一产品的企业,经过全面分析与研究,预计未来年度的单位销售价格、销售数量、单位变动成本和固定成本的估计值及相应的概率如表1,其中销售数量单位为件,其余反映价值的指标单位为元,试计算该企业的生产利润。表1概率型量本利分析参数 项目概率数值 单位销售价格0.3 40 0.4 43 0.3 45 单位变动成本0.4 16 0.2 18 0.4 20 固定成本0.6 28000 0.4 30000

蒙特卡罗也称统计模拟方法

蒙特卡罗也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。蒙特卡罗方法的名字来源于摩纳哥的一个城市蒙地卡罗,该城市以赌博业闻名,而蒙特·罗方法正是以概率为基础的方法。与它对应的是确定性算法。 蒙特卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用广泛。 基本思想 当所求解问题是某种随机事件出现的概率,或者是某个随机变量的期望值时,通过某种“实验”的方法,以这种事件出现的频率估计这一随机事件的概率,或者得到这个随机变量的某些数字特征,并将其作为问题的解。有一个例子可以使你比较直观地了解蒙特卡罗方法:假设我们要计算一个不规则图形的面积,那么图形的不规则程度和分析性计算(比如,积分)的复杂程度是成正比的。蒙特卡罗方法是怎么计算的呢?假想你有一袋豆子,把豆子均匀地朝这个图形上撒,然后数这个图形之中有多少颗豆子,这个豆子的数目就是图形的面积。当你的豆子越小,撒的越多的时候,结果就越精确。在这里我们要假定豆子都在一个平面上,相互之间没有重叠。 工作过程 在解决实际问题的时候应用蒙特卡罗方法主要有两部分工作: 用蒙特卡罗方法模拟某一过程时,需要产生各种概率分布的随机变量。 用统计方法把模型的数字特征估计出来,从而得到实际问题的数值解。 计算步骤 使用蒙特卡罗方法进行分子模拟计算是按照以下步骤进行的: ① 使用随机数发生器产生一个随机的分子构型。 ②对此分子构型的其中粒子坐标做无规则的改变,产生一个新的分子构型。 ③计算新的分子构型的能量。 ④比较新的分子构型于改变前的分子构型的能量变化,判断是否接受该构型。 若新的分子构型能量低于原分子构型的能量,则接受新的构型,使用这个构型重复再做下一次迭代。 若新的分子构型能量高于原分子构型的能量,则计算玻尔兹曼常数,同时产生一个随机数。

蒙特卡罗方法的解题过程可以归结为三个主要步骤

蒙特卡罗方法的解题过程可以归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。 蒙特卡罗方法解题过程的三个主要步骤: (1)构造或描述概率过程 对于本身就具有随机性质的问题,如粒子输运问题,主要是正确描述和模拟这个概率过程,对于本来不是随机性质的确定性问题,比如计算定积分,就必须事先构造一个人为的概率过程,它的某些参量正好是所要求问题的解。即要将不具有随机性质的问题转化为随机性质的问题。 (2)实现从已知概率分布抽样 构造了概率模型以后,由于各种概率模型都可以看作是由各种各样的概率分布构成的,因此产生已知概率分布的随机变量(或随机向量),就成为实现蒙特卡罗方法模拟实验的基本手段,这也是蒙特卡罗方法被称为随机抽样的原因。最简单、最基本、最重要的一个概率分布是(0,1)上的均匀分布(或称矩形分布)。随机数就是具有这种均匀分布的随机变量。随机数序列就是具有这种分布的总体的一个简单子样,也就是一个具有这种分布的相互独立的随机变数序列。产生随机数的问题,就是从这个分布的抽样问题。在计算机上,可以用物理方法产生随机数,但价格昂贵,不能重复,使用不便。另一种方法是用数学递推公式产生。这样产生的序列,与真正的随机数序列不同,所以称为伪随机数,或伪随机数序列。不过,经过多种统计检验表明,它与真正的随机数,或随机数序列具有相近的性质,因此可把它作为真正的随机数来使用。由已知分布随机抽样有各种方法,与从(0,1)上均匀分布抽样不同,这些方法都是借助于随机序列来实现的,也就是说,都是以产生随机数为前提的。由此可见,随机数是我们实现蒙特卡罗模拟的基本工具。 (3)建立各种估计量 一般说来,构造了概率模型并能从中抽样后,即实现模拟实验后,我们就要确定一个随机变量,作为所要求的问题的解,我们称它为无偏估计。建立各种估计量,相当于对模拟实验的结果进行考察和登记,从中得到问题的解。 蒙特卡洛法模拟蒲丰(Buffon)投针实验-使用Matlab 2010年03月31日星期三8:47 蒲丰投针实验是一个著名的概率实验,其原理请参见此页: https://www.wendangku.net/doc/89843638.html,/reese/buffon/buffon.html 现在我们利用Matlab来做模拟,顺便说一下,这种随机模拟方法便是传说中的“蒙特-

(定价策略)期权定价中的蒙特卡洛模拟方法

期权定价中的蒙特卡洛模拟方法 期权作为最基础的金融衍生产品之一,为其定价一直是金融工程的重要研究领域,主要使用的定价方法有偏微分方程法、鞅方法和数值方法。而数值方法又包括了二叉树方法、有限差分法和蒙特卡洛模拟方法。 蒙特卡洛方法的理论基础是概率论与数理统计,其实质是通过模拟标的资产价格路径预测期权的平均回报并得到期权价格估计值。蒙特卡洛方法的最大优势是误差收敛率不依赖于问题的维数,从而非常适宜为高维期权定价。 §1. 预备知识 ◆两个重要的定理:柯尔莫哥洛夫(Kolmogorov)强大数定律和莱维一林德贝格(Levy-Lindeberg)中心极限定理。 大数定律是概率论中用以说明大量随机现象平均结果稳定性的一系列极限定律。在蒙特卡洛方法中用到的是随机变量序列同分布的Kolmogorov 强大数定律: 设12,,ξξL 为独立同分布的随机变量序列,若 [],1,2,k E k ξμ=<∞=L 则有1 1(lim )1n k n k p n ξμ→∞===∑ 显然,若12,,,n ξξξL 是由同一总体中得到的抽样,那么由 此大数定律可知样本均值1 1n k k n ξ=∑当 n 很大时以概率1收敛于

总体均值μ。 中心极限定理是研究随机变量之和的极限分布在何种情形下是正态的,并由此应用正态分布的良好性质解决实际问题。 设12,,ξξL 为独立同分布的随机变量序列,若 2 [],[],1,2,k k E D k ξμξσ=<∞=<∞=L (0,1)n k d n N ξ μ -??→∑ 其等价形式为2 1 1lim ()exp(),2n x k k n t n P x dt x ξμσ =→∞ -∞ -≤= --∞<<∞∑?。 ◆Black-Scholes 期权定价模型 模型的假设条件: 1、标的证券的价格遵循几何布朗运动 dS dt dW S μσ=+ 其中,标的资产的价格S 是时间t 的函数,μ为标的资产 的瞬时期望收益率,σ为标的资产的波动率,dW 是维纳过程。 2、证券允许卖空、证券交易连续和证券高度可分。 3、不考虑交易费用或税收等交易成本。 4、在衍生证券的存续期内不支付红利。 5、市场上不存在无风险的套利机会。 6、无风险利率r 为一个固定的常数。 下面,通过构造标的资产与期权的资产组合并根据无套利定价原理建立期权定价模型。首先,为了得到期权的微分形式,先介绍随机微积分中的最重要的伊藤公式。

运用蒙特卡罗模拟进行风险分析

运用蒙特卡罗模拟进行风险分析 蒙特卡罗模拟由著名的摩纳哥赌城而得名,他是一种非常强有力的方法学。对专业人员来说,这种模拟为方便的解决困难而复杂的实际问题开启了一扇大门。估计蒙特卡罗模拟最著名的早期使用是诺贝尔奖物理学家Enrico Fermi(有时也说是原子弹之父)在1930年的应用,那时他用一种随机方法来计算刚发现的中子的性质。蒙特卡罗模拟是曼哈顿计划所用到的模拟的核心部分,在20世纪50年代蒙特卡罗模拟就用在Los Alamos国家实验室发展氢弹的早期工作中,并流行于物理学和运筹学研究领域。兰德公司和美国空军是这个时期主要的两个负责资助和传播蒙特卡罗方法的组织,今天蒙特卡罗模拟也被广泛应用于不同的领域,包括工程,物理学,研发,商业和金融。 简而言之,蒙特卡罗模拟创造了一种假设的未来,它是通过产生数以千计甚至成千上万的样本结果并分析他们的共性实现的。在实践中,蒙特卡罗模拟法用于风险分析,风险鉴定,敏感度分析和预测。模拟的一个替代方法是极其复杂的随机闭合数学模型。对一个公司的分析,使用研究生层次的高等数学和统计学显然不合逻辑和实际。一个出色的分析家会使用所有他或她可得的工具以最简单和最实际的方式去得到相同的结果。任何情况下,建模正确时,蒙特卡罗模拟可以提供与更完美的数学方法相似的答案。此外,有许多实际生活应用中不存在闭合模型并且唯一的途径就是应用模拟法。那么,到底什么是蒙特卡罗模拟以及它是怎么工作的? 什么是蒙特卡罗模拟? 今天,高速计算机使许多过去看来棘手的复杂计算成为可能。对科学家,工程师,统计学家,管理者,商业分析家和其他人来说,计算机使创建一个模拟现实的模型成为可能,这有助于做出预测,其中一种方法应用于模拟真实系统,它通过调查数以百计甚至数以千计的可能情况来解释随机性和未来不确定性。结果通过编译后用于决策。这就是蒙特卡罗模拟的全部内容。 形式最简单的蒙特卡罗模拟是一个随机数字生成器,它对预测,估计和风险分析都很有用。一个模拟计算模型的许多情况,这通过反复地从预先定义的特定变量概率分布中采集数据并将之应用于模型来实现。因为所有的情况都产生相应的结果,每种情况都可以蕴含一种预测。预测的是你定义为重要模型结果的事项(通常含有公式或函数)。 将蒙特卡罗模拟法想象为从一个大篮子里可放回的反复拿出高尔夫球。拦在的大小和形

蒙特卡洛模拟法

蒙特卡洛模拟法 蒙特卡洛(Monte Carlo)模拟是一种通过设定随机过程,反复生成时间序列,计算参数估计量和统计量,进而研究其分布特征的方法。具体的,当系统中各个单元的可靠性特征量已知,但系统的可靠性过于复杂,难以建立可靠性预计的精确数学模型或模型太复杂而不便应用时,可用随机模拟法近似计算出系统可靠性的预计值;随着模拟次数的增多,其预计精度也逐渐增高。由于涉及到时间序列的反复生成,蒙特卡洛模拟法是以高容量和高速度的计算机为前提条件的,因此只是在近些年才得到广泛推广。 这个术语是二战时期美国物理学家Metropolis执行曼哈顿计划的过程中提出来的。 蒙特卡洛模拟方法的原理是当问题或对象本身具有概率特征时,可以用计算机模拟的方法产生抽样结果,根据抽样计算统计量或者参数的值;随着模拟次数的增多,可以通过对各次统计量或参数的估计值求平均的方法得到稳定结论。 蒙特卡洛模拟法的应用领域 蒙特卡洛模拟法的应用领域主要有: 1.直接应用蒙特卡洛模拟:应用大规模的随机数列来模拟复杂系统,得到某些参数或重要指标。 2.蒙特卡洛积分:利用随机数列计算积分,维数越高,积分效率越高。 3.MCMC:这是直接应用蒙特卡洛模拟方法的推广,该方法中随机数的产生是采用的马尔科夫链形式。 (也叫随机模拟法)当系统中各个单元的可靠性特征量已知,但系统的可靠性过于复杂,难以建立可靠性预计的精确数学模型或模型太复杂而不便应用则可用随机模拟法近似计算出系统可靠性的预计值。随着模拟次数的增多,其预计精度也逐渐增高。由于需要大量反复的计算,一般均用计算机来完成。 应用此方法求解工程技术问题可以分为两类:确定性问题和随机性问题。解题步骤如下: 1.根据提出的问题构造一个简单、适用的概率模型或随机模型,使问题的解对应于该模型中随机变量的某些特征(如概率、均值和方差等),所构造的模型在主要特征参量方面要与实际问题或系统相一致 2 .根据模型中各个随机变量的分布,在计算机上产生随机数,实现一次模拟过程所需的足够数量的随机数。通常先产生均匀分布的随机数,然后生成服从某一分布的随机数,方可进行随机模拟试验。

蒙特卡洛方法模拟小例子

例在我方某前沿防守地域,敌人以一个炮排(含两门火炮)为单位对我方进行干扰和破坏.为躲避我方打击,敌方对其阵地进行了伪装并经常变换射击地点. 经过长期观察发现,我方指挥所对敌方目标的指示有50%是准确的,而我方火力单位,在指示正确时,有1/3的射击效果能毁伤敌人一门火炮,有1/6的射击效果能全部毁伤敌人火炮. 现在希望能用某种方式把我方将要对敌人实施的20次打击结果显现出来,确定有效射击的比率及毁伤敌方火炮的平均值。 使用蒙特卡洛方法模拟50次打击结果: function [out1 out2 out3 out4]=Msc(N) % N开炮次数 % out1射中概率 % out2平均每次击中次数 % out3击中敌人一门火炮的射击总数 % out4击中敌人2门火炮的射击总数 k1=0; k2=0; k3=0; for i=1:N x0=randperm(2)-1; y0=x0(1); if y0==1 fprintf('第%d次:指示正确||',i); x1=randperm(6); y1=x1(1); if y1==1|y1==2|y1==3 fprintf('第%d次:击中0炮||',i); k1=k1+1; elseif y1==4|y1==5 fprintf('第%d次:击中1炮||',i); k2=k2+1; else

fprintf('第%d次:击中2炮||',i); k3=k3+1; end else fprintf('第%d次:指示错误,击中0炮||',i); k1+1; end fprintf('\n'); end out1=(k2+k3)/N; out2=(0*k1+k2+2*k3)/20; out3=k2/N; out4=k3/N; 运行: 1.[out1 out2 out3 out4]=Msc(50) 结果: 1.第1次:指示正确||第1次:击中2炮|| 2.第2次:指示错误,击中0炮|| 3.第3次:指示错误,击中0炮|| 4.第4次:指示正确||第4次:击中0炮|| 5.第5次:指示错误,击中0炮|| 6.第6次:指示正确||第6次:击中1炮|| 7.第7次:指示正确||第7次:击中0炮|| 8.第8次:指示错误,击中0炮|| 9.第9次:指示正确||第9次:击中2炮|| 10.第10次:指示正确||第10次:击中1炮|| 11.第11次:指示正确||第11次:击中1炮|| 12.第12次:指示正确||第12次:击中2炮|| 13.第13次:指示错误,击中0炮|| 14.第14次:指示正确||第14次:击中1炮|| 15.第15次:指示错误,击中0炮|| 16.第16次:指示错误,击中0炮|| 17.第17次:指示正确||第17次:击中0炮|| 18.第18次:指示错误,击中0炮||

蒙特卡洛模拟——【数学建模 蒙特卡罗算法】

蒙特卡罗方法 为了验证蒙特卡罗方法,我们考虑一个简化的模型:通过一个冷涡轮叶片的热传递。下图是叶片的横截面: 内部冷却通道沿着虚线一截,可以给出: 金属 注意:MM T 金属叶片热的一边的温度 MC T 金属叶片凉的一边的温度 对这个问题,一维热传导模型可以写为: ()()gas gas TBC TBC MH TBC TBC q h T T k q T T L =?=?

()()M MH MC M MC cool cool k q T T L q h T T =?=? 在一个确定的问题里,有四个未知量:,TBC T MM T ,MC T 和q ,我们可以利用阻力求解。同样我们也可以写出下列的线性方程组: 001010440010 01gas gas gas TBC TBC TBC TBC TBC MH M M MC M M cool cool cool h h T T k k L L T k k T L L q h T h ?????????????????????????=?×??????????????????????????? 的线性方程组 输入量是:gas h ,,TBC k M k , cool h gas T ,,TBC L M L , cool T 对于一个确定的模拟,我们通常使用标称设计的参数初始值,假设是如下数据: 23000gas W h m = 21000cool W h m = 1300gas T =℃ 200cool T =℃ 1TBC k W m =K 21.5M k W mK = 0.0005TBC L m = 0.003M L m = 模拟的结果如下: 835MH T =℃ 1114TBC T =℃ 758MC T =℃ 525.5810W q m =×

蒙特卡洛模拟原理及步骤

二、蒙特卡洛模拟原理及步骤 (一)蒙特卡洛模拟原理:经济生活中存在大量的不确定与风险问题,很多确定性问题实际上就是不确定与风险型问题的特例与简化,财务管理、管理会计中同样也存在大量的不确定与风险型问题,由于该问题比较复杂,一般教材对此问题涉及较少,但利用蒙特卡洛模拟可以揭示不确定与风险型问题的统计规律,还原一个真实的经济与管理客观面貌。 与常用确定性的数值计算方法不同,蒙特卡洛模拟就是用来解决工程与经济中的非确定性问题,通过成千上万次的模拟,涵盖相应的可能概率分布空间,从而获得一定概率下的不同数据与频度分布,通过对大量样本值的统计分析,得到满足一定精度的结果,因此蒙特卡洛模拟就是进行不确定与风险型问题的有力武器。 1、由于蒙特卡洛模拟就是以实验为基础的,因此可以成为财务人员进行风险分析的“实验库”,获得大量有关财务风险等方面的信息,弥补确定型分析手段的不足,避免对不确定与风险决策问题的误导; 2、财务管理、管理会计中存在大量的不确定与风险型问题,目前大多数教材很少涉及这类问题,通过蒙特卡洛模拟,可以对其进行有效分析,解决常用决策方法所无法解决的难题,更加全面深入地分析不确定与风险型问题。 (二)蒙特卡洛模拟步骤以概率型量本利分析为例,蒙特卡洛模拟的分析步骤如下: 1、分析评价参数的特征,如企业经营中的销售数量、销售价格、产品生产的变动成本以及固定成本等,并根据历史资料或专家意见,确定随机变量的某些统计参数; 2、按照一定的参数分布规律,在计算机上产生随机数,如利用EXCEL提供的RAND函数,模拟量本利分析的概率分布,并利用VLOOKUP寻找对应概率分布下的销售数量、销售价格、产品生产的变动成本以及固定成本等参数; 3、建立管理会计的数学模型,对于概率型量本利分析有如下关系式,产品利润=产品销售数量×(产品单位销售价格-单位变动成本)-固定成本,这里需要说明的就是以上分析参数不就是确定型的,就是依据某些概率分布存在的; 4、通过足够数量的计算机仿真,如文章利用RAND、VLOOKUP等函数进行30000次的模拟,得到30000组不同概率分布的各参数的排列与组合,由于模拟的数量比较大,所取得的实验数据具有一定的规律性; 5、根据计算机仿真的参数样本值,利用函数MAX、MIN、A VERAGE等,求出概率型量本利分析评价需要的指标值,通过对大量的评价指标值的样本分析,得到量本利分析中的利润点可能的概率分布,从而掌握企业经营与财务中的风险,为财务决策提供重要的参考。 三、概率型量本利分析与比较 (一)期望值分析方法假设某企业为生产与销售单一产品的企业,经过全面分析与研究,预计未来年度的单位销售价格、销售数量、单位变动成本与固定成本的估计值及相应的概率如表1,其中销售数量单位为件,其余反映价值的指标单位为元,试计算该企业的生产利润。 表1概率型量本利分析参数 项目概率数值 单位销售价格0、3 40 0、4 43 0、3 45 单位变动成本0、4 16 0、2 18 0、4 20 固定成本0、6 28000 0、4 30000

蒙特卡洛模拟法简介

蒙特卡洛模拟法简介 蒙特卡洛(Monte Carlo)模拟是一种通过设定随机过程,反复生成时间序列,计算参数估计量和统计量,进而研究其分布特征的方法。具体的,当系统中各个单元的可靠性特征量已知,但系统的可靠性过于复杂,难以建立可靠性预计的精确数学模型或模型太复杂而不便应用时,可用随机模拟法近似计算出系统可靠性的预计值;随着模拟次数的增多,其预计精度也逐渐增高。由于涉及到时间序列的反复生成,蒙特卡洛模拟法是以高容量和高速度的计算机为前提条件的,因此只是在近些年才得到广泛推广。 这个术语是二战时期美国物理学家Metropolis执行曼哈顿计划的过程中提出来的。 蒙特卡洛模拟方法的原理是当问题或对象本身具有概率特征时,可以用计算机模拟的方法产生抽样结果,根据抽样计算统计量或者参数的值;随着模拟次数的增多,可以通过对各次统计量或参数的估计值求平均的方法得到稳定结论。 蒙特卡洛模拟法的应用领域 蒙特卡洛模拟法的应用领域主要有: 1.直接应用蒙特卡洛模拟:应用大规模的随机数列来模拟复杂系统,得到某些参数或重要指标。 2.蒙特卡洛积分:利用随机数列计算积分,维数越高,积分效率越高。 3.MCMC:这是直接应用蒙特卡洛模拟方法的推广,该方法中随机数的产生是采用的马尔科夫链形式。 蒙特卡洛模拟法的概念 (也叫随机模拟法)当系统中各个单元的可靠性特征量已知,但系统的可靠性过于复杂,难以建立可靠性预计的精确数学模型或模型太复杂而不便应用则可用随机模拟法近似计算出系统可靠性的预计值。随着模拟次数的增多,其预计精度也逐渐增高。由于需要大量反复的计算,一般均用计算机来完成。

蒙特卡洛模拟法求解步骤 应用此方法求解工程技术问题可以分为两类:确定性问题和随机性问题。解题步骤如下: 1.根据提出的问题构造一个简单、适用的概率模型或随机模型,使问题的解对应于该模型中随机变量的某些特征(如概率、均值和方差等),所构造的模型在主要特征参量方面要与实际问题或系统相一致 2 .根据模型中各个随机变量的分布,在计算机上产生随机数,实现一次模拟过程所需的足够数量的随机数。通常先产生均匀分布的随机数,然后生成服从某一分布的随机数,方可进行随机模拟试验。 3. 根据概率模型的特点和随机变量的分布特性,设计和选取合适的抽样方法,并对每个随机变量进行抽样(包括直接抽样、分层抽样、相关抽样、重要抽样等)。 4.按照所建立的模型进行仿真试验、计算,求出问题的随机解。 5. 统计分析模拟试验结果,给出问题的概率解以及解的精度估计。 在可靠性分析和设计中,用蒙特卡洛模拟法可以确定复杂随机变量的概率分布和数字特征,可以通过随机模拟估算系统和零件的可靠度,也可以模拟随机过程、寻求系统最优参数等。 蒙特卡洛模拟法的实例 资产组合模拟: 假设有五种资产,其日收益率(%)分别为 0.02460.0189 0.0273 0.0141 0.0311 标准差分别为 0.95091.4259, 1.5227, 1.1062, 1.0877 相关系数矩阵为 1.0000 0.4403 0.4735 0.4334 0.6855 0.4403 1.00000.7597 0.7809 0.4343 0.4735 0.75971.0000 0.6978 0.4926 0.4334 0.78090.6978 1.0000 0.4289 0.6855 0.43430.4926 0.4289 1.0000 假设初始价格都为100,模拟天数为504天,模拟线程为2,程序如下%run.m

5蒙特卡洛方法模拟期权定价

材料五:蒙特卡洛方法模拟期权定价 1.蒙特卡洛方法模拟欧式期权定价 利用风险中性的方法计算期权定价: ?()rt T f e E f -= 其中,f 是期权价格,T f 是到期日T 的现金流,?E 是风险中性测度 如果标的资产服从几何布朗运动: dS Sdt sdW μσ=+ 则在风险中性测度下,标的资产运动方程为: 2 0exp[()]2T S S r T σ=-+ 对于欧式看涨期权,到期日欧式看涨期权现金流如下: 2 (/2)max{0,(0)}r T S e K σ-+- 其中,K 是执行价,r 是无风险利率,σ是标准差, ε是正态分布的随机变量。 对到期日的现金流用无风险利率贴现,就可知道期权价格。 例1 假设股票价格服从几何布朗运动,股票现在价格为50,欧式期权执行价格为52,无风险利率为0.1,股票波动标准差为0.4,期权的到期日为5个月,试用蒙特卡洛模拟方法计算该期权价格。 下面用MATLAB 编写一个子程序进行计算: function eucall=blsmc(s0,K,r,T,sigma,Nu) %蒙特卡洛方法计算欧式看涨期权的价格 %输入参数 %s0 股票价格 %K 执行价 %r 无风险利率 %T 期权的到期日 %sigma 股票波动标准差 %Nu 模拟的次数 %输出参数 %eucall 欧式看涨期权价格 %varprice 模拟期权价格的方差 %ci 95%概率保证的期权价格区间

randn('seed',0); %定义随机数发生器种子是0, %这样保证每次模拟的结果相同 nuT=(r-0.5*sigma^2)*T sit=sigma*sqrt(T) discpayoff=exp(-r*T)*max(0,s0*exp(nuT+sit*randn(Nu,1))-K) %期权到期时的现金流 [eucall,varprice,ci]=normfit(discpayoff) %在命令窗口输入:blsmc(50,52,0.1,12/5,0.4,1000) 2. 蒙特卡洛方法模拟障碍期权定价 障碍期权,就是确定一个障碍值b S ,在期权的存续期有可能超过该价格,也可能低于该价格,对于敲出期权而言,如果在期权的存续期标的资产价格触及障碍值时,期权合同可以提前终止执行;相反,对于敲入价格,如果标的资产价格触及障碍值时,期权合同开始生效。 当障碍值b S 高于现在资产价格0S ,称上涨期权,反之称下跌期权。 对于下跌敲出看跌期权,该期权首先是看跌期权,股票价格是0S ,执行价格是K ,买入看跌期权就首先保证以执行价K 卖掉股票,下跌敲出障碍期权相当于在看跌期权的基础上附加提前终止执行的条款,容是当股票价格触及障碍值b S 时看跌期权就提前终止执行。因为该期权对于卖方有利,所以其价格应低于看跌期权的价格。 对于下跌敲出看跌期权,该期权首先是看跌期权,股票价格是0S ,执行价格是K ,买入看跌期权就首先保证以执行价K 卖掉股票,下跌敲出障碍期权相当于在看跌期权的基础上附加提前终止执行的条款,容是当股票价格触及障碍值b S 时看跌期权就提前终止执行。因为该期权对于卖方有利,所以其价格应低于看跌期权的价格。 对于下跌敲入看跌期权,该期权首先是看跌期权,下跌敲出障碍期权相当于在看跌期权的基础上附加提前何时生效的条款,容是当股票价格触及障碍值b S 时看跌期权开始生效。 当障碍值b S 确定时,障碍期权存在解: 4275{()()[()()]}rT P Ke N d N d a N d N d -=--- 03186{()()[()()]}S N d N d b N d N d ---- 其中 212/0()r b S a S σ-+=, 212/0 ()r b S b S σ+=, 2 1d =

蒙特卡洛算法简介

算法简介 蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。蒙特·卡罗方法的名字来源于摩纳哥的一个城市蒙地卡罗,该城市以赌博业闻名,而蒙特·卡罗方法正是以概率为基础的方法。与它对应的是确定性算法。蒙特·卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用广泛。 编辑本段背景知识 [1946: John von Neumann, Stan Ulam, and Nick Metropolis, all at the Los Alamos Scientific Laboratory, cook up the Metropolis algorithm, also known as the Monte Carlo method.] 1946年,美国拉斯阿莫斯国家实验室的三位科学家John von Neumann,Stan Ulam 和Nick Metropolis共同发明,被称为蒙特卡洛方法。它的具体定义是:在广场上画一个边长一米的正方形,在正方形内部随意用粉笔画一个不规则的形状,现在要计算这个不规则图形的面积,怎么计算列?蒙特卡洛(Monte Carlo)方法告诉我们,均匀的向该正方形内撒N(N 是一个很大的自然数)个黄豆,随后数数有多少个黄豆在这个不规则几何形状内部,比如说有M个,那么,这个奇怪形状的面积便近似于M/N,N越大,算出来的值便越精确。在这里我们要假定豆子都在一个平面上,相互之间没有重叠。蒙特卡洛方法可用于近似计算圆周率:让计算机每次随机生成两个0到1之间的数,看这两个实数是否在单位圆内。生成一系列随机点,统计单位圆内的点数与总点数,(圆面积和正方形面积之比为PI:1,PI为圆周率),当随机点取得越多(但即使取10的9次方个随机点时,其结果也仅在前4位与圆周率吻合)时,其结果越接近于圆周率。摘自《细数二十世纪最伟大的十种算法》CSDN JUL Y译 编辑本段算法描述 以概率和统计理论方法为基础的一种计算方法。将所求解的问题同一定的概率模型相联系,用计算机实现统计模拟或抽样,以获得问题的近似解。比如,给定x=a,和x=b,你要求某一曲线f和这两竖线,及x轴围成的面积,你可以起定y轴一横线y=c 其中c>=f(x)max,很简单的,你可以求出y=c,x=a,x=b及x轴围成的矩形面积,然后利用随机产生大量在这个矩形范围之内的点,统计出现在曲线上部点数和出现在曲线下部点的数目,记为:doteUpCount,nodeDownCount,然后所要求的面积可以近似为doteDownCounts所占比例*矩形面积。 编辑本段问题描述 在数值积分法中,利用求单位圆的1/4的面积来求得Pi/4从而得到Pi。单位圆的1/4面积是一个扇形,它是边长为1单位正方形的一部分。只要能求出扇形面积S1在正方形面积S中占的比例K=S1/S就立即能得到S1,从而得到Pi的值。怎样求出扇形面积在正方形面积中占的比例K呢?一个办法是在正方形中随机投入很多点,使所投的点落在正方形中每一个位置的机会相等看其中有多少个点落在扇形内。将落在扇形内的点数m与所投点的总数n的比m/n作为k的近似值。P落在扇形内的充要条件是x^2+y^2<=1。

蒙特卡洛模拟法及其Matlab案例

一蒙特卡洛模拟法简介 蒙特卡洛(Monte Carlo)模拟是一种通过设定随机过程,反复生成时间序列,计算参数估计量和统计量,进而研究其分布特征的方法。具体的,当系统中各个单元的可靠性特征量已知,但系统的可靠性过于复杂,难以建立可靠性预计的精确数学模型或模型太复杂而不便应用时,可用随机模拟法近似计算出系统可靠性的预计值;随着模拟次数的增多,其预计精度也逐渐增高。由于涉及到时间序列的反复生成,蒙特卡洛模拟法是以高容量和高速度的计算机为前提条件的,因此只是在近些年才得到广泛推广。 这个术语是二战时期美国物理学家Metropolis执行曼哈顿计划的过程中提出来的。 蒙特卡洛模拟方法的原理是当问题或对象本身具有概率特征时,可以用计算机模拟的方法产生抽样结果,根据抽样计算统计量或者参数的值;随着模拟次数的增多,可以通过对各次统计量或参数的估计值求平均的方法得到稳定结论。 二蒙特卡洛模拟法求解步骤 应用此方法求解工程技术问题可以分为两类:确定性问题和随机性问题。 解题步骤如下: 1.根据提出的问题构造一个简单、适用的概率模型或随机模型,使问题的解对应于该模型中随机变量的某些特征(如概率、均值和方差等),所构造的模型在主要特征参量方面要与实际问题或系统相一致 2 .根据模型中各个随机变量的分布,在计算机上产生随机数,实现一次模拟过程所需的足够数量的随机数。通常先产生均匀分布的随机数,然后生成服从某一分布的随机数,方可进行随机模拟试验。 3. 根据概率模型的特点和随机变量的分布特性,设计和选取合适的抽样方法,并对每个随机变量进行抽样(包括直接抽样、分层抽样、相关抽样、重要抽样等)。 4.按照所建立的模型进行仿真试验、计算,求出问题的随机解。 5. 统计分析模拟试验结果,给出问题的概率解以及解的精度估计。 三蒙特卡洛模拟法的应用领域 蒙特卡洛模拟法的应用领域主要有: 1.直接应用蒙特卡洛模拟:应用大规模的随机数列来模拟复杂系统,得到某些参数或重要指标。 2.蒙特卡洛积分:利用随机数列计算积分,维数越高,积分效率越高。 3.MCMC:这是直接应用蒙特卡洛模拟方法的推广,该方法中随机数的产生是采用的马尔科夫链形式。 四资产组合模拟 假设有五种资产,其日收益率(%)分别为 0.0246 0.0189 0.0273 0.0141 0.0311 标准差分别为 0.9509 1.4259, 1.5227, 1.1062, 1.0877 相关系数矩阵为 1.0000 0.4403 0.4735 0.4334 0.6855 0.4403 1.0000 0.7597 0.7809 0.4343 0.4735 0.7597 1.0000 0.6978 0.4926 0.4334 0.7809 0.6978 1.0000 0.4289 0.6855 0.4343 0.4926 0.4289 1.0000 假设初始价格都为100,模拟天数为504天,模拟线程为2,程序如下 %run.m ExpReturn = [0.0246 0.0189 0.0273 0.0141 0.0311]/100; %期望收益

相关文档
相关文档 最新文档