APP下载

蒙特卡洛模拟在工程经济评价中应用研究

2019-10-16阳泽宇李翊禹

科技风 2019年26期

阳泽宇 李翊禹

摘 要:项目的工程经济评价,是指在可行性研究的基础上,根据国家有关部门颁布的政策法规方法参数和条例等从项目国民经济和社会的角度出发,由有关部门对拟建项目建设的必要性建设条件,生产条件,财务效益,经济效益和社会效益等进行了全面分析论证,并就该项目是否可行提出相应职业判断的一项工作。不确定性是工程经济评价中重要的一部分,不确定性经济分析的主要方法有:敏感性分析和风险分析。将蒙特卡洛模拟引入不确定性经济分析,可以达到求解经济项目评价的概率分布或其他特征值的目的。该方法计算速度快,且通俗易懂便于操作。

关键词:蒙特卡罗模拟;不确定性分析;概率分布

1 绪论

蒙特卡洛模拟是在二战期间,当时在原子弹研制的项目中,为了模拟裂变物质的中子随机扩散现象,由美国数学家冯·诺伊曼和乌拉姆等发明的一种统计方法。之所以起名叫蒙特卡洛模拟,是因为蒙特卡洛在是欧洲袖珍国家摩纳哥一个城市,这个城市在当时是非常著名的一个赌城。因为赌博的本质是算概率,而蒙特卡洛模拟正是以概率为基础的一种方法,所以用赌城的名字为这种方法命名。

評价工程项目技术方案的指标多种多样,这些指标从不同角度反映项目的经济性。从形态上看,主要分为两类:一类是以货币为单位计量的价值型指标,如净现值、净年值、费用现值、费用年值等。另一类是以百分比或比例表示的、反映资金利用效率的效率型指标,如投资收益率、内部收益率、外部收益率、净现值指数等。按照是否考虑资金的时间价值,经济效果评价指标分为静态评价指标和动态评价指标。不考虑资金时间价值的评价指标被称为静态评价指标,静态评价指标主要用于技术经济数据不完备和不精确的项目初选阶段。考虑资金时间价值的评价指标被称为动态评价指标,动态评价指标用于项目最后决策前的可行性研究阶段。

2 蒙特卡洛模拟

蒙特卡洛模拟的工作原理就是将项目的目标变量用数学模型表示,模拟影响变量的主要风险变量,通过在计算机中生成随机数将某一工作进行成千上万次的模拟,对模拟出来的结果进行数理统计最终得出一个累计概率分布图。假如现在计算一个不规则图形的面积,那么可以从它周围画一个面积已知的正方形,然后往里面撒米粒,再数一数这个不规则图形里的米粒数和整个正方形里的米粒数,计算出它们之间的比例关系,就能求出不规则图形的近似面积了.随着撒的米粒越来越多,所求得的结果越精准。蒙特卡洛模拟在工程经济项目评价中也是如此,对于不确定具体项目参数,只知道大致分布的项目。可通过进行蒙特卡洛模拟来进行分析,从而得出一个大致的概率分布,随着蒙特卡洛模拟的次数不断地增加,所产生的概率分布也会越来越趋近于最合理的变量取值。

蒙特卡洛模拟的步骤主要可以分为以下几个步骤:(1)确定影响目标变量的风险变量;

(2)建立目标变量关于风险变量的数学模型;(3)确定各个风险变量的概率分布;(4)建立各个风险变量随机值计算公式;(5)对于每一风险变量,利用随机数计算风险变量的随机值,将各风险变量的一组随机值带入数学模型即可得到目标变量的一个随机结果;(6)多次重复上一步的过程,得到目标变量的无数个随机结果;(7)对结果进行整理,做出目标变量的概率分布曲线,并进行风险评估。

对于蒙特卡洛模拟前期的分析来说最重要的就是如何生成大量的随机数。随机数的生成主要运用的是Excel中的Rand函数,在Excel的空格中输入Rand函数之后,向下方空格拖动就可以产生无限多个分布在0到1之间的随机数。如果想要生成分布在(a,b)的随机整数,可以输入如下公式:Int(Rand()*(b-a+1)+a),对于服从正态分布的参数,可以使用Norminv函数产生随机数。

假设一个工程项目的投资额存在多种可能,投资100万、200万、300万的概率分别为0.1、0.5、0.4那么就可以使用Rand函数生成100个在(0,1)之间的随机数,根据参数相互之间的比例关系进一步细分区间,使用Countif函数统计处于各个函数区间上的随机数个数总和,比如100万投资额的可以选取在(0,0.1)这个区间上的随机值个数的总数来代表投资额为100万时事件的发生概率。200万的就选取在(0.1,0.6)这个区间上的随机数来代表,这样就可以得出所有变量的在这次蒙特卡洛模拟中的概率。

3 算例分析

某工程项目的投资方案参数为投资额:140万、160万、180万它们的取值概率为0.3、0.5、0.2。年净收入为20万、28万、33万、36万,取值概率为0.25、0.4、0.2、0.15。折现率:8%、10%、12%,取值概率为0.15、0.75、0.1。寿命期:9年、10年、11年、12年,取值概率为0.1、0.6、0.2、0.1。如下表所示。

对于一个工程项目来说,有时由于过往工程项目资料的缺乏,对于各项经济参数的取值概率有时是不能够去直接了解的。对于这种情况可以引入蒙特卡洛模拟来对工程项目经济参数的取值概率进行估计。按照上文中提到过的随机数抽取方法,可以对投资额、年净收入、折现率、寿命期分别先进行抽取100个随机数。根据之前所了解的各个工程项目经济参数,根据各参数的取值概率划定区间,随机数落到这个区间上时即代表这个经济参数被随机抽取到。例如投资额为140万时,取值的概率为0.3,这样在这100个随机数中便可以以(0,30)来作为代表投资额为140万时的区间,假设抽取到的某一个随机数为25,那么便可以认为此次蒙特卡洛模拟中的投资额为140万。分别在四个经济参数中抽取到了足够的随机数之后,再根据随机数所代表的经济参数实际取值,利用公式净:现值=-P+A*(P/A,i,n)(P:投资额现值,A:年净收入,i:折现率,n:寿命期)即可算出100个净现值。统计其中净现值大于0的个数,即可计算出在100次蒙特卡洛模拟下工程项目净现值大于0的概率。

当抽取了100个随机数以后,计算出的净现值大于0的概率为0.75,这个概率与理论概率存在0.12的偏差。由于在抽取了100个随机数之后净现值大于0的概率较之于理论概率有一定的偏差。基于蒙特卡洛模拟在无限次模拟后会无限接近于理论值的特点,我们可以将随机数的个数扩大。可以取到50个、100个、200个、1000个甚至更多。从理论上来说随着模拟的次数的增加,最终得出的净现值大于0的概率会无限接近于理论概率。

随着抽取随机数的数量的增加,由于随機数在各个区间上的分布越来越贴近于相关经济参数区间大小之间的比例,由随机数所代表的工程项目相关参数的取值概率也越来越能够接近原先的理论概率。在数量为500个以下时所得出的净现值大于0概率与理论概率相差过大的原因可能是,计算机的生成随机数在低数量的样本中分布还不太均匀,但是随着样本数量的增加,这种问题得到了明显的解决。

上述算例中的每一个经济参数都是属于离散型分布,这样的分布不太具有普遍性,因此可以尝试改变其中的分布关系。例如,可以假设工程项目年净收入服从均值为30万,均方差为3万的分布,并重新计算新的条件下项目净现值大于0的概率。

4 结语

在工程经济项目不确定分析中,目前广泛使用盈亏平衡分析和敏感性分析。但是它们均只限用于定性分析,而概率分析由于计算较为复杂而较少使用。在现实工程经济项目分析中,由于各种参数常常缺乏足够的历史统计资料,大部分不能用建立在大数据基础上的客观概率来评价,因此实际使用中常常使用建立在主观估计上的主观概率分布。同时,蒙特卡洛模拟有一个问题就是,要想发挥出最佳的作用,要求经过足够长的时间,样本能把能出现的所有状态都出现一次,在一定精准度的情况下,简单的样本能满足这一条件但是效率不够,复杂的样本不能被证明满足这一条件但是很有效。对于这个问题,可以尝试在模拟的时候进行重要性抽取,对于最终净现值大于0概率影响较大的抽取区间开展重要性抽取,即在实验完成后的数据统计阶段先对数据进行一定的筛选后再开展统计,对距离预估值较近的数据进行保留,较远的数据进行一定的剔除。开展重要性抽取可以提高计算的精度,避免出现大范围的波动。

本文应用Excel建立工程项目经济评价的经济模型,引入了蒙特卡洛模拟对该工程经济模型进行了实验,结合算例研究了工程项目经济参数的概率分布。此方法通俗易懂,实际操作简便,具有良好的使用价值,值得在我国工程界大力推广。

参考文献:

[1]李忠富,杨晓冬.工程经济学(第二版).科学出版社,2016.

[2]肖绍萍.Excel环境下蒙特卡罗模拟法应用[J].财会通讯,2011(19):124-126.

作者简介:阳泽宇(1998-),男,汉族,湖南株洲人,本科,研究方向:建筑工程项目经济分析。