R語(yǔ)言幾何布朗運(yùn)動(dòng) GBM模擬股票價(jià)格優(yōu)化建立期權(quán)定價(jià)概率加權(quán)收益曲線可視化
原文鏈接:http://tecdat.cn/?p=26842?
原文出處:拓端數(shù)據(jù)部落公眾號(hào)
對(duì)于模擬股票價(jià)格,幾何布朗運(yùn)動(dòng) (GBM) 是?事實(shí)上的首選?模型。
它有一些很好的屬性,通常與股票價(jià)格一致,例如對(duì)數(shù)正態(tài)分布(因此向下限制為零),并且期望收益不取決于價(jià)格的大小。
當(dāng)然,GBM 只是一個(gè)模型,沒有一個(gè)模型可以完美地代表現(xiàn)實(shí)。特別是,GBM 使用恒定波動(dòng)率,這顯然與現(xiàn)實(shí)不符。它也沒有考慮跳躍,例如由新聞引起的跳躍。
盡管有這些限制,GBM 仍然是對(duì)股票價(jià)格行為進(jìn)行建模的有用起點(diǎn)。特別是,它非常有助于建立對(duì)各種金融概念的直覺——尤其是期權(quán)定價(jià)。
通常,當(dāng)我們對(duì)股票價(jià)格進(jìn)行建模時(shí),我們的用例需要運(yùn)行大量模擬以生成可能結(jié)果的分布。
由于這樣的用例需要多次運(yùn)行 GBM 模擬器,因此考慮優(yōu)化代碼以提高速度是值得的。少量的深思熟慮可以節(jié)省大量的時(shí)間。
當(dāng)然,您要避免提早優(yōu)化的誘惑,以免花費(fèi)更多時(shí)間優(yōu)化代碼,而不是優(yōu)化本身節(jié)省的時(shí)間。
在這篇文章中,我將展示兩種使用 GBM 模擬價(jià)格路徑的方法:
使用?
?循環(huán)迭代價(jià)格路徑的數(shù)量和每個(gè)路徑中的時(shí)間步數(shù)
向量化,我們一次對(duì)整個(gè)向量或矩陣進(jìn)行操作
基于循環(huán)的 GBM 模擬
?下面是在嵌套循環(huán)中運(yùn)行 GBM 模擬的一些代碼?:
100 個(gè)時(shí)間步長(zhǎng) 50 次,年化波動(dòng)率為 10%,偏移為 0,起始價(jià)格為 100,我得到的價(jià)格路徑如下所示:

這看起來(lái)像是上面指定的參數(shù)所描述的隨機(jī)價(jià)格過(guò)程的合理表示。這個(gè)循環(huán)實(shí)際上運(yùn)行得很快。
如果我們要求它進(jìn)行 50,000 次模擬,讓我們看看運(yùn)行得有多快:

大約十秒鐘。
GBM 模擬的矢量化方法
R 中的許多操作都是矢量化的——這意味著操作可以在后臺(tái)并行發(fā)生,或者至少可以使用用 C 編寫的、對(duì)用戶隱藏的緊密循環(huán)運(yùn)行得更快。
向量化的經(jīng)典例子是兩個(gè)向量的元素相加。這種操作的 for 循環(huán)版本如下所示:

通過(guò)矢量化,我們可以簡(jiǎn)單地做到:
R 中的許多操作都是矢量化的——事實(shí)上,R 的設(shè)計(jì)就是考慮到這一點(diǎn)。
讓我們?cè)谖覀兊?GBM 模擬中對(duì)一個(gè)操作進(jìn)行矢量化來(lái)演示。
不像我們?cè)谘h(huán)版本中那樣為每天的每個(gè)模擬生成一個(gè)新的隨機(jī)數(shù),我們將在一開始就生成一個(gè)包含整個(gè)模擬所需的所有隨機(jī)數(shù)的矩陣。這就是下面代碼中的矩陣??。
然后,我們可以在單個(gè)操作?中?將該矩陣轉(zhuǎn)換??為具有我們所需參數(shù)的 GBM 的實(shí)現(xiàn)。
作為最后一步,我們將給定的初始價(jià)格添加??到每個(gè)模擬的第一個(gè)元素,然后我們通過(guò)時(shí)間累積產(chǎn)品來(lái)獲得我們的價(jià)格路徑。
這是代碼:
如果我運(yùn)行 50 次,我會(huì)得到如下所示的價(jià)格路徑:

讓我們模擬50,000 條價(jià)格路徑,看看我們是否在循環(huán)版本中獲得了加速:

這是一個(gè)數(shù)量級(jí)加速的最佳部分。
GBM 模擬器可以用來(lái)做什么?
鑒于我們的模型假設(shè),我們可以使用它來(lái)估計(jì)未來(lái)某個(gè)時(shí)間點(diǎn)的價(jià)格分布:

從那里,估計(jì)被模擬股票期權(quán)的?概率加權(quán)收益曲線?,比如一個(gè)?看漲期權(quán)?在 105 處執(zhí)行(同樣,考慮到我們的模型假設(shè),并忽略遠(yuǎn)期利率和股息):
最后,我們可以通過(guò)對(duì)概率加權(quán)收益曲線下的面積求和來(lái)獲得期權(quán)的期望值:

結(jié)論
幾何布朗運(yùn)動(dòng)模擬器是您開始對(duì)股票價(jià)格進(jìn)行建模時(shí)首先使用的工具之一。
特別是,它是一個(gè)有用的工具,可以幫助您建立?期權(quán)定價(jià)等概念。
利用 R 的矢量化工具,我們可以立即運(yùn)行數(shù)以萬(wàn)計(jì)的模擬。

最受歡迎的見解
1.R語(yǔ)言泊松Poisson回歸模型分析案例
2.R語(yǔ)言進(jìn)行數(shù)值模擬:模擬泊松回歸模型
3.使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進(jìn)行股價(jià)預(yù)測(cè)
4.R語(yǔ)言對(duì)布豐投針(蒲豐投針)實(shí)驗(yàn)進(jìn)行模擬和動(dòng)態(tài)可視化
5.用R語(yǔ)言模擬混合制排隊(duì)隨機(jī)服務(wù)排隊(duì)系統(tǒng)
6.GARCH(1,1),MA以及歷史模擬法的VaR比較
7.R語(yǔ)言做復(fù)雜金融產(chǎn)品的幾何布朗運(yùn)動(dòng)的模擬
8.R語(yǔ)言進(jìn)行數(shù)值模擬:模擬泊松回歸模型
9.R語(yǔ)言對(duì)巨災(zāi)風(fēng)險(xiǎn)下的再保險(xiǎn)合同定價(jià)研究案例:廣義線性模型和帕累托分布Pareto distributions