最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

R語言做復(fù)雜金融產(chǎn)品的幾何布朗運(yùn)動(dòng)的模擬

2021-01-24 20:45 作者:拓端tecdat  | 我要投稿

原文鏈接:http://tecdat.cn/?p=5334

?

?

幾何布朗運(yùn)動(dòng)(GBM)是模擬大多數(shù)依賴某種形式的路徑依賴的金融工具的標(biāo)準(zhǔn)主力。雖然GBM基于有根據(jù)的理論,但人們永遠(yuǎn)不應(yīng)忘記它的最初目的 - 粒子運(yùn)動(dòng)的建模遵循嚴(yán)格的正態(tài)分布脈沖。基本公式由下式給出:

?

標(biāo)準(zhǔn)維納過程代表創(chuàng)新。在對(duì)氣體進(jìn)行建模時(shí)效果很好,在財(cái)務(wù)建模方面存在一些嚴(yán)重的缺陷。問題是維納過程有兩個(gè)非常嚴(yán)格的條件:

a)創(chuàng)新通常是分布式的,平均零和方差為tb)創(chuàng)新是獨(dú)立的

現(xiàn)在,至少有一些金融市場數(shù)據(jù)暴露的人都知道股票回報(bào)不滿足第一個(gè)條件,有時(shí)甚至不滿足第二個(gè)條件。普遍的共識(shí)是,股票收益是扭曲的,是有效的,并且尾巴不均勻。雖然股票收益趨于收斂于正常分布且頻率遞減(即月收益率比日收益率更正常),但大多數(shù)學(xué)者會(huì)同意t分布或Cauchy分布更適合收益。

然而,在實(shí)踐中,大多數(shù)人在模擬布朗運(yùn)動(dòng)時(shí)只是采用正態(tài)分布,并接受由此產(chǎn)生的資產(chǎn)價(jià)格不是100%準(zhǔn)確。另一方面,我不滿足于這種半解決方案,我將在下面的例子中展示盲目信任GBM的成本是多少。我提出了一種偽布朗方法,其中隨機(jī)創(chuàng)新是從經(jīng)驗(yàn)回報(bào)的核密度估計(jì)而不是假設(shè)的正態(tài)分布中采樣的。這種方法的好處在于它產(chǎn)生的結(jié)果更接近于過去觀察到的結(jié)果而沒有完全復(fù)制過去(這將是直接從過去的創(chuàng)新中抽樣隨機(jī)創(chuàng)新的結(jié)果)。

介紹性例子

在我們進(jìn)入有趣的部分之前,我們展示了市場上浪費(fèi)了多少錢,我們從一個(gè)簡單的例子開始。我們需要加載三個(gè)包及其依賴項(xiàng)(您可以在頁面底部下載此帖子的R-)

  1. install.packages("quantmod")

  2. require(quantmod)

對(duì)于我們的第一個(gè)例子,我們將嘗試模擬AT&T的回報(bào)。以下命令允許我們從雅虎財(cái)經(jīng)下載價(jià)格信息并計(jì)算每月日志回報(bào)為了確定我在開始時(shí)所做的觀點(diǎn),我們將比較回報(bào)分布與正態(tài)分布。

  1. att <- getSymbols("T", from = "1985-01-01", to = "2015-12-31", auto.assign = FALSE)

  2. plot(density(attr), main = "Distribution of AT&T Returns")

  3. rug(jitter(attr))

?

即使沒有藝術(shù)史碩士學(xué)位,大多數(shù)人也會(huì)同意這兩行不匹配。對(duì)于那些不依賴于這種視覺方法的人來說,可靠的Kolmogorov-Smirnov測試提供了一種更正式的方法。

  1. set.seed(2013)

  2. ks.test(attr, rnorm(n = length(attr), mean = mean(attr), sd = sd(attr)))

?

測試返回的p值為0.027,這遠(yuǎn)遠(yuǎn)不夠(p值越小,我們必須得出的結(jié)論是兩個(gè)分布不同)。接下來我們設(shè)置標(biāo)準(zhǔn)GBM功能。我完全清楚各種GBM函數(shù)作為眾多包的一部分存在。盡管如此,我還是決定創(chuàng)建自己的函數(shù),以使內(nèi)部工作更加透明。

  1. m((mu * dt * x) + #drift

  2. rnorm(1, mean = 0, sd = 1) * sqrt(dt) * sigma * x) #random innovation

  3. x

  4. }

?

在這個(gè)簡單的函數(shù)中(我知道有更優(yōu)雅的方法來實(shí)現(xiàn)這一點(diǎn),但結(jié)果保持不變)rnorm函數(shù)充當(dāng)Wiener進(jìn)程驅(qū)動(dòng)程序。毋庸置疑,這并不尊重我們上面所看到的。相比之下,我的偽布朗函數(shù)從過去經(jīng)驗(yàn)回報(bào)的核密度估計(jì)中抽樣隨機(jī)創(chuàng)新。

  1. pseudoGBM <- function(x, rets, n, ...) {

  2. N <

  3. y[[i]] <- x + x * (mean(rets) + samp[i])

  4. x <- y[[i]]

  5. }

  6. return(y)

  7. }

?

不可否認(rèn),這個(gè)函數(shù)有點(diǎn)簡潔,因?yàn)樗僭O(shè)靜態(tài)增量(即dt = 1)并且?guī)缀醪恍枰脩糨斎?。它只需要一個(gè)起始值(x),一個(gè)過去返回的向量(rets)和指定的路徑長度(n)。...輸入允許用戶將其他命令傳遞給密度函數(shù)。這使用戶可以通過添加帶寬命令(bw =)來控制核密度估計(jì)的平滑度。沒有任何進(jìn)一步的麻煩,讓我們開始使用上述功能進(jìn)行模擬。在第一個(gè)例子中,我們僅使用起始值x中的兩個(gè)函數(shù)來模擬一個(gè)價(jià)格路徑,即系列中的最后一個(gè)價(jià)格。 要查看兩個(gè)方法的執(zhí)行情況,我們計(jì)算模擬序列的回報(bào)并將它們的分布與經(jīng)驗(yàn)分布進(jìn)行比較。

  1. x <- as.numeric(tail(att$T.Adjusted, n = 1))

  2. set.seed(2013)

  3. attPGBMr <- diff(log(attPGBM))[-1]

  4. d1 <- density(attr)

  5. d2 <- density(attGBMr)

  6. d3 <- density(attPGBMr)

  7. plot(range(d1$x, d3$x), range(d1$y, d3$y), type = "n",

  8. ylab = "Density", xlab = "Returns", main = "Comparison of Achieved Densities")

  9. lines(d1, col = "black", lwd = 1)

  10. lines(d2, col = "red", lty = 2)

  11. lines(d3, col = "blue", lty = 3)

?

顯然,我們看到PGBM函數(shù)(藍(lán)線)在產(chǎn)生接近經(jīng)驗(yàn)回報(bào)分布(黑線)的回報(bào)時(shí)優(yōu)于標(biāo)準(zhǔn)GBM函數(shù)(紅線)。同樣,關(guān)鍵(或視覺上無能)的讀者可以查看KS測試的結(jié)果。

  1. ks.test(attr, attPGBMr)

  2. ks.test(attr, attGBMr)

我們再次看到PGBM函數(shù)(p值= 0.41)遠(yuǎn)遠(yuǎn)優(yōu)于GBM函數(shù)(p值= 0.02)。

高級(jí)示例

正如所承諾的那樣,我們的第二個(gè)例子將展示當(dāng)一個(gè)人在不能代表基礎(chǔ)數(shù)據(jù)時(shí)錯(cuò)誤地假設(shè)正態(tài)分布時(shí),在線上有多少錢。自從金融黑暗時(shí)代醒來以來,歐洲特別表現(xiàn)出對(duì)結(jié)構(gòu)性金融產(chǎn)品的渴望,這些產(chǎn)品可以參與股票市場,同時(shí)限制或消除下行風(fēng)險(xiǎn)。此類證券通常依賴于路徑,因此通常使用GBM進(jìn)行建模。

我們將使用Generali Germany提供的一種特定產(chǎn)品 - Rente Chance Plus - 這是我開發(fā)PGBM功能的最初原因。當(dāng)我在私人銀行工作時(shí),我的任務(wù)是評(píng)估這個(gè)特定的安全性,從基于GBM的標(biāo)準(zhǔn)蒙特卡羅模擬開始,但很快意識(shí)到這還不夠。Rente Chance Plus提供20%參與EUROSTOXX 50指數(shù)上限至15%的上限,初始投資和實(shí)現(xiàn)收益均無下行。安全性在每年年底評(píng)估。盡管Generali可以在20年的投資期內(nèi)自由改變參與率和資本化率,但為了論證,我們將假設(shè)這些因素保持不變。

從上面反映我們的程序,我們首先從雅虎財(cái)經(jīng)下載EUROSTOXX 50價(jià)格信息。

eu <- getSymbols("^STOXX50E", from = "1990-01-01", to = "2015-12-31", auto.assign = FALSE)

接下來,我們看看數(shù)據(jù)與正態(tài)分布的擬合程度如何,或者說多么糟糕。

  1. plot(density(eur), main ibution of EUROSTOXX 50 Returns")

  2. ks.tst(eu.r, rnm(n = length(eu.r), mean = mean(eu.r), sd = sd(eu.r)))

從嚴(yán)格的視角來看,這看起來比AT&T分布更糟糕。EUROSTOXX的回報(bào)顯然是負(fù)面偏差,有點(diǎn)leptokurtic。KS測試返回p值為0.06,確認(rèn)視覺不匹配?,F(xiàn)在我們已經(jīng)確定正態(tài)分布不是最合適的,我們可以看看錯(cuò)誤地假設(shè)它的后果。我們將使用標(biāo)準(zhǔn)GBM和我的PGBM函數(shù)運(yùn)行10,000次迭代的模擬并比較結(jié)果(如果您正在復(fù)制以下代碼,請(qǐng)?jiān)诘却龝r(shí)給自己喝杯咖啡。這將花費(fèi)一些時(shí)間來運(yùn)行)。

  1. x <- as.numer

  2. SIM1 <- as.data.frame(matrix(replicate(10000, {eu.GBM <- myGBM(x=x, mu = mean(eu.r), sigma = sd(

  3. SIM2 <- as.data.frame(matrix(replicate(10000, {eu.PGBM <- pseudoGBM(x = x, n = 240, rets = eu.r)}), ncol = 1000, 10000), SIM1[seq(0, 240, 12), ])), start = c(2016), frequency = 1)

  4. sim2 <- ts(as.matrix(rbind(rep(x, 10000), SIM2[seq(0, 240, 12), ])), start = c(2016), frequency = 1)

當(dāng)然,我們對(duì)EUROSTOXX 50的價(jià)格水平不感興趣,而是在參與率和上限率的約束下評(píng)估的回報(bào)。好消息是最困難的部分就在我們身后。計(jì)算回報(bào)和應(yīng)用約束非常簡單。對(duì)結(jié)果進(jìn)行調(diào)整并不容易。

  1. s1.r <-(sim2))

  2. , s2.r*0.2, 0.15*0.20)

  3. S1<-colSums(s1.r)

  4. S2<-colSumS1,arkred")

  5. rug(jitter(S2), side = 1, col = "darkblue")

  6. ks.test(S1, S2)

我們可以清楚地看到,PGBM函數(shù)(藍(lán)色)模擬的累積回報(bào)表現(xiàn)出負(fù)偏差,并且范圍比標(biāo)準(zhǔn)GBM函數(shù)(紅色)模擬的回報(bào)更寬。請(qǐng)注意,由于安全性沒有下行限制,分布在下尾區(qū)看起來并不相同。KS測試以極其確定的方式證實(shí)兩種分布是不同的(然而,小的p值主要是由大樣本量引起的)?,F(xiàn)在回答這個(gè)百萬美元的問題(實(shí)際上非常字面)。線路上有多少錢?好吧,如果Generali使用正態(tài)分布來預(yù)測回報(bào)并相應(yīng)地重新投保,他們會(huì)......

均值(S1)-mean(S2)

...低估了累計(jì)回報(bào)率約0.6%。這可能看起來并不多,但如果我們假設(shè)安全數(shù)量為10億歐元,那么Generali就達(dá)不到600萬歐元 - 相當(dāng)多的錢只是假設(shè)錯(cuò)誤的分配。

結(jié)論和局限

那么我們從中學(xué)到了什么呢?用于對(duì)任何依賴路徑的安全定價(jià)模型中的創(chuàng)新進(jìn)行建模的分布可能會(huì)產(chǎn)生重大影響。雖然這個(gè)陳述本身就很明顯,但分布差異的程度令人驚訝。當(dāng)然,在Generali和其他機(jī)構(gòu)工作的人可能比我更聰明,他們非常清楚正常分布并不總是最佳選擇。但是,大多數(shù)人會(huì)使用更正式的(但可能只是不準(zhǔn)確的)分布,如t分布或Cauchy分布。使用核密度分布是一種聞所未聞的方法。這是有原因的。

首先,不能保證核密度估計(jì)比未回避的正態(tài)分布更準(zhǔn)確地表示未知的基礎(chǔ)分布。使用過去的數(shù)據(jù)預(yù)測未來總是讓任何數(shù)據(jù)科學(xué)家的口味都不好,但不幸的是我們別無選擇。然而,標(biāo)準(zhǔn)GBM固有的正態(tài)分布確實(shí)過于依賴過去的信息(即歷史均值和標(biāo)準(zhǔn)偏差),但在形式化解決方案方面具有巨大的優(yōu)勢,因?yàn)槠浜诵淖饔茫p關(guān)語僅用于后見之明)概率論。

其次,內(nèi)核密度估計(jì)對(duì)使用的帶寬非常敏感。如果帶寬太大,您將獲得平滑的分布,但是,與正態(tài)分布沒有區(qū)別。如果帶寬太小,您將獲得一個(gè)非常強(qiáng)調(diào)極值的分布,特別是如果您估計(jì)內(nèi)核密度的數(shù)據(jù)樣本相當(dāng)小。在上面的例子中,我們使用了密度函數(shù)中固有的自動(dòng)帶寬選擇器,但幾乎沒有辦法知道最佳帶寬是什么。

上述方法還有其他局限性,因?yàn)槲覀冏隽嗽S多非常不切實(shí)際的假設(shè)。在Generali的例子中,我們假設(shè)Generali沒有改變參與率和上限率,這是不太可能的。然而,更一般地說,我們對(duì)金融市場做出了一些基本假設(shè)。知情(希望)我們假設(shè)資本市場是有效的。因此,我們假設(shè)回報(bào)中沒有自相關(guān),這是維納過程的第二個(gè)條件,但這是否代表了基礎(chǔ)數(shù)據(jù)?

acf(eu.r,main =“EUROSTOXX 50返回的自相關(guān)”)

?

有問題歡迎聯(lián)系我們!


R語言做復(fù)雜金融產(chǎn)品的幾何布朗運(yùn)動(dòng)的模擬的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
武邑县| 景洪市| 简阳市| 雷州市| 邻水| 炉霍县| 和龙市| 敖汉旗| 客服| 兴义市| 丹棱县| 绥阳县| 城市| 城步| 大荔县| 宁远县| 壶关县| 攀枝花市| 桃园县| 会同县| 行唐县| 达州市| 新野县| 宝应县| 白玉县| 绥阳县| 蓬安县| 焉耆| 齐河县| 漾濞| 湖口县| 合水县| 张家界市| 阿图什市| 濉溪县| 内黄县| 玛多县| 石家庄市| 庄浪县| 三江| 兴文县|