日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

R语言做复杂金融产品的几何布朗运动的模拟

發布時間:2023/12/16 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 R语言做复杂金融产品的几何布朗运动的模拟 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

幾何布朗運動(GBM)是模擬大多數依賴某種形式的路徑依賴的金融工具的標準主力。

最近我們被要求撰寫關于GBM的研究報告,包括一些圖形和統計輸出。雖然GBM基于有根據的理論,但人們永遠不應忘記它的最初目的 - 粒子運動的建模遵循嚴格的正態分布脈沖。基本公式由下式給出:

標準維納過程代表創新。在對氣體進行建模時效果很好,在財務建模方面存在一些嚴重的缺陷。問題是維納過程有兩個非常嚴格的條件:

a)創新通常是分布式的,平均零和方差為tb)創新是獨立的

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

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

介紹性例子

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

require(quantmod)

對于我們的第一個例子,我們將嘗試模擬AT&T的回報。以下命令允許我們從雅虎財經下載價格信息并計算每月日志回報為了確定我在開始時所做的觀點,我們將比較回報分布與正態分布。

att <- getSymbols plot rug(jitter(attr))

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

set.seed(2013) ks.test

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

m((mu * dt * x) + #drift rnorm(1, mean = 0, sd = 1) * sqrt(dt) * sigma * x) #random innovation x }

在這個簡單的函數中(我知道有更優雅的方法來實現這一點,但結果保持不變)rnorm函數充當Wiener進程驅動程序。毋庸置疑,這并不尊重我們上面所看到的。相比之下,我的偽布朗函數從過去經驗回報的核密度估計中抽樣隨機創新。

pseBM <- function(x, rets, n, ...) { N < y[[i]] <- x + x * (mean(rets) + samp[i]) x <- y[[i]] } return(y) }

不可否認,這個函數有點簡潔,因為它假設靜態增量(即dt = 1)并且幾乎不需要用戶輸入。它只需要一個起始值(x),一個過去返回的向量(rets)和指定的路徑長度(n)。...輸入允許用戶將其他命令傳遞給密度函數。這使用戶可以通過添加帶寬命令(bw =)來控制核密度估計的平滑度。沒有任何進一步的麻煩,讓我們開始使用上述功能進行模擬。在第一個例子中,我們僅使用起始值x中的兩個函數來模擬一個價格路徑,即系列中的最后一個價格。 要查看兩個方法的執行情況,我們計算模擬序列的回報并將它們的分布與經驗分布進行比較。

x <- as.numericattPGBMr <- diff[-1] d1 <- density d2 <- density d3 <- density plot

顯然,我們看到PGBM函數(藍線)在產生接近經驗回報分布(黑線)的回報時優于標準GBM函數(紅線)。同樣,關鍵(或視覺上無能)的讀者可以查看KS測試的結果。

ks.test(attr, attPGBMr)

我們再次看到PGBM函數(p值= 0.41)遠遠優于GBM函數(p值= 0.02)。

高級示例

正如所承諾的那樣,我們的第二個例子將展示當一個人在不能代表基礎數據時錯誤地假設正態分布時,在線上有多少錢。自從金融黑暗時代醒來以來,歐洲特別表現出對結構性金融產品的渴望,這些產品可以參與股票市場,同時限制或消除下行風險。此類證券通常依賴于路徑,因此通常使用GBM進行建模。

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

從上面反映我們的程序,我們首先從雅虎財經下載EUROSTOXX 50價格信息。

eu <- getSymbols

接下來,我們看看數據與正態分布的擬合程度如何,或者說多么糟糕。

plot(density(er)ks.tst(er

從嚴格的視角來看,這看起來比AT&T分布更糟糕。EUROSTOXX的回報顯然是負面偏差,有點leptokurtic。KS測試返回p值為0.06,確認視覺不匹配。現在我們已經確定正態分布不是最合適的,我們可以看看錯誤地假設它的后果。我們將使用標準GBM和我的PGBM函數運行10,000次迭代的模擬并比較結果(如果您正在復制以下代碼,請在等待時給自己喝杯咖啡。這將花費一些時間來運行)。

x <- as.numerSIM1 <- as.data.frameSIM2 <- as.data.frame(sim2 <- ts(as.matri

當然,我們對EUROSTOXX 50的價格水平不感興趣,而是在參與率和上限率的約束下評估的回報。好消息是最困難的部分就在我們身后。計算回報和應用約束非常簡單。對結果進行調整并不容易。

s1.r <-(sim2))S1<-colSumsS2<-colSum rug(jitks.test

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

均值(S1)-mean(S2)

...低估了累計回報率約0.6%。這可能看起來并不多,但如果我們假設安全數量為10億歐元,那么Generali就達不到600萬歐元 - 相當多的錢只是假設錯誤的分配。

結論和局限

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

首先,不能保證核密度估計比未回避的正態分布更準確地表示未知的基礎分布。使用過去的數據預測未來總是讓任何數據科學家的口味都不好,但不幸的是我們別無選擇。然而,標準GBM固有的正態分布確實過于依賴過去的信息(即歷史均值和標準偏差),但在形式化解決方案方面具有巨大的優勢,因為其核心作用(雙關語僅用于后見之明)概率論。

其次,內核密度估計對使用的帶寬非常敏感。如果帶寬太大,您將獲得平滑的分布,但是,與正態分布沒有區別。如果帶寬太小,您將獲得一個非常強調極值的分布,特別是如果您估計內核密度的數據樣本相當小。在上面的例子中,我們使用了密度函數中固有的自動帶寬選擇器,但幾乎沒有辦法知道最佳帶寬是什么。

上述方法還有其他局限性,因為我們做了許多非常不切實際的假設。在Generali的例子中,我們假設Generali沒有改變參與率和上限率,這是不太可能的。然而,更一般地說,我們對金融市場做出了一些基本假設。知情(希望)我們假設資本市場是有效的。因此,我們假設回報中沒有自相關,這是維納過程的第二個條件,但這是否代表了基礎數據?

acf(eu.r

總結

以上是生活随笔為你收集整理的R语言做复杂金融产品的几何布朗运动的模拟的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。