蒙特卡洛模拟法

蒙特卡洛模拟法

一 蒙特卡洛模拟法简介

蒙特卡洛(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; %期望收益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.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

];%相关系数

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');

图像:

蒙特卡洛模拟法

一 蒙特卡洛模拟法简介

蒙特卡洛(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; %期望收益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.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

];%相关系数

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');

图像:


相关文章

  • 房地产风险分析中的蒙特卡洛模拟
  • 房地产风险分析中的蒙特卡洛模拟 王庆庆 !浙江工商大学#杭州'0**'# 摘要!本文通过运用水晶球软件的蒙特卡洛法对房地产开发项目的风险进行分析%通过相关 分析对房地产开发项目的赢利性!风险大小等各个方面作出了预测 关键词!风险$蒙特卡洛模 ...查看


  • 蒙特卡洛方法及其在风险评估中的应用
  • 蒙特卡洛方法及其应用 1风险评估及蒙特卡洛方法概述 1.1蒙特卡洛方法. 蒙特卡洛方法,又称随机模拟方法或统计模拟方法,是在20世纪40年代随着电子计算机的发明而提出的.它是以统计抽样理论为基础,利用随机数,经过对随机变量已有数据的统计进行 ...查看


  • 蒙特卡罗模拟信号交叉口的服务水平
  • 第22卷第3期 2006年5月 森林工程 Vol122No13 FORESTENGINEERING May,2006 蒙特卡罗模拟信号交叉口的服务水平 丁柏群,张 鹏 (东北林业大学,哈尔滨 150040) 摘 要:信号交叉口是城市路网的节 ...查看


  • 蒙特卡罗Ising算法C的程序
  • 蒙特卡罗方法初探--附C语言实例程序详解 2007-04-30 17:04 蒙特卡罗(Monte Carlo)方法,又称随机抽样或统计试验方法,属于计算数学的一个分支,它是在本世纪四十年代中期为了适应当时原子能事业的发展而发展起来的. 传统 ...查看


  • 金融风险管理的VaR方法及其应用
  • 目录 一.VaR方法的产生 .......................................................................................................... ...查看


  • 蒙特卡罗方法学习总结
  • 蒙特卡罗方法学习总结 核工程与核技术2014级3班张振华[1**********] 一.蒙特卡罗方法概述 1.1蒙特卡罗方法的基本思想 1.1.1基本思想 蒙特卡罗方的基本思想就是,当所求问题的解是某个事件的概率,或者是某个随机变量的数学期 ...查看


  • 基于风险中性的反向抵押贷款风险定价原理
  • 龙源期刊网 http://www.qikan.com.cn 基于风险中性的反向抵押贷款风险定价原理 作者:强薇 来源:<财经界·学术版>2013年第06期 摘要:反向抵押贷款产品的定价问题是关乎"以房养老"这 ...查看


  • 商业银行个人信用风险评价模型研究
  • [问题探讨] 商业银行个人信用风险评价模型研究 朱天星1,于立新2,田慧勇3 (1.大连理工大学经济与管理学院,辽宁大连116023;2.大连银行风险管理部,辽宁大连116001; 3.辽宁省农村信用社联合社,辽宁沈阳110015)摘要:本 ...查看


  • 数学地质学论文
  • 数学地质在矿产地质工作中的应用 姓名:钱开兴 学号:[1**********]3 班级:资环121 摘要:随着数学与计算机技术的进一步发展,近几年来,数学与地质学的结合更加的紧密,诸如数学统计分析,地质过程的模拟等技术使得矿产地质工作的效率 ...查看


热门内容