蒙特卡羅方法
目錄
1.蒙特卡羅方法概述
蒙特卡羅方法又稱統(tǒng)計(jì)模擬法、隨機(jī)抽樣技術(shù),是一種隨機(jī)模擬方法,以概率和統(tǒng)計(jì)理論方法為基礎(chǔ)的一種計(jì)算方法,是使用隨機(jī)數(shù)(或更常見的偽隨機(jī)數(shù))來解決很多計(jì)算問題的方法。將所求解的問題同一定的概率模型相聯(lián)系,用電子計(jì)算機(jī)實(shí)現(xiàn)統(tǒng)計(jì)模擬或抽樣,以獲得問題的近似解。為象征性地表明這一方法的概率統(tǒng)計(jì)特征,故借用賭城蒙特卡羅命名。
2.蒙特卡羅方法的提出
蒙特卡羅方法于20世紀(jì)40年代美國在第二次世界大戰(zhàn)中研制原子彈的“曼哈頓計(jì)劃”計(jì)劃的成員S.M.烏拉姆和J.馮·諾伊曼首先提出。數(shù)學(xué)家馮·諾伊曼用馳名世界的賭城—摩納哥的Monte Carlo—來命名這種方法,為它蒙上了一層神秘色彩。在這之前,蒙特卡羅方法就已經(jīng)存在。1777年,法國Buffon提出用投針實(shí)驗(yàn)的方法求圓周率∏。這被認(rèn)為是蒙特卡羅方法的起源。
3.蒙特卡羅方法的基本思想
Monte Carlo方法的基本思想很早以前就被人們所發(fā)現(xiàn)和利用。早在17世紀(jì),人們就知道用事件發(fā)生的“頻率”來決定事件的“概率”。19世紀(jì)人們用投針試驗(yàn)的方法來決定圓周率π。本世紀(jì)40年代電子計(jì)算機(jī)的出現(xiàn),特別是近年來高速電子計(jì)算機(jī)的出現(xiàn),使得用數(shù)學(xué)方法在計(jì)算機(jī)上大量、快速地模擬這樣的試驗(yàn)成為可能。
考慮平面上的一個(gè)邊長為1的正方形及其內(nèi)部的一個(gè)形狀不規(guī)則的“圖形”,如何求出這個(gè)“圖形”的面積呢?Monte Carlo方法是這樣一種“隨機(jī)化”的方法:向該正方形“隨機(jī)地”投擲N個(gè)點(diǎn),有M個(gè)點(diǎn)落于“圖形”內(nèi),則該“圖形”的面積近似為M/N。 可用民意測驗(yàn)來作一個(gè)不嚴(yán)格的比喻。民意測驗(yàn)的人不是征詢每一個(gè)登記選民的意見,而是通過對選民進(jìn)行小規(guī)模的抽樣調(diào)查來確定可能的優(yōu)勝者。其基本思想是一樣的。
科技計(jì)算中的問題比這要復(fù)雜得多。比如金融衍生產(chǎn)品(期權(quán)、期貨、掉期等)的定價(jià)及交易風(fēng)險(xiǎn)估算,問題的維數(shù)(即變量的個(gè)數(shù))可能高達(dá)數(shù)百甚至數(shù)千。對這類問題,難度隨維數(shù)的增加呈指數(shù)增長,這就是所謂的“維數(shù)的災(zāi)難”(Curse of Dimensionality),傳統(tǒng)的數(shù)值方法難以對付(即使使用速度最快的計(jì)算機(jī))。Monte Carlo方法能很好地用來對付維數(shù)的災(zāi)難,因?yàn)樵摲椒ǖ挠?jì)算復(fù)雜性不再依賴于維數(shù)。以前那些本來是無法計(jì)算的問題現(xiàn)在也能夠計(jì)算量。為提高方法的效率,科學(xué)家們提出了許多所謂的“方差縮減”技巧。
另一類形式與Monte Carlo方法相似,但理論基礎(chǔ)不同的方法—“擬蒙特卡羅方法”(Quasi-Monte Carlo方法)—近年來也獲得迅速發(fā)展。我國數(shù)學(xué)家華羅庚、王元提出的“華—王”方法即是其中的一例。這種方法的基本思想是“用確定性的超均勻分布序列(數(shù)學(xué)上稱為Low Discrepancy Sequences)代替Monte Carlo方法中的隨機(jī)數(shù)序列。對某些問題該方法的實(shí)際速度一般可比Monte Carlo方法提出高數(shù)百倍,并可計(jì)算精確度。
4.蒙特卡羅方法的基本原理
由概率定義知,某事件的概率可以用大量試驗(yàn)中該事件發(fā)生的頻率來估算,當(dāng)樣本容量足夠大時(shí),可以認(rèn)為該事件的發(fā)生頻率即為其概率。因此,可以先對影響其可靠度的隨機(jī)變量進(jìn)行大量的隨機(jī)抽樣,然后把這些抽樣值一組一組地代入功能函數(shù)式,確定結(jié)構(gòu)是否失效,最后從中求得結(jié)構(gòu)的失效概率。蒙特卡羅法正是基于此思路進(jìn)行分析的。
設(shè)有統(tǒng)計(jì)獨(dú)立的隨機(jī)變量Xi(i=1,2,3,…,k),其對應(yīng)的概率密度函數(shù)分別為fx1,fx2,…,fxk,功能函數(shù)式為Z=g(x1,x2,…,xk)。
首先根據(jù)各隨機(jī)變量的相應(yīng)分布,產(chǎn)生N組隨機(jī)數(shù)x1,x2,…,xk值,計(jì)算功能函數(shù)值 Zi=g(x1,x2,…,xk)(i=1,2,…,N),若其中有L組隨機(jī)數(shù)對應(yīng)的功能函數(shù)值Zi≤0,則當(dāng)N→∞時(shí),根據(jù)伯努利大數(shù)定理及正態(tài)隨機(jī)變量的特性有:結(jié)構(gòu)失效概率,可靠指標(biāo)。
從蒙特卡羅方法的思路可看出,該方法回避了結(jié)構(gòu)可靠度分析中的數(shù)學(xué)困難,不管狀態(tài)函數(shù)是否非線性、隨機(jī)變量是否非正態(tài),只要模擬的次數(shù)足夠多,就可得到一個(gè)比較精確的失效概率和可靠度指標(biāo)。特別在巖土體分析中,變異系數(shù)往往較大,與JC法計(jì)算的可靠指標(biāo)相比,結(jié)果更為精確,并且由于思路簡單易于編制程序。
5.蒙特卡羅方法在數(shù)學(xué)中的應(yīng)用
通常蒙特·卡羅方法通過構(gòu)造符合一定規(guī)則的隨機(jī)數(shù)來解決數(shù)學(xué)上的各種問題。對于那些由于計(jì)算過于復(fù)雜而難以得到解析解或者根本沒有解析解的問題,蒙特·卡羅方法是一種有效的求出數(shù)值解的方法。一般蒙特·卡羅方法在數(shù)學(xué)中最常見的應(yīng)用就是蒙特·卡羅積分。
6.蒙特卡羅方法的應(yīng)用領(lǐng)域
蒙特卡羅方法在金融工程學(xué),宏觀經(jīng)濟(jì)學(xué),生物醫(yī)學(xué),計(jì)算物理學(xué)(如粒子輸運(yùn)計(jì)算、量子熱力學(xué)計(jì)算、空氣動力學(xué)計(jì)算)等領(lǐng)域應(yīng)用廣泛。
7.蒙特卡羅方法的工作過程
在解決實(shí)際問題的時(shí)候應(yīng)用蒙特·卡羅方法主要有兩部分工作:
1. 用蒙特·卡羅方法模擬某一過程時(shí),需要產(chǎn)生各種概率分布的隨機(jī)變量。
2. 用統(tǒng)計(jì)方法把模型的數(shù)字特征估計(jì)出來,從而得到實(shí)際問題的數(shù)值解。
8.蒙特卡羅方法分子模擬計(jì)算的步驟
使用蒙特·卡羅方法進(jìn)行分子模擬計(jì)算是按照以下步驟進(jìn)行的:
1. 使用隨機(jī)數(shù)發(fā)生器產(chǎn)生一個(gè)隨機(jī)的分子構(gòu)型。
2. 對此分子構(gòu)型的其中粒子坐標(biāo)做無規(guī)則的改變,產(chǎn)生一個(gè)新的分子構(gòu)型。
3. 計(jì)算新的分子構(gòu)型的能量。
4. 比較新的分子構(gòu)型于改變前的分子構(gòu)型的能量變化,判斷是否接受該構(gòu)型。
- 若新的分子構(gòu)型能量低于原分子構(gòu)型的能量,則接受新的構(gòu)型,使用這個(gè)構(gòu)型重復(fù)再做下一次迭代。
- 若新的分子構(gòu)型能量高于原分子構(gòu)型的能量,則計(jì)算玻爾茲曼因子,并產(chǎn)生一個(gè)隨機(jī)數(shù)。
- 若這個(gè)隨機(jī)數(shù)大于所計(jì)算出的玻爾茲曼因子,則放棄這個(gè)構(gòu)型,重新計(jì)算。
- 若這個(gè)隨機(jī)數(shù)小于所計(jì)算出的玻爾茲曼因子,則接受這個(gè)構(gòu)型,使用這個(gè)構(gòu)型重復(fù)再做下一次迭代。
5. 如此進(jìn)行迭代計(jì)算,直至最后搜索出低于所給能量條件的分子構(gòu)型結(jié)束。
9.蒙特卡羅模型的發(fā)展運(yùn)用
從理論上來說,蒙特卡羅方法需要大量的實(shí)驗(yàn)。實(shí)驗(yàn)次數(shù)越多,所得到的結(jié)果才越精確。以上Buffon的投針實(shí)驗(yàn)為例、歷史上的記錄如下表1。
從表中數(shù)據(jù)可以看到,一直到公元20世紀(jì)初期,盡管實(shí)驗(yàn)次數(shù)數(shù)以千計(jì),利用蒙特卡羅方法所得到的圓周率∏值,還是達(dá)不到公元5世紀(jì)祖沖之的推算精度。這可能是傳統(tǒng)蒙特卡羅方法長期得不到推廣的主要原因。
計(jì)算機(jī)技術(shù)的發(fā)展,使得蒙特卡羅方法在最近10年得到快速的普及?,F(xiàn)代的蒙特卡羅方法,已經(jīng)不必親自動手做實(shí)驗(yàn),而是借助計(jì)算機(jī)的高速運(yùn)轉(zhuǎn)能力,使得原本費(fèi)時(shí)費(fèi)力的實(shí)驗(yàn)過程,變成了快速和輕而易舉的事情。它不但用于解決許多復(fù)雜的科學(xué)方面的問題,也被項(xiàng)目管理人員經(jīng)常使用。
借助計(jì)算機(jī)技術(shù),蒙特卡羅方法實(shí)現(xiàn)了兩大優(yōu)點(diǎn):
一是簡單,省卻了繁復(fù)的數(shù)學(xué)報(bào)導(dǎo)和演算過程,使得一般人也能夠理解和掌握;
二是快速。簡單和快速,是蒙特卡羅方法在現(xiàn)代項(xiàng)目管理中獲得應(yīng)用的技術(shù)基礎(chǔ)。
蒙特卡羅方法有很強(qiáng)的適應(yīng)性,問題的幾何形狀的復(fù)雜性對它的影響不大。該方法的收斂性是指概率意義下的收斂,因此問題維數(shù)的增加不會影響它的收斂速度,而且存貯單元也很省,這些是用該方法處理大型復(fù)雜問題時(shí)的優(yōu)勢。因此,隨著電子計(jì)算機(jī)的發(fā)展和科學(xué)技術(shù)問題的日趨復(fù)雜,蒙特卡羅方法的應(yīng)用也越來越廣泛。它不僅較好地解決了多重積分計(jì)算、微分方程求解、積分方程求解、特征值計(jì)算和非線性方程組求解等高難度和復(fù)雜的數(shù)學(xué)計(jì)算問題,而且在統(tǒng)計(jì)物理、核物理、真空技術(shù)、系統(tǒng)科學(xué) 、信息科學(xué) 、公用事業(yè)、地質(zhì)、醫(yī)學(xué),可靠性及計(jì)算機(jī)科學(xué)等廣泛的領(lǐng)域都得到成功的應(yīng)用。
10.項(xiàng)目管理中蒙特卡羅模擬方法的一般步驟
項(xiàng)目管理中蒙特卡羅模擬方法的一般步驟是:
1、對每一項(xiàng)活動,輸入最小、最大和最可能估計(jì)數(shù)據(jù),并為其選擇一種合適的先驗(yàn)分布模型;
2、計(jì)算機(jī)根據(jù)上述輸入,利用給定的某種規(guī)則,快速實(shí)施充分大量的隨機(jī)抽樣;
3、對隨機(jī)抽樣的數(shù)據(jù)進(jìn)行必要的數(shù)學(xué)計(jì)算,求出結(jié)果;
4、對求出的結(jié)果進(jìn)行統(tǒng)計(jì)學(xué)處理,求出最小值、最大值以及數(shù)學(xué)期望值和單位標(biāo)準(zhǔn)偏差;
5、根據(jù)求出的統(tǒng)計(jì)學(xué)處理數(shù)據(jù),讓計(jì)算機(jī)自動生成概率分布曲線和累積概率曲線(通常是基于正態(tài)分布的概率累積S曲線);
6、依據(jù)累積概率曲線進(jìn)行項(xiàng)目風(fēng)險(xiǎn)分析。
11.非權(quán)重蒙特卡羅積分
非權(quán)重蒙特卡羅積分,也稱確定性抽樣,是對被積函數(shù)變量區(qū)間進(jìn)行隨機(jī)均勻抽樣,然后對被抽樣點(diǎn)的函數(shù)值求平均,從而可以得到函數(shù)積分的近似值。此種方法的正確性是基于概率論的中心極限定理。當(dāng)抽樣點(diǎn)數(shù)為m時(shí),使用此種方法所得近似解的統(tǒng)計(jì)誤差恒為 1除于根號M,不隨積分維數(shù)的改變而改變。因此當(dāng)積分維度較高時(shí),蒙特卡羅方法相對于其他數(shù)值解法更優(yōu)。
12.蒙特卡羅方法案例分析
案例一:蒙特卡羅模型在投資項(xiàng)目決策中的開發(fā)應(yīng)用[1]
一、問題的提出
隨著社會主義市場經(jīng)濟(jì)體制的逐步完善、經(jīng)濟(jì)水平的逐步提高,我國社會經(jīng)濟(jì)活動日趨復(fù)雜,越來越多變,其影響越來越廣泛,越來越深遠(yuǎn),不確定性逐漸成為企業(yè)決策時(shí)所面臨的主要難題。因此,如何在不確定條件下做出投資決策,就成為目前理論和實(shí)踐工作者們廣泛關(guān)注的一個(gè)核心課題。
傳統(tǒng)的投資評價(jià)理論——以凈現(xiàn)值法(NPV) 為代表的投資決策分析方法,其根本缺陷在于它們是事先對未來的現(xiàn)金流量做出估計(jì),并假設(shè)其為不變或靜態(tài)的狀況,無法衡量不確定因素的影響,不能體現(xiàn)遞延決策以應(yīng)對所帶來的管理彈性。所以,在不確定環(huán)境下的投資,用凈現(xiàn)值法評估項(xiàng)目不能體現(xiàn)柔性投資安排決策所體現(xiàn)的價(jià)值,無助于項(xiàng)目在決策中回避風(fēng)險(xiǎn)。在多變的市場環(huán)境中,不確定性與競爭者的反應(yīng)使實(shí)際收入與預(yù)期收入有所出入, 所以凈現(xiàn)值法(NPV) 適用于常規(guī)項(xiàng)目,未來不確定性比較小的項(xiàng)目。
為此理論界對未來投資環(huán)境不確定性大的項(xiàng)目提出了實(shí)物期權(quán)法,但在實(shí)踐中應(yīng)用的還是比較少。實(shí)物期權(quán)法的應(yīng)用對企業(yè)決策者的綜合素質(zhì)要求比較高,對企業(yè)資源能力要求也比較高。但是實(shí)物期權(quán)法改變了我國管理者對戰(zhàn)略投資的思維方式。
基于以上的分析,我們得出這樣的結(jié)論:傳統(tǒng)的投資決策方法對風(fēng)險(xiǎn)項(xiàng)目和不確定性項(xiàng)目的評價(jià)有較多不完善之處,有必要對其改進(jìn);實(shí)物期權(quán)法理論上解決了傳統(tǒng)決策方法對不確定性項(xiàng)目評價(jià)的不足,但其應(yīng)用尚處于體系不成熟階段,在實(shí)踐中應(yīng)用并不廣泛。至此,引入蒙特卡羅模型的理論和其分析方法,此方法特別適用于參數(shù)波動性大,且服從某一概率分布的項(xiàng)目,例如地質(zhì)勘察、氣田開發(fā)等項(xiàng)目。
蒙特卡羅模型是利用計(jì)算機(jī)進(jìn)行數(shù)值計(jì)算的一類特殊風(fēng)格的方法, 它是把某一現(xiàn)實(shí)或抽象系統(tǒng)的某種特征或部分狀態(tài), 用模擬模型的系統(tǒng)來代替或模仿, 使所求問題的解正好是模擬模型的參數(shù)或特征量, 再通過統(tǒng)計(jì)實(shí)驗(yàn), 求出模型參數(shù)或特征量的估計(jì)值, 得出所求問題的近似解。目前評價(jià)不確定和風(fēng)險(xiǎn)項(xiàng)目多用敏感性分析和概率分析,但計(jì)算上較為復(fù)雜,尤其各因素變化可能出現(xiàn)概率的確定比較困難。蒙特卡羅模型解決了這方面的問題,各種因素出現(xiàn)的概率全部由軟件自動給出,通過多次模擬,得出項(xiàng)目是否應(yīng)該投資。該方法應(yīng)用面廣, 適應(yīng)性強(qiáng)。
惠斯通(Weston) 對美國1 000 家大公司所作的統(tǒng)計(jì)表明: 在公司管理決策中, 采用隨機(jī)模擬方法的頻率占29 % 以上, 遠(yuǎn)大于其他數(shù)學(xué)方法的使用頻率 。特別, 該方法算法簡單, 但計(jì)算量大, 在模擬實(shí)際問題時(shí), 要求所建模型必須反復(fù)驗(yàn)證,這就離不開計(jì)算機(jī)技術(shù)的幫助, 自然可利用任何一門高級語言來實(shí)現(xiàn)這種方法。通過一案例具體實(shí)現(xiàn)了基于Excel 的Monte Carlo 模擬系統(tǒng), 由于Microsof tExcel 電子表格軟件強(qiáng)大的數(shù)據(jù)分析功能和友好的界面設(shè)計(jì)能力, 使系統(tǒng)實(shí)現(xiàn)起來頗感輕松自如。
二、理論和方法
蒙特卡洛模擬早在四十年前就用于求解核物理方面的問題。當(dāng)管理問題更為復(fù)雜時(shí),傳統(tǒng)的數(shù)學(xué)方法就難以進(jìn)行了。模擬是將一個(gè)真實(shí)事物模型化,然后對該模型做各種實(shí)驗(yàn),模擬也是一個(gè)通過實(shí)驗(yàn)和糾正誤差來尋求最佳選擇的數(shù)值性求解的過程。模擬作為一種有效的數(shù)值處理方法, 計(jì)算量大。以前只是停留在理論探討上, 手工是無法完成的。在管理領(lǐng)域由于規(guī)律復(fù)雜隨機(jī)因素多, 很多問題難以用線性數(shù)學(xué)公式分析和解決, 用模擬則有效得多。在新式的計(jì)算機(jī)普及后, 用模擬技術(shù)來求解管理問題已成為可能。
計(jì)算機(jī)模擬技術(shù)和其它方法相比有以下優(yōu)點(diǎn):
1) 成本低、風(fēng)險(xiǎn)小, 在產(chǎn)品未投產(chǎn), 實(shí)際生產(chǎn)未形成就可以對市場進(jìn)行分析模擬, 極大地減少費(fèi)用和風(fēng)險(xiǎn)。
2) 環(huán)境條件要求低, 工作人員不需要高深的數(shù)學(xué)能力, 完全依靠計(jì)算機(jī)進(jìn)行, 在硬件和軟件日益降價(jià)的情況下, 可以成為現(xiàn)實(shí)。
3) 可信度高, 常用的統(tǒng)計(jì)推理方法需要大量歷史數(shù)據(jù)(如平均數(shù)法、最小二乘法) , 對無歷史資料的場合就無能為力(如新產(chǎn)品) , 而且精度低。
模擬的最大特點(diǎn)是借助一個(gè)隨機(jī)數(shù)來模仿真實(shí)的現(xiàn)實(shí), 隨機(jī)數(shù)的產(chǎn)生則由計(jì)算機(jī)來產(chǎn)生。稱為偽隨機(jī)數(shù)。即:
Rn = F (r - 1 , r - 2 ,……r - k)
在以對象為中心的軟件中, EXCEL 有一個(gè)RANE()函數(shù)實(shí)現(xiàn)偽隨機(jī)數(shù)功能。RANE( )實(shí)際上是一個(gè)會自動產(chǎn)生偽隨機(jī)數(shù)的子程序。用產(chǎn)生的偽隨機(jī)數(shù)模擬市場購買行為, 得出產(chǎn)品銷售量, 在生產(chǎn)成本相對固定時(shí)進(jìn)而推測出產(chǎn)品的利潤。此方法不用編制復(fù)雜的程序, 思路假設(shè)為, 作為系統(tǒng)內(nèi)部是可以控制的, 即企業(yè)內(nèi)部生產(chǎn)成本可以人為控制, 但系統(tǒng)外部因素是不可控制的(消費(fèi)心理導(dǎo)致的消費(fèi)行為) , 則生產(chǎn)與銷售就會產(chǎn)生矛盾。生產(chǎn)量小于銷售量, 造成開工不足資源浪費(fèi);生產(chǎn)量大于銷售量, 造成產(chǎn)品積壓, 資金占用, 同樣形成資源的浪費(fèi)。最好生產(chǎn)量等于銷售量, 則資源浪費(fèi)最小, 自然經(jīng)濟(jì)效益就最高, 實(shí)際就是利潤最大化。如果能科學(xué)地測算出在什么情況下利潤最大, 則這時(shí)的產(chǎn)量就是最佳產(chǎn)量, 成本也就最低。這就是市場作為導(dǎo)向, 以銷定產(chǎn)的公認(rèn)市場經(jīng)濟(jì)的準(zhǔn)則。實(shí)際工作中, 很多產(chǎn)品的消費(fèi)是具有隨機(jī)性的, 主要是一些需求彈性大、價(jià)格彈性大、價(jià)格低、與日常生活有關(guān)的中、小商品, 如副食品、日用消費(fèi)品、玩具、輕工業(yè)產(chǎn)品。對企業(yè)而言利潤較高的產(chǎn)品。
從以上分析可以看出, 蒙特卡洛模擬可以動態(tài)實(shí)現(xiàn)對產(chǎn)品利潤的預(yù)測, 從而對產(chǎn)品產(chǎn)量科學(xué)控制,實(shí)現(xiàn)資源優(yōu)化, 是一種較好的決策支持方法。
三、蒙特卡羅模型在Excel 表中的應(yīng)用
某氣田投資項(xiàng)目期投資、壽命期、殘值以及各年的收入、支出,以及應(yīng)付稅金的稅率、項(xiàng)目的資本成本等都是獨(dú)立的隨機(jī)變量,他們的概率密度函數(shù)如表1所示。
表 各變量對應(yīng)概率密度函數(shù)表
A | B | C | D | |
2 | 概率 | 對應(yīng)的隨機(jī)數(shù) | 可能值 | |
3 | 投資Yo | 0.2 | 0 | 450 |
4 | 0.5 | 20 | 500 | |
5 | 0.3 | 70 | 550 | |
6 | 壽命N | 0.5 | 0 | 6 |
7 | 0.3 | 50 | 7 | |
8 | 0.2 | 80 | 8 | |
9 | 殘值F | 0.25 | 0 | 40 |
10 | 0.5 | 25 | 50 | |
11 | 0.25 | 75 | 60 | |
12 | 稅率Te | 0.2 | 0 | 45 |
13 | 0.5 | 20 | 48 | |
14 | 0.3 | 70 | 51 | |
15 | 年收入R | 0.15 | 0 | 700 |
16 | 0.3 | 15 | 750 | |
17 | 0.4 | 45 | 800 | |
18 | 0.15 | 85 | 850 | |
19 | 年支出C | 0.2 | 0 | 100 |
20 | 0.4 | 20 | 150 | |
21 | 0.3 | 60 | 200 | |
22 | 0.1 | 90 | 250 | |
23 | 資本成本i | 0.1 | 0 | 10 |
24 | 0.2 | 10 | 12 | |
25 | 0.4 | 30 | 14 | |
26 | 0.2 | 70 | 16 | |
27 | 0.1 | 90 | 18 |
本案例用windowsXP 中的Excel2003 對該項(xiàng)目進(jìn)行模擬如下:
1) 在A32 單元格(投資Yo 模擬:隨機(jī)數(shù)) 輸入:= RANDBETWEEN (0 ,99) ;在B32 單元格(投資Yo模擬:投資) 輸入: = VLOO KUP (A32 , $C $3 : $D$5 ,2) ;
2) 在C32 單元格(壽命N 模擬:隨機(jī)數(shù)) 輸入: =RANDBETWEEN (0 ,99) ;在D32 單元格(壽命N 模擬: 壽命) 輸入: = VLOO KUP ( C32 , $C $6 : $D$8 ,2) ;
3) E32 ,G32 , I32 , K32 ,M32 單元格分別輸入: =RANDBETWEEN (0 , 99) ; F32 = VLOOPUP ( E32 ,$C $9 : $D $11 , 2) , H32 = VLOOPUP ( G32 , $C$12 : $D $14 ,2) ,J 32 = VLOO KUP ( I32 , $C $15 :$D $18 ,2) ,L32 = VLOO KUP ( K32 , $C $19 : $D$22 ,2) ,
N32 = VLOO KUP(M32 , $C $23 : $D $27 ,2)
4) O32 = (B32 - F32) / D32 , P32 = (J 32 - L32 -O32) * (1 - H32/ 100) + O32 ,Q32 = PV (N32/ 100 ,D32 , - P32) - B32 ;
5) H3 = AVERA GE ( Q32 , Q5031 ) , H4 =STDEV (Q32 ,Q5031) ,H5 = MAX ( Q32 , Q5031 ) , H6 = MIN ( Q32 ,Q5031) ,H7 = H4/ H3 ,H8 = COUN TIF (Q32 :Q5031 ,“ < 0”) / COUN T(Q32 ,Q5031) 。
在Excel 工具表中模擬5000次,結(jié)果輸出見下表 :
表 結(jié)果輸出表(1)
A | B | C | D | E | F | G | H | |
投資Yo模擬 | 壽命N模擬 | 殘值F模擬 | 稅率Te模擬 | |||||
隨機(jī)數(shù) | 投資 | 隨機(jī)數(shù) | 壽命 | 隨機(jī)數(shù) | 殘值 | 隨機(jī)數(shù) | 稅率 | |
32 | 17 | 450 | 78 | 7 | 51 | 50 | 2 | 45 |
33 | 31 | 500 | 84 | 8 | 87 | 60 | 67 | 48 |
34 | 22 | 500 | 63 | 7 | 97 | 60 | 88 | 51 |
35 | 95 | 550 | 70 | 7 | 40 | 50 | 81 | 51 |
36 | 31 | 500 | 96 | 8 | 20 | 40 | 12 | 45 |
37 | 16 | 450 | 1 | 6 | 41 | 50 | 66 | 48 |
38 | 79 | 550 | 33 | 6 | 87 | 60 | 51 | 48 |
39 | 0 | 450 | 97 | 8 | 78 | 60 | 17 | 45 |
40 | 35 | 500 | 43 | 6 | 22 | 40 | 5 | 45 |
41 | 3 | 450 | 70 | 7 | 52 | 50 | 87 | 51 |
42 | 78 | 550 | 39 | 6 | 69 | 50 | 30 | 48 |
43 | 20 | 500 | 36 | 6 | 90 | 60 | 2 | 45 |
44 | 96 | 550 | 5 | 6 | 92 | 60 | 40 | 48 |
45 | 51 | 500 | 36 | 6 | 90 | 60 | 20 | 48 |
46 | 58 | 500 | 39 | 6 | 1 | 40 | 11 | 45 |
47 | 4 | 450 | 79 | 7 | 22 | 40 | 29 | 48 |
48 | 83 | 550 | 36 | 6 | 40 | 50 | 62 | 48 |
… | … | … | … | … | … | … | … | … |
表 結(jié)果輸出表(2)
I | J | K | L | M | N | |
年收入R模擬 | 年支出C模擬 | 資本成本i模擬 | ||||
隨機(jī)數(shù) | 年收入 | 隨機(jī)數(shù) | 年支出 | 隨機(jī)數(shù) | 資本成本 | |
32 | 12 | 700 | 88 | 200 | 4 | 10 |
33 | 11 | 700 | 88 | 200 | 59 | 14 |
34 | 3 | 700 | 79 | 200 | 7 | 10 |
35 | 68 | 800 | 20 | 150 | 77 | 16 |
36 | 23 | 750 | 21 | 150 | 53 | 14 |
37 | 98 | 850 | 73 | 200 | 40 | 14 |
38 | 37 | 750 | 23 | 150 | 99 | 18 |
39 | 72 | 800 | 92 | 250 | 16 | 12 |
40 | 81 | 800 | 96 | 250 | 46 | 14 |
41 | 32 | 750 | 17 | 100 | 74 | 16 |
42 | 70 | 800 | 73 | 200 | 17 | 12 |
43 | 39 | 750 | 78 | 200 | 68 | 14 |
44 | 12 | 700 | 46 | 150 | 92 | 18 |
45 | 79 | 800 | 75 | 200 | 15 | 12 |
46 | 10 | 700 | 52 | 150 | 54 | 14 |
47 | 45 | 800 | 1 | 100 | 87 | 16 |
48 | 75 | 800 | 47 | 150 | 4 | 10 |
… | … | … | … | … | … | … |
表 結(jié)果輸出表(3)
O | P | Q | |
折舊Dt | 各年現(xiàn)金流量Yt | NPV | |
32 | 75 | 307175 | 840.3314803 |
33 | 76166667 | 348.18 | 856.3672298 |
34 | 64128571 | 342.8571 | 1064.716528 |
35 | 75 | 374 | 878.0912297 |
36 | 55.71429 | 364.7429 | 1114.128559 |
37 | 62.185714 | 368.1714 | 986.8844068 |
38 | 73.33333 | 355.9 | 883.9767691 |
39 | 58.57143 | 299.3714 | 1007.465496 |
40 | 83.33333 | 336.5 | 689.9136332 |
41 | 83.33333 | 326 | 717.7056104 |
42 | 66.66667 | 344 | 964.3241193 |
43 | 85 | 35218 | 749.9748285 |
44 | 57.14286 | 347.6429 | 1040.798547 |
45 | 64.28571 | 276.4286 | 761.5527004 |
46 | 76.166667 | 348.8 | 785.2358848 |
47 | 48.75 | 335.4 | 1105.87495 |
48 | 57.5 | 391.6 | 1200.950194 |
… | … | … | … |
所得結(jié)果如下:
表 凈現(xiàn)值模擬計(jì)算結(jié)果表
F | G | H | |
2 | 凈現(xiàn)值模擬計(jì)算結(jié)果 | ||
3 | 凈現(xiàn)值期望值 | 952.13017 | |
4 | 凈現(xiàn)值標(biāo)準(zhǔn)差 | 198.90501 | |
5 | 凈現(xiàn)值最大值 | 1726.9833 | |
6 | 凈現(xiàn)值最小值 | 405.54502 | |
7 | 變異系數(shù) | 0.12089053 | |
8 | 凈現(xiàn)值為負(fù)的概率 | 0 |
表 凈現(xiàn)值概率分布統(tǒng)計(jì)表
凈現(xiàn)值概率分布統(tǒng)計(jì) | |||
系統(tǒng)分組 | 分布區(qū)間 | 概率 | 累計(jì)概率 |
300 | 3 | 以下0 | 0 |
400 | 3~4 | 0 | 0 |
500 | 4~5 | 0.0036 | 0.0036 |
600 | 5~6 | 0.0244 | 0.028 |
700 | 6~7 | 0.062 | 0.09 |
800 | 7~8 | 0.1322 | 0.2222 |
900 | 8~9 | 0.1898 | 0.412 |
1000 | 9~10 | 0.1992 | 0.6112 |
1100 | 10~11 | 0.1628 | 0.774 |
1200 | 11~12 | 0.1162 | 0.8902 |
1300 | 12~13 | 0.0548 | 0.945 |
1400 | 13~14 | 0.0338 | 0.9788 |
1500 | 14~15 | 0.0132 | 0.992 |
1600 | 15~16 | 0.005 | 0.997 |
1700 | 16~17 | 0.0018 | 0.9988 |
1800 | 17以上 | 0.0012 | 1 |
從分析結(jié)果得出,雖然此項(xiàng)目未來的不確定性很大,但由圖可知,此氣田開發(fā)項(xiàng)目服從正態(tài)分布,模擬5 000次的結(jié)果是凈現(xiàn)值為負(fù)的概率為零,并且項(xiàng)目的期望凈現(xiàn)值為952113 萬元,說明項(xiàng)目值得開發(fā)。
由以上的案例分析可知,基于蒙特卡羅模擬的風(fēng)險(xiǎn)分析,對于工程實(shí)際應(yīng)用具有較強(qiáng)的參考價(jià)值。隨機(jī)模擬5 000 次,如果僅靠人的大腦進(jìn)行計(jì)算,這在現(xiàn)實(shí)世界中是不可能的,但考慮到系統(tǒng)決策支持功能, 算法設(shè)計(jì)為由使用者自己設(shè)計(jì)方案, 采用人機(jī)交互, 這樣可以發(fā)揮使用者的經(jīng)驗(yàn)判斷;系統(tǒng)實(shí)現(xiàn)模擬運(yùn)算——系統(tǒng)對每一個(gè)設(shè)定的投資項(xiàng)目期投資、壽命期、殘值以及各年的收入、支出,以及應(yīng)付稅金的稅率、項(xiàng)目的資本成本等隨機(jī)變量及他們的概率密度函數(shù),通過蒙特卡羅模擬方法,得出了項(xiàng)目在不同概率發(fā)生的情況下凈現(xiàn)值模擬計(jì)算結(jié)果。為人們解決不確定性項(xiàng)目的決策提供了簡單的方法,節(jié)約了人們的工作量和時(shí)間。但是利用蒙特卡羅模型分析問題時(shí),收集數(shù)據(jù)是非常關(guān)鍵的。