資源描述:
《蒙特卡羅算法.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、MonteCarlo方法概述一、MonteCarlo歷史淵源MonteCarlo方法的實(shí)質(zhì)是通過(guò)大量隨機(jī)試驗(yàn),利用概率論解決問(wèn)題的一種數(shù)值方法,基本思想是基于概率和體積間的相似性。它和Simulation有細(xì)微區(qū)別。單獨(dú)的Simulation只是模擬一些隨機(jī)的運(yùn)動(dòng),其結(jié)果是不確定的;MonteCarlo在計(jì)算的中間過(guò)程中出現(xiàn)的數(shù)是隨機(jī)的,但是它要解決的問(wèn)題的結(jié)果卻是確定的。歷史上有記載的MonteCarlo試驗(yàn)始于十八世紀(jì)末期(約1777年),當(dāng)時(shí)布豐(Buffon)為了計(jì)算圓周率,設(shè)計(jì)了一個(gè)“投針試驗(yàn)”。(后文會(huì)給出一個(gè)更加簡(jiǎn)單的計(jì)算圓周率的
2、例子)。雖然方法已經(jīng)存在了200多年,此方法命名為MonteCarlo則是在二十世紀(jì)四十年,美國(guó)原子彈計(jì)劃的一個(gè)子項(xiàng)目需要使用MonteCarlo方法模擬中子對(duì)某種特殊材料的穿透作用。出于保密緣故,每個(gè)項(xiàng)目都要一個(gè)代號(hào),傳聞命名代號(hào)時(shí),項(xiàng)目負(fù)責(zé)人之一vonNeumann靈犀一點(diǎn)選擇摩洛哥著名賭城蒙特卡洛作為該項(xiàng)目名稱(chēng),自此這種方法也就被命名為MonteCarlo方法廣為流傳。十一、MonteCarlo方法適用用途(一)數(shù)值積分計(jì)算一個(gè)定積分,如,如果我們能夠得到f(x)的原函數(shù)F(x),那么直接由表達(dá)式:F(x1)-F(x0)可以得到該定積分的
3、值。但是,很多情況下,由于f(x)太復(fù)雜,我們無(wú)法計(jì)算得到原函數(shù)F(x)的顯示解,這時(shí)我們就只能用數(shù)值積分的辦法。如下是一個(gè)簡(jiǎn)單的數(shù)值積分的例子。數(shù)值積分簡(jiǎn)單示例如圖,數(shù)值積分的基本原理是在自變量x的區(qū)間上取多個(gè)離散的點(diǎn),用單個(gè)點(diǎn)的值來(lái)代替該小段上函數(shù)f(x)值。常規(guī)的數(shù)值積分方法是在分段之后,將所有的柱子(粉紅色方塊)的面積全部加起來(lái),用這個(gè)面積來(lái)近似函數(shù)f(x)(藍(lán)色曲線)與x軸圍成的面積。這樣做當(dāng)然是不精確的,但是隨著分段數(shù)量增加,誤差將減小,近似面積將逐漸逼近真實(shí)的面積。MonteCarlo數(shù)值積分方法和上述類(lèi)似。差別在于,MonteC
4、arlo方法中,我們不需要將所有方柱的面積相加,而只需要隨機(jī)地抽取一些函數(shù)值,將他們的面積累加后計(jì)算平均值就夠了。通過(guò)相關(guān)數(shù)學(xué)知識(shí)可以證明,隨著抽取點(diǎn)增加,近似面積也將逼近真實(shí)面積。在金融產(chǎn)品定價(jià)中,我們接觸到的大多數(shù)求基于某個(gè)隨機(jī)變量的函數(shù)的期望值??紤]一個(gè)歐式期權(quán),假定我們已經(jīng)知道在期權(quán)行權(quán)日的股票服從某種分布(理論模型中一般是正態(tài)分布),那么用期權(quán)收益在這種分布上做積分求期望即可。(五)隨機(jī)最優(yōu)化MonteCarlo在隨機(jī)最優(yōu)化中的應(yīng)用包括:模擬退火(SimulatedAnnealing)、進(jìn)化策略(Evolutionstrategy)等
5、等。一個(gè)最簡(jiǎn)單的例子是,已知某函數(shù),我們要求此函數(shù)的最大值,那么我們可以不斷地在該函數(shù)定義域上隨機(jī)取點(diǎn),然后用得到的最大的點(diǎn)作為此函數(shù)的最大值。這個(gè)例子實(shí)質(zhì)也是隨機(jī)數(shù)值積分,它等價(jià)于求此函數(shù)的無(wú)窮階范數(shù)(-Norm)在定義域上的積分。由于在金融產(chǎn)品定價(jià)中,這部分內(nèi)容用的相對(duì)較不常見(jiàn),所以此課程就不介紹隨機(jī)最優(yōu)化方法了。十二、MonteCarlo形式與一般步驟(一)積分形式做MonteCarlo時(shí),求解積分的一般形式是:X為自變量,它應(yīng)該是隨機(jī)的,定義域?yàn)?x0,x1),f(x)為被積函數(shù),ψ(x)是x的概率密度。在計(jì)算歐式期權(quán)例子中,x為期權(quán)到
6、期日股票價(jià)格,由于我們計(jì)算期權(quán)價(jià)格的時(shí)候該期權(quán)還沒(méi)有到期,所以此時(shí)x是不確定的(是一隨機(jī)變量),我們按照相應(yīng)的理論,假設(shè)x的概率密度為ψ(x)、最高可能股價(jià)為x1(可以是正無(wú)窮)、最低可能股價(jià)為x0(可以是0),另外,期權(quán)收益是到期日股票價(jià)格x和期權(quán)行權(quán)價(jià)格的函數(shù),我們用f(x)來(lái)表示期權(quán)收益。(二)一般步驟我將MonteCarlo分為三加一個(gè)步驟:1.依據(jù)概率分布ψ(x)不斷生成隨機(jī)數(shù)x,并計(jì)算f(x)由于隨機(jī)數(shù)性質(zhì),每次生成的x的值都是不確定的,為區(qū)分起見(jiàn),我們可以給生成的x賦予下標(biāo)。如xi表示生成的第i個(gè)x。生成了多少個(gè)x,就可以計(jì)算出多
7、少個(gè)f(x)的值2.將這些f(x)的值累加,并求平均值例如我們共生成了N個(gè)x,這個(gè)步驟用數(shù)學(xué)式子表達(dá)就是3.到達(dá)停止條件后退出常用的停止條件有兩種,一種是設(shè)定最多生成N個(gè)x,數(shù)量達(dá)到后即退出,另一種是檢測(cè)計(jì)算結(jié)果與真實(shí)結(jié)果之間的誤差,當(dāng)這一誤差小到某個(gè)范圍之內(nèi)時(shí)退出。有趣的類(lèi)比:積分表達(dá)式中的積分符合類(lèi)比為上式中累加符號(hào),dx類(lèi)比為1/N(數(shù)學(xué)知識(shí)告訴我們積分實(shí)質(zhì)是極限意義下的累加;f(x)還是它自己,積分中的ψ(x)可類(lèi)比為依據(jù)ψ(x)生成隨機(jī)數(shù)4.誤差分析MonteCarlo方法得到的結(jié)果是隨機(jī)變量,因此,在給出點(diǎn)估計(jì)后,還需要給出此估計(jì)值
8、的波動(dòng)程度及區(qū)間估計(jì)。嚴(yán)格的誤差分析首先要從證明收斂性出發(fā),再計(jì)算理論方差,最后用樣本方差來(lái)替代理論方差。在本課程中我們假定此方法收斂,同時(shí)得到的結(jié)果