王鐵媛
蒙特卡羅法,(Monte-CarloSimulation)又稱統(tǒng)計實驗法或隨機模擬法。該法是一種通過對隨機變量的統(tǒng)計實驗,隨機模擬,求解數(shù)學(xué)、物理、工程技術(shù)問題近似解的數(shù)學(xué)方法。其特點是用數(shù)學(xué)方法在計算機上模擬實際概率過程,然后加以統(tǒng)計處理。此法最初由VonNeumanm和Ulam用來模擬核反應(yīng)堆中子行為活動而首創(chuàng)的。
通常做分析時,人們最關(guān)心的問題是系統(tǒng)的動態(tài)性。但目前各種定量計算所運用的數(shù)字模型很少能反映隨時變化的復(fù)雜過程,由其是變量本身牽涉到不確定性的問題時,使所考慮的問題更復(fù)雜,構(gòu)造數(shù)學(xué)模型也更加困難。蒙特卡羅法可以隨機模擬各種變量間的動態(tài)關(guān)系,解決某些具有不確定性的復(fù)雜問題,被公認(rèn)為是一種經(jīng)濟(jì)而有效的方法。
假定函數(shù)Y=f(X1,X2,……Xn),其中變量X1,X2,……Xn的概率分布已知。當(dāng)然,在實際問題中,f(X1,X2,……Xn)往往是未知的,或者是一個非常復(fù)雜的函數(shù)關(guān)系式。一般難以用解析法求解有關(guān)Y的概率分布及其數(shù)字特征。蒙特卡羅模擬分析利用一個隨機數(shù)發(fā)生器,通常直接或間接抽樣取出每一組隨機變量(X1,X2,…,Xn)的值(X1i,X2i,…,Xni),然后按Y對于X1,X2,……Xn的關(guān)系式確定函數(shù)Y的值Yi。如此反復(fù)模擬多次,便可得到函數(shù)Y的一批抽象數(shù)據(jù)Yn。當(dāng)模擬次數(shù)足夠多時,由大數(shù)定律可知,就可得到與實際情況相似的數(shù)學(xué)特征解。
由于蒙特卡羅法可以仿真未知事件的結(jié)果,因此對難以用數(shù)學(xué)分析方法求解的風(fēng)險問題,就具有很大的優(yōu)勢。該方法可以隨機模擬各種變量間的動態(tài)關(guān)系,解決某些具有不確定性的復(fù)雜問題,被認(rèn)為是一種經(jīng)濟(jì)而有效的方法,已成為當(dāng)今風(fēng)險分析的主要工具之一。
項目風(fēng)險就是項目生命期中的風(fēng)險,即可能導(dǎo)致項目損失的不確定性。項目風(fēng)險具有如下特征:
①客觀性和普遍性;
②風(fēng)險發(fā)生的偶然性和大量同類風(fēng)險的必然性;
③可變性;
④多樣性和多層次性;
⑤可測性。
項目風(fēng)險量化是在風(fēng)險識別的基礎(chǔ)上,把損失頻率、損失程度以及其他風(fēng)險因素綜合起來考慮,分析風(fēng)險可能對項目造成的影響,尋求風(fēng)險對策,是項目風(fēng)險管理的重要環(huán)節(jié)。
項目風(fēng)險量化的具體作用有如下幾個方面:
①在風(fēng)險評估的基礎(chǔ)上進(jìn)一步量化已識別的項目風(fēng)險的發(fā)生概率和后果,以減少風(fēng)險發(fā)生的概率和后果估計中的不確定性。如果項目行式有重大變化,則有必要重新分析風(fēng)險發(fā)生的概率和可能后果;
②比較和評價項目風(fēng)險因素,按照風(fēng)險不確定性和大小排列先后順序;
③找出各個風(fēng)險因素之間可能的內(nèi)在聯(lián)系;
④考慮各種不同風(fēng)險在什么樣的條件下才能相互轉(zhuǎn)化。
本文擬將蒙特卡羅模擬法應(yīng)用于項目風(fēng)險分析,使用它能對項目中的風(fēng)險因素及其影響做出評價。蒙特卡羅模擬法具有如下優(yōu)點:
第一,蒙特卡羅模擬法的模擬結(jié)果是從每個風(fēng)險變量的概率統(tǒng)計數(shù)據(jù)中隨機取樣計算出來的,很少存在主觀判斷;
第二,蒙特卡羅模擬法可處理多個風(fēng)險變量同時變化的情況,不只考慮單個風(fēng)險變化。
第三,蒙特卡羅模擬法取的是相等幾率的隨機樣本,所以每個風(fēng)險變量中出現(xiàn)頻率次數(shù)多的數(shù)值,被取到的機會也多,因而其結(jié)果更能夠反映各風(fēng)險變量的出現(xiàn)機會。同時又由于蒙特卡羅模擬法簡便易用、易于在計算機上模擬實現(xiàn),因此本文選用蒙特卡羅模擬法對項目進(jìn)行定量風(fēng)險量化。
在項目風(fēng)險量化過程中采用蒙特卡羅模擬,就是通過實驗的方法得到某種不確定事件出現(xiàn)的頻率,得到其變化的規(guī)律,然后再研究這種規(guī)律,得到?jīng)Q策者需要的不確定信息。其一般過程是:
首先,構(gòu)造描述問題的概率過程。確定輸入變量及其概率分布。通過模擬試驗,獨立地隨機抽取各輸入變量的值,并使所抽取的隨機數(shù)值符合既定的概率分布。對于本身就具有隨機性質(zhì)的問題,主要是正確地描述和模擬這個概率過程。以項目總進(jìn)度為例,它實際上就是一個具有隨機性質(zhì)的概率過程,項目實際工期拖延事件就是一個不確定變量。
其次,建立數(shù)學(xué)模型,按照研究目的編制程序計算各輸出變量。
最后,確定實驗次數(shù)以滿足預(yù)定的精度要求,以逐漸積累的較大樣本來模擬輸出函數(shù)的概率分布。
某企業(yè)計劃一投資項目,初始投資25000元,項目壽命期3年,期末無殘值。經(jīng)統(tǒng)計分析得出產(chǎn)品銷售量、單價、單位變動成本和付現(xiàn)固定成本都有可能發(fā)生變動,其在各年可能達(dá)到的水平以及有關(guān)的概率情況如圖1所示。
圖1
則在excel下利用蒙特卡羅模擬法進(jìn)行項目投資風(fēng)險分析如下:
1.設(shè)計基本數(shù)據(jù)表格,對該項目的各種可能情況對應(yīng)隨機數(shù),建立基本數(shù)據(jù)區(qū)域。如圖2所示。
圖2
2.對每種可能變動因素進(jìn)行蒙特卡羅分析。例如,第一年的銷售量的模擬過程:首先,在銷售量的第一個模擬數(shù)值單元格A23中輸入隨機數(shù)產(chǎn)生公式:=RANDBETWEEN(0,99),然后將該公式復(fù)制到A24:A1022單元格,模擬1000次。然后,在B23單元格中輸入對應(yīng)的銷售量查找公式,=VLOOKUP(A23,$C$3:$D$6,2),這樣,B23單元格就顯示了A23單元格的隨機數(shù)所對應(yīng)的銷售量大小。然后復(fù)制到B24:B1022單元格,模擬1000次。
3.同理,在單價模擬的隨機數(shù)C23單元格輸入隨機數(shù)產(chǎn)生公式,=RANDBETWEEN(0,99),然后復(fù)制到C24:C1022單元格,模擬1000次。然后,在D23單元格中輸入對應(yīng)的銷售量查找公式,=VLOOKUP(C23,$C$7:$D$9,2),然后復(fù)制到D24:D1022單元格,模擬1000次。同理,產(chǎn)生第1年單位變動成本和付現(xiàn)成本的隨機數(shù)和模擬值。如圖3所示。
圖3
4.計算第1年的凈現(xiàn)金流量的模擬數(shù)。公式為:
5.同理產(chǎn)生第2年和第3年銷售量、單價、單位變動成本和付現(xiàn)成本的模擬數(shù)據(jù),最終計算得到1000個凈現(xiàn)金流量的模擬數(shù)據(jù)。
6.計算1000組凈現(xiàn)值的模擬值。
第一組數(shù)據(jù)的凈現(xiàn)金流量的凈現(xiàn)值為:
圖4
7.計算1000組模擬凈現(xiàn)值的期望值,方差等,如圖5所示。
凈現(xiàn)值的期望值公式:M2=AVERAGE(AB23:
圖5
8.最后根據(jù)模擬分析結(jié)果繪制分析圖。如圖6所示。
圖6
由計算結(jié)果及凈現(xiàn)值分布圖,就可以對該項目的風(fēng)險程度進(jìn)行分析。該項目凈現(xiàn)金期望值為40096元(每次模擬結(jié)果不同,但大致范圍一致),標(biāo)準(zhǔn)差15813,項目不可行的概率為0.006,風(fēng)險水平較小,項目可行。根據(jù)凈現(xiàn)值概率分布圖可以看出,該項目的凈現(xiàn)值大致符合正態(tài)分布,分布在20000到60000之間的概率為0.875,總體風(fēng)險較小。