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

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

用COPULA模型進行蒙特卡洛(MONTE CARLO)模擬和擬合股票收益數(shù)據(jù)分析|附代碼數(shù)據(jù)

2023-02-16 23:36 作者:拓端tecdat  | 我要投稿

全文下載鏈接:http://tecdat.cn/?p=24535

最近我們被客戶要求撰寫關(guān)于COPULA的研究報告,包括一些圖形和統(tǒng)計輸出。

最近,copula 在仿真模型中變得流行起來。Copulas 是描述變量之間依賴關(guān)系的函數(shù),并提供了一種創(chuàng)建分布以對相關(guān)多元數(shù)據(jù)建模的方法

使用 copula,數(shù)據(jù)分析師可以通過指定邊緣單變量分布并選擇特定的 copula 來提供變量之間的相關(guān)結(jié)構(gòu)來構(gòu)建多變量分布。雙變量分布以及更高維度的分布都是可能的。?

此示例說明如何在變量之間存在復雜關(guān)系或單個變量來自不同分布時使用 copula 從多元分布生成數(shù)據(jù)。

算法

默認情況下,fit?使用最大似然將 copula 擬合到?u。當?u?包含通過邊緣累積分布函數(shù)的參數(shù)估計轉(zhuǎn)換為單位超立方體的數(shù)據(jù)時,這稱為邊緣_推斷函數(shù) (IFM)_?方法。

輸入?yún)?shù)

Copula 值矩陣

Copula 值,指定為范圍 (0,1) 內(nèi)的標量值矩陣。如果?u?是?n?×?p?矩陣,則其值表示?p_維單位超立方體?中的_n_個點?。如果??是?_n?×2 矩陣,則其值表示??單位正方形中的_n_個點。u

如果指定二元阿基米德 copula 類型('Clayton'、??'Frank'、 或?'Gumbel'),則?u?必須是?n?×2 矩陣。

二元阿基米德 copula 族

'Clayton'?|?'Frank'?|?'Gumbel'

二元 copula 族,指定為以下之一。

``

'Clayton'Clayton?copula'Frank'Frank?copula'Gumbel'Gumbel copula

置信區(qū)間的顯著性水平

置信區(qū)間的顯著性水平,指定為逗號分隔的對,由'Alpha'?范圍 (0,1) 中的和 標量值組成?。?fit?返回大約 100 × (1–Alpha)% 的置信區(qū)間。

擬合_t_ ?copula 的方法?

擬合_t_ ?copula 的方法?,指定為逗號分隔的對組,由'Method'?和?'ML'?或?組成?'ApproximateML'。

如果指定?'ApproximateML',則??通過最大化一個近似于自由度參數(shù)的剖面對數(shù)似然的目標函數(shù)來copulafit?擬合大樣本的?t?copula?. 此方法可能比最大似然 (?'ML')快得多,但對于小到中等樣本量,估計值和置信限可能不準確。

輸出參數(shù)

擬合高斯 copula矩陣的估計相關(guān)參數(shù)

擬合高斯 copula 的估計相關(guān)參數(shù),以標量值矩陣形式返回。

擬合_t_ ?copula

估計自由度參數(shù)?

擬合_t_ ?copula 的估計自由度參數(shù),?以標量值形式返回。

自由度參數(shù)

近似置信區(qū)間

自由度參數(shù)的近似置信區(qū)間,以 1×2 標量值矩陣形式返回。第一列包含下邊界,第二列包含上邊界。默認情況下,?fit?返回大約 95% 的置信區(qū)間。您可以使用'Alpha'?名稱-值對指定不同的置信區(qū)間?。

擬合的阿基米德 copula

估計 copula 參數(shù)

擬合的阿基米德 copula 的估計 copula 參數(shù),以標量值形式返回。

copula 參數(shù)

近似置信區(qū)間

copula 參數(shù)的近似置信區(qū)間,以 1×2 標量值矩陣形式返回。第一列包含下邊界,第二列包含上邊界。默認情況下,?fit?返回大約 95% 的置信區(qū)間??梢允褂?code>'Alpha'?名稱-值對指定不同的置信區(qū)間?。

例子

將_t_ ?Copula擬合到股票收益數(shù)據(jù)

加載并繪制模擬股票收益數(shù)據(jù)。

hist(x,y)

使用累積分布函數(shù)的核估計器將數(shù)據(jù)轉(zhuǎn)換為 copula 。

density(x,x,'fuctin','cdf');hist(u,v)

將_t_ ?copula擬合?到數(shù)據(jù)中。

rng?default??%?方便重現(xiàn)fit('t',[u?v]'ppomaeML')

從_t_ ?copula生成隨機樣本?。

rnd('t',Rho,nu,1000);scatrhst(u1,v1)

將隨機樣本變換回數(shù)據(jù)的原始量綱。

figure;scterhst(x1,y1)

使用 Copulas 模擬相關(guān)隨機變量

在此示例中,我們將討論如何使用 copula 生成相關(guān)多元隨機數(shù)據(jù)。

點擊標題查閱往期內(nèi)容

R語言中的copula GARCH模型擬合時間序列并模擬分析

左右滑動查看更多

01

02

03

04

仿真輸入之間的相關(guān)性

Monte-Carlo 模擬的設計決策之一是選擇隨機輸入的概率分布。為每個單獨的變量選擇分布通常很簡單,但決定輸入之間應該存在什么依賴關(guān)系可能不是。理想情況下,模擬的輸入數(shù)據(jù)應反映所建模的實際數(shù)量之間的相關(guān)性的已知信息。但是,在模擬中可能沒有或幾乎沒有信息可用于建立任何依賴關(guān)系,在這種情況下,最好嘗試不同的可能性,以確定模型的敏感性。

然而,當隨機輸入的分布不是標準多元分布時,可能很難實際生成具有相關(guān)性的隨機輸入。此外,一些標準的多元分布只能模擬非常有限的依賴類型??偸强梢允馆斎氇毩?,雖然這是一個簡單的選擇,但并不總是明智的,可能會導致錯誤的結(jié)論。

例如,金融風險的蒙特卡羅模擬可能具有代表不同保險損失來源的隨機輸入。這些輸入可能被建模為對數(shù)正態(tài)隨機變量。一個合理的問題是這兩個輸入之間的依賴性如何影響模擬結(jié)果。事實上,從真實數(shù)據(jù)中可以知道相同的隨機條件會影響兩個來源,而在模擬中忽略這一點可能會導致錯誤的結(jié)論。

獨立對數(shù)正態(tài)隨機變量的模擬是微不足道的。最簡單的方法是使用lognrnd函數(shù)。在這里,我們將使用該mvnrnd函數(shù)生成 n 對獨立的正態(tài)隨機變量,然后對它們?nèi)?。注意這里使用的協(xié)方差矩陣是對角的,即Z的列之間的獨立性。

Sgand?=?siga.^2?.*?[1?0;?0?1]

Ind?=?mvrn([0?0],?Simand,?n);XIn?=?exp(ZId);

使用具有非零非對角項的協(xié)方差矩陣也很容易生成相關(guān)的雙變量對數(shù)正態(tài) rv。

Simep?=?sga.^2?.*?[1?rho;?rho?1]

mvnrnd([0?0],?Siaep,?n);

第二個散點圖說明了這兩個二元分布之間的差異。

plot(XDp,'.');axis?equal;

很明顯,在第二個數(shù)據(jù)集中,X1 的大值與 X2 的大值相關(guān)聯(lián)的趨勢更大,對于小值也是如此。這種依賴性由基礎(chǔ)雙變量正態(tài)的相關(guān)參數(shù) rho 確定。從模擬中得出的結(jié)論很可能取決于 X1 和 X2 是否具有相關(guān)性。

在這種情況下,二元對數(shù)正態(tài)分布是一個簡單的解決方案,當然很容易推廣到更高維度和邊緣分布是?不同?對數(shù)正態(tài)的情況。還存在其他多元分布,例如,多元 t 和 Dirichlet 分布分別用于模擬相關(guān)的 t 和 beta 隨機變量。但是簡單的多元分布的列表并不長,它們僅適用于邊緣都在同一族(甚至完全相同的分布)中的情況。在許多情況下,這可能是一個真正的限制。

構(gòu)建相依雙變量分布的更通用方法

盡管創(chuàng)建二元對數(shù)正態(tài)的上述構(gòu)造很簡單,但它用于說明更普遍適用的方法。首先,我們從二元正態(tài)分布生成值對。這兩個變量之間存在統(tǒng)計相關(guān)性,且均具有正態(tài)邊緣分布。接下來,對每個變量分別應用轉(zhuǎn)換(指數(shù)函數(shù)),將邊緣分布更改為對數(shù)正態(tài)分布。轉(zhuǎn)換后的變量仍然具有統(tǒng)計相關(guān)性。

如果可以找到合適的轉(zhuǎn)換,則可以推廣此方法以創(chuàng)建具有其他邊緣分布的相關(guān)雙變量隨機向量。事實上,確實存在構(gòu)造這種變換的通用方法,盡管不像取冪那么簡單。

根據(jù)定義,將正態(tài) CDF(此處由 PHI 表示)應用于標準正態(tài)隨機變量會導致在區(qū)間 [0, 1] 上均勻的 rv。要看到這一點,如果 Z 具有標準正態(tài)分布,則 U = PHI(Z) 的 CDF 為

??Pr{U?<=?u0}?=?Pr{PHI(Z)?<=?u0}?=?Pr{Z?<=?PHI^(-1)(u0)}?=?u0,

這是一些模擬的正常值和轉(zhuǎn)換值的 U(0,1) rv 直方圖的 CDF 證明了這一事實。

hist(z);

u?=?normcdf(z);

現(xiàn)在,借用單變量隨機數(shù)生成理論,將任何分布 F 的逆 CDF 應用于 U(0,1) 隨機變量會產(chǎn)生一個 rv,其分布正好是 F。這被稱為反演方法。該證明本質(zhì)上與上述前向情況的證明相反。另一個直方圖說明了向伽馬分布的轉(zhuǎn)換。

gaminv(u,2,1);

這種兩步變換可以應用于標準雙變量正態(tài)的每個變量,創(chuàng)建具有任意邊緣分布的相關(guān) rv。因為轉(zhuǎn)換分別作用于每個成分,所以兩個結(jié)果 rv 甚至不需要具有相同的邊緣分布。變換定義為

??Z?=?[Z1?Z2]?~?N([0?0],[1?rho;?rho?1]) ??U?=?[PHI(Z1)?PHI(Z2)]??X?=?[G1(U1)?G2(U2)]

其中 G1 和 G2 是兩個可能不同分布的逆 CDF。例如,我們可以從具有 t(5) 和 Gamma(2,1) 邊緣的二元分布生成隨機向量。

?nocf(Z);?[gav(U(:,1),2,1)?tin(U(:,2),5)];

該圖在散點圖旁邊有直方圖,以顯示邊緣分布和相關(guān)性。

hist(X);plot(X,'.');bar(ct1,-1,1);

等級相關(guān)系數(shù)

此構(gòu)造中 X1 和 X2 之間的相關(guān)性由基礎(chǔ)雙變量正態(tài)的相關(guān)參數(shù) rho 確定。但是, X1 和 X2 的線性相關(guān)性是 rho是?_不_正確的。例如,在原始對數(shù)正態(tài)情況下,該相關(guān)有一個形式:

??cor(X1,X2)?=?(exp(rho.*sigma.^2)?-?1)?./?(exp(sigma.^2)?-?1)

除非 rho 恰好是 1,否則它嚴格小于 rho。但是,在更一般的情況下,例如上面的 Gamma/t 構(gòu)造,X1 和 X2 之間的線性相關(guān)性很難或不可能用 rho 表示,但可以使用模擬來表明發(fā)生了相同的效果。

那是因為線性相關(guān)系數(shù)表示 rv 之間的?_線性_相關(guān)性,并且當對這些 rv 應用非線性變換時,不會保留線性相關(guān)性。相反,秩相關(guān)系數(shù)(例如 Kendall's tau 或 Spearman's rho)更合適。

粗略地說,這些等級相關(guān)性衡量一個 rv 的大值或小值與另一個 rv 的大值或小值相關(guān)聯(lián)的程度。然而,與線性相關(guān)系數(shù)不同,它們僅根據(jù)等級來衡量關(guān)聯(lián)。因此,在任何單調(diào)變換下都保留了等級相關(guān)性。特別是,剛剛描述的變換方法保留了等級相關(guān)性。因此,知道雙變量正態(tài) Z 的秩相關(guān)準確地確定了最終變換后的 rv 的 X 的秩相關(guān)。雖然仍然需要 rho 來參數(shù)化潛在的雙變量正態(tài),但 Kendall 的 tau 或 Spearman 的 rho 在描述 rv 之間的相關(guān)性時更有用,因為它們對于邊緣分布的選擇是不變的。

事實證明,對于二元正態(tài)分布,Kendall's tau 或 Spearman's rho 與線性相關(guān)系數(shù) rho 之間存在簡單的 1-1 映射:

??tau?=?(2/pi)*arcsin?(rho)?或?rho?=?sin?(tau*pi/2) ??rho_s?=?(6/pi)*arcsin(rho/2)?或?rho?=?2*sin(rho_s*pi/6) ``````subplot(1,1,1);plot(rho,ta);

因此,通過為 Z1 和 Z2 之間的線性相關(guān)選擇正確的 rho 參數(shù)值,很容易在 X1 和 X2 之間創(chuàng)建所需的秩相關(guān),而不管它們的邊緣分布如何。

請注意,對于多元正態(tài)分布,Spearman 的秩相關(guān)幾乎與線性相關(guān)相同。然而,一旦我們轉(zhuǎn)換為最終的隨機變量,情況就不是這樣了。

copula

上述構(gòu)造的第一步定義了所謂的 copula,特別是高斯 copula。雙變量 copula 只是兩個隨機變量的概率分布,每個變量的邊緣分布都是均勻的。這兩個變量可能是完全獨立的、確定性相關(guān)的(例如,U2 = U1),或者介于兩者之間。二元高斯 copulas 族由 Rho = [1 rho; rho 1],線性相關(guān)矩陣。當 rho 接近 +/- 1 時,U1 和 U2 接近線性相關(guān),當 rho 接近零時接近完全獨立。

不同水平 rho 的一些模擬隨機值的散點圖說明了高斯 copula 的不同可能性范圍:

U?=?nrf(Z,0,1);plt(U,'.');Z?=?vrd([0?0],?n);U?=?ncf(Z,0,1);plt(U,'.');Z?=?mnd([0?0],?n);U?=?nrcf(Z,0,1);plt(U,'.');Z?=?mrd([0?0],?n);U?=?nocdf(Z,0,1);plt(U,'.');

U1 和 U2 之間的相關(guān)性與 X1 = G(U1) 和 X2 = G(U2) 的邊緣分布完全分開。X1 和 X2 可以被賦予?任何?邊緣分布,并且仍然具有相同的秩相關(guān)。這是 copula 的主要吸引力之一——它們允許對依賴性和邊緣分布進行這種單獨的規(guī)范。

t Copulas

可以通過從二元 t 分布開始并使用相應的 t CDF 進行轉(zhuǎn)換來構(gòu)建不同的 copula 族。二元 t 分布使用 Rho(線性相關(guān)矩陣)和 nu(自由度)進行參數(shù)化。因此,例如,我們可以說 at(1) 或 at(5) copula,分別基于具有 1 個和 5 個自由度的多元變量 t。

不同水平 rho 的一些模擬隨機值的散點圖說明了 t(1) copulas 的不同可能性范圍:

T?=?mvd(,?nu,?n);U?=?tcf(T,nu);plot(U);T?=?mvtn(?nu,?n);plot(U);

t copula 對 U1 和 U2 具有均勻的邊緣分布,就像高斯 copula 一樣。at copula 中成分之間的秩相關(guān) tau 或 rho_s 也是與高斯函數(shù)相同的 rho 函數(shù)。然而,正如這些圖所示,at(1) copula 與高斯 copula 有很大不同,即使它們的成分具有相同的等級相關(guān)性。不同之處在于它們的依賴結(jié)構(gòu)。毫不奇怪,隨著自由度參數(shù) nu 變大,at(nu) copula 接近相應的高斯 copula。

與高斯 copula 一樣,可以在 copula 上施加任何邊緣分布。例如,使用具有 1 個自由度的 copula,我們可以再次從具有 Gam(2,1) 和 t(5) 邊緣的二元分布生成隨機向量:

[n1,cr]?=?hist(X(:,1);[n2,c2]?=?hist(X(:,2));plot(X,'.');h1?=?gca;

與之前構(gòu)建的基于高斯 copula 的雙變量 Gamma/t 分布相比,這里基于 at(1) copula 構(gòu)建的分布具有相同的邊緣分布和相同的變量之間的秩相關(guān),但依賴性卻大不相同結(jié)構(gòu)體。這說明了一個事實,即多元分布并不是由它們的邊緣分布或它們的相關(guān)性唯一定義的。應用程序中特定 copula 的選擇可能基于實際觀察到的數(shù)據(jù),或者可以使用不同的 copula 來確定模擬結(jié)果對輸入分布的敏感性。

高維 Copulas

Gaussian 和 t copula 被稱為橢圓 copula。很容易將橢圓 copula 推廣到更多維度。例如,我們可以使用 Gaussian copula 模擬來自具有 Gamma(2,1)、Beta(2,2) 和 t(5) 邊緣的三變量分布的數(shù)據(jù),如下所示。

X?=?[gaminv?betainv?tinv(U)];plot3(X,'.');

請注意,線性相關(guān)參數(shù) rho 與例如 Kendall tau 之間的關(guān)系對于此處使用的相關(guān)矩陣 Rho 中的每個條目都成立。我們可以驗證數(shù)據(jù)的樣本秩相關(guān)近似等于理論值。

?corr(X,?'type','Kendall')

Copulas 和經(jīng)驗邊緣分布

為了使用 copula 模擬相關(guān)的多元數(shù)據(jù),我們已經(jīng)看到我們需要指定

??1)?copula?族(和任何形狀參數(shù)), ??2)?變量之間的秩相關(guān),以及 ??3)?每個變量的邊緣分布

假設我們有兩組股票收益數(shù)據(jù),我們想運行蒙特卡羅模擬,輸入與我們的數(shù)據(jù)遵循相同的分布。

size(sos,1);hist(stos(:,1),10);

(這兩個數(shù)據(jù)向量具有相同的長度,但這并不重要。)

我們可以為每個數(shù)據(jù)集分別擬合一個參數(shù)模型,并將這些估計值用作我們的邊緣分布。但是,參數(shù)模型可能不夠靈活。相反,我們可以對邊緣分布使用經(jīng)驗模型。我們只需要一種方法來計算逆 CDF。

這些數(shù)據(jù)集的經(jīng)驗逆 CDF 只是一個階梯函數(shù),步長為 1/nobs、2/nobs、... 1。步長只是排序后的數(shù)據(jù)。

stairs(inCF1);

對于模擬,我們可能想要嘗試不同的聯(lián)結(jié)和相關(guān)性。在這里,我們將使用具有相當大的負相關(guān)參數(shù)的二元 t(5) copula。

tcdf(T,nu);[inCDF1?inCDF2];plot(X(:,1),X(:,2),'.');

模擬數(shù)據(jù)的邊緣直方圖與原始數(shù)據(jù)的邊緣直方圖非常匹配,并且隨著我們模擬更多對值而變得相同。請注意,這些值是從原始數(shù)據(jù)中提取的,并且由于每個數(shù)據(jù)集中只有 100 個觀測值,因此模擬數(shù)據(jù)有些“離散”??朔藛栴}的一種方法是向最終模擬值添加少量隨機變化(可能為正態(tài)分布)。這等效于使用經(jīng)驗逆 CDF 的平滑版本。

本文摘選?《?MATLAB用COPULA模型進行蒙特卡洛(MONTE CARLO)模擬和擬合股票收益數(shù)據(jù)分析?》?,點擊“閱讀原文”獲取全文完整資料。

點擊標題查閱往期內(nèi)容

用COPULA模型進行蒙特卡洛(MONTE CARLO)模擬和擬合股票收益數(shù)據(jù)分析
Copula 算法建模相依性分析股票收益率時間序列案例
Copula估計邊緣分布模擬收益率計算投資組合風險價值VaR與期望損失ES
MATLAB用COPULA模型進行蒙特卡洛(MONTE CARLO)模擬和擬合股票收益數(shù)據(jù)分析
R語言多元Copula GARCH 模型時間序列預測
python中的copula:Frank、Clayton和Gumbel copula模型估計與可視化
R語言中的copula GARCH模型擬合時間序列并模擬分析
matlab使用Copula仿真優(yōu)化市場風險數(shù)據(jù)VaR分析
R語言多元Copula GARCH 模型時間序列預測
R語言Copula函數(shù)股市相關(guān)性建模:模擬Random Walk(隨機游走)
R語言實現(xiàn) Copula 算法建模依賴性案例分析報告
R語言ARMA-GARCH-COPULA模型和金融時間序列案例
R語言基于copula的貝葉斯分層混合模型的診斷準確性研究
R語言COPULA和金融時間序列案例
matlab使用Copula仿真優(yōu)化市場風險數(shù)據(jù)VaR分析
matlab使用Copula仿真優(yōu)化市場風險
R語言多元CopulaGARCH模型時間序列預測
R語言Copula的貝葉斯非參數(shù)MCMC估計
R語言COPULAS和金融時間序列R語言乘法GARCH模型對高頻交易數(shù)據(jù)進行波動性預測
R語言GARCH-DCC模型和DCC(MVT)建模估計
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進行股價預測
R語言時間序列GARCH模型分析股市波動率
R語言ARMA-EGARCH模型、集成預測算法對SPX實際波動率進行預測
matlab實現(xiàn)MCMC的馬爾可夫轉(zhuǎn)換ARMA - GARCH模型估計
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進行股價預測
使用R語言對S&P500股票指數(shù)進行ARIMA + GARCH交易策略
R語言用多元ARMA,GARCH ,EWMA, ETS,隨機波動率SV模型對金融時間序列數(shù)據(jù)建模
R語言股票市場指數(shù):ARMA-GARCH模型和對數(shù)收益率數(shù)據(jù)探索性分析
R語言多元Copula GARCH 模型時間序列預測
R語言使用多元AR-GARCH模型衡量市場風險
R語言中的時間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價格
R語言用Garch模型和回歸模型對股票價格分析
GARCH(1,1),MA以及歷史模擬法的VaR比較
matlab估計arma garch 條件均值和方差模型
R語言ARMA-GARCH-COPULA模型和金融時間序列案例


用COPULA模型進行蒙特卡洛(MONTE CARLO)模擬和擬合股票收益數(shù)據(jù)分析|附代碼數(shù)據(jù)的評論 (共 條)

分享到微博請遵守國家法律
沭阳县| 寻甸| 永平县| 霸州市| 容城县| 呼伦贝尔市| 遵义市| 沁阳市| 阿克陶县| 辽中县| 宁都县| 共和县| 金秀| 栾城县| 黄梅县| 麟游县| 红原县| 富裕县| 竹山县| 普陀区| 芦溪县| 林周县| 三明市| 赤峰市| 普安县| 方城县| 南雄市| 凤城市| 封丘县| 米林县| 丹江口市| 西乌| 红安县| 建瓯市| 平乐县| 廉江市| 平江县| 教育| 丰镇市| 茂名市| 通化县|