上机二 蒙特卡罗模拟评价决策方法
蒙特卡罗模拟法是一种随机模拟方法,也叫模拟抽样法或统计实验法,它不是按照传统的观念去求解模型,而是按一定概率分布产生随机数的方法来模拟可能出现的随机现象。它的实质是实验,即在假定条件下去运行模型,然后根据模型运行的结果,进行预测分析和系统评价。蒙特卡罗模拟法是概率分析中一种非常实用的方法。
在实际应用时,常常是先建立一个基本模型,再进行数字模拟,如果模拟结果说明模型的有效性不足,可以逐步扩大模型的细节,反复进行数字模拟以求最后取得一个更精确的估计。随机模拟之所以具有强大的功能,其主要原因之—,就是可以把更详细、更接近实际的内容纳入模拟模型。这一点是可解的分析模型所难以办到的。
模拟分析就是利用计算机模拟技术,对项目的不确定因素进行模拟,通过抽取服从项目不确定因素分布的随机数,计算分析项目经济效果评价指标,从而得出项目经济效果评价指标的概率分布,以提供项目不确定因素对项目经济指标影响的全面情况。
在经济评价中,任何一个评价指标Z往往是多个自变量xi的多元函数,即可表示为:
Zfx1,x2,,xm 一般情况下,自变量xi都是确定的值,这样,得到的Z也是一个确定的值。当我们进行概率分析时,xi中至少有一个时随机变量,因而Z也是一个随机变量,这样我们在对方案进行比较评价时,就不但要比较Z的期望值的大小,而且还要比较项目失败后风险的大小。
运用蒙特卡罗模拟法进行经济评价的过程主要有三个步骤: 1、构造模型。进行蒙待卡罗模拟,首先必
确定初始概率分布 须确定研究对象及其概率分布,研究对象就是对
研究指标有主要影响的因素,概率分布一般采用一个适当的理论分布来描述自变量的经验概率。对于某些经济问题来说,常常没有可以直接引用
随机抽样(数字模拟) 的分布率。在这种情况下,通常的做法是根据历
史计录或主观的分析判断,求得研究对象的一个初始概率分布。例如在需求预测中,可以根据过
重新模拟或修正去的实际需求量分布状况,估计预测目标的初始
计算评价指标的统计量 分布,或运用主观概率法、专家调查法给出一个概率分布 事件出现的概率分布。
2、运行模型。根据确定的模型结构(概率分布及其结构关系)进行随机抽样,由计算机按自变量的分布概率产生随机数作为样本,由函数关
结果不合理 系计算样本的评价指标,故又称为数字模拟。
评价统计量 3、根据模型的随机模拟结果,统计各事件发生的频数,得出要求的统计量,比如评价指标
结果合理 的期望值、方差、概率分布图等,从而进一步分析评价指标的置信区域和项目的风险程度。
蒙特卡罗模拟的工作流程如图1所示。 结果输出 下面举两个实例,说明蒙特卡罗模拟分析
图1 蒙特卡罗模拟法步骤框图 法。
例 某公司新建一项目,第一年投资为I,第二年起运营,每年净收益为A,寿命期为20年,固定资产残值为Sv。根据大量统计资料,此行业基准收益率6%,I、A、Sv为随机分布,分布概率如表1,试用蒙特卡罗模拟法建造该项目的净现值分布。
表1 分布概率 值 净收益A 概率 累计概率 投资I
128.5 0.17 0.17 1250 148.0 0.20 0.37 1310 167.5 0.36 0.73 1370 1
187.0 0.15 0.88 1490 206.5 0.12 1.00 1430 mL=164.58 σL=23.78 mL=1388 值 工程经济学上机指导 - 蒙特卡罗模拟评价决策方法
概率 累计概率 值 残值Sv 概率 累计概率 0.10 0.10 72 0.17 0.17 0.13 0.23 78 0.22 0.39 0.34 0.57 84 0.34 0.73 0.23 0.80 90 0.17 0.90 0.20 1.00 96 0.10 1.00 σL=72.75 mL=82.86 σL=7.19 解:进行蒙特卡罗模拟时,把随机数和累计概率相比较,落入哪个区间,自变量就取那个区间的上限值。根据题意,该项目的净现值计算公式为:
NPVA(P/A,0.06,20)(P/F,0.06,1)Sv(P/F,0.06,21)IP/F,0.06,1
依次取三个随机数所对应的A、I、Sv计算NPV,就可以得到净现值的一批样本,本例共选取了25组数据,见图4。
图2中各区段NPV值出现的频率就是它发生概率的近似值,表示此项目可获得的各种NPV可能性的大小。由图分析可知,NPV<0的概率为零,即没有净现值为零的风险;0 2520百分率20161284012304567百万元8910111213884488151050 图2 NPV的概率分布直方图 模拟分析的计算工作量较大,因而一般采用计算机编程计算。下面介绍本例在EXCEL中的实现方法。 1、 首先输入已知数据表(如图3)。 2、根据图3表制作A、I、Sv的随机样本数值。 首先应用随机函数产生随机数,在单元格C20中输入函数“=RAND()”,分别复制到C20:C44。其次根据概率确定具体数值,在单元格D20中输入函数“=HLOOKUP (C20,$D$12:$H$13,2,TRUE) ”,将会根据图3表中的概率分布分别查出相应的A值,复制到D20:D44。同理,求得I、Sv的随机样本数值,分别得到F列和H列。第三,计算净现值NPV,在单元格I20中输入函数“=11.469*D20*1.06+H20*0.294-F20*0.943”,复制到I20:I25,即可求得所有样本的NPV。如图4。 2 工程经济学上机指导 - 蒙特卡罗模拟评价决策方法 图3 已知数据表 3、绘制NPV的概率分布直方图。首先制作一个NPV的分段表,图5中L5:X6,共分为13段,在单元格J20中输入函数“=HLOOKUP(I20,$L$5:$X$6,2,TRUE)”,根据分段,查表求得NPV所在的段号,分别复制到J20:J25单元格,然后统计每段内的NPV个数,在单元格L8中输入函数“=COUNTIF($J$20:$J$44,\"1\")”,复制到L8:X8,即可得出每段内的NPV个数,进而得出NPV在不同段内百分率,如图5。根据图5 中的数据即可绘制NPV的概率分布直方图。 图4 图5 3 因篇幅问题不能全部显示,请点此查看更多更全内容