原文鏈接:http:///?p=6193copula是將多變量分布函數(shù)與其邊緣分布函數(shù)耦合的函數(shù),通常稱為邊緣。在本視頻中,我們通過可視化的方式直觀地介紹了Copula函數(shù),并通過R軟件應(yīng)用于金融時間序列數(shù)據(jù)來理解它。 視頻:Copula算法原理和R語言股市收益率相依性可視化分析為什么要引入Copula函數(shù)?當邊緣分布(即每個隨機變量的分布)不同的隨機變量,互相之間并不獨立的時候,此時對于聯(lián)合分布的建模會變得十分困難。 讓我們從一個示例問題案例開始。假設(shè)我們測量兩個非正態(tài)分布且相關(guān)的變量。例如,我們查看各種河流,我們查看該河流在特定時間段內(nèi)的最高水位。此外,我們還計算了每條河流造成洪水的月份。對于河流最高水位的概率分布,我們可以參考極值理論,它告訴我們最大值是Gumbel分布的。洪水發(fā)生的次數(shù)將根據(jù)Beta分布進行建模,該分布只是告訴我們發(fā)生洪水的概率是洪水與非洪水發(fā)生次數(shù)的函數(shù)。 假設(shè)洪水的最高水位和數(shù)量是相關(guān)的,這是非常合理的。然而,這里我們遇到了一個問題:我們應(yīng)該如何對概率分布進行建模?上面我們只指定了各個變量的分布,而與另一個變量無關(guān)(即邊緣分布)。實際上,我們正在處理這兩者的聯(lián)合分布。 此時,在已知多個已知 邊緣分布的隨機變量下,Copula函數(shù)則是一個非常好的工具來對其相關(guān)性進行建模。 copula 的主要吸引力在于,通過使用他們,您可以分別對相關(guān)結(jié)構(gòu)和邊緣分布(即每個隨機變量的分布)進行建模。 因為對于某些邊緣分布組合,沒有內(nèi)置函數(shù)來生成所需的多元分布。例如,在 R 中,很容易從多元正態(tài)分布中生成隨機樣本,但是對于邊緣分別為 Beta、Gamma 和 Student 的分布來說,這樣做并不容易。 copula 將邊緣分布與研究它們的“關(guān)系”分開,因此您無需擔心考慮可能的單變量分布類型的所有可能組合,從而大大簡化了所需的代碼量。 Copula可以同時處理多個變量,例如您可以在一個群組中處理多只股票,而不僅僅是一對,以創(chuàng)建最終交易組合,以在更高的維度上發(fā)現(xiàn)錯誤定價。 什么是copula Copula 在拉丁語中的意思是“鏈接”,copula 是將多元分布函數(shù)與其邊緣分布函數(shù)耦合的函數(shù),通常稱為邊緣或簡稱為邊緣。Copulas 是用于建模和模擬相關(guān)隨機變量的絕佳工具。 總的來說,copula 是一種統(tǒng)計方法,用于理解多元分布的聯(lián)合概率。 Copula是模擬多元相關(guān)數(shù)據(jù)的流行方法,是一個表示多元均勻分布的概率模型,它檢查許多變量之間的關(guān)聯(lián)或依賴關(guān)系。 今天,copulas 被用于高級財務(wù)分析,以更好地理解涉及厚尾和偏度的結(jié)果。用于幫助識別市場風(fēng)險、信用風(fēng)險和操作風(fēng)險。它依賴于兩種或多種資產(chǎn)收益的相互依賴關(guān)系。相關(guān)性最適合 正態(tài)分布,而金融市場中的分布本質(zhì)上通常是非正態(tài)分布。因此,copula 已應(yīng)用于諸如期權(quán)定價和投資組合風(fēng)險價值等金融領(lǐng)域,以處理偏斜或不對稱分布。 如何使用copula 分析數(shù)據(jù) 回想一下,您可以使用累積分布函數(shù)將任何分布轉(zhuǎn)換為均勻分布。同樣,您可以使用逆累積分布函數(shù)將均勻分布轉(zhuǎn)換為任何分布。例如要模擬來自高斯 copula 的相關(guān)多元數(shù)據(jù),請執(zhí)行以下三個步驟: 1.從相關(guān)矩陣模擬相關(guān)的多元正態(tài)數(shù)據(jù)。邊緣分布都是標準正態(tài)分布。 2.使用標準正態(tài)累積分布函數(shù)將正態(tài)邊緣轉(zhuǎn)換為均勻分布。 3.使用逆累積分布函數(shù)將均勻邊緣分布轉(zhuǎn)換為 您想要的任何分布。 第二步和第三步中的轉(zhuǎn)換是在數(shù)據(jù)矩陣的各個列上執(zhí)行的。變換是單調(diào)的,這意味著它們不會改變列之間的等級相關(guān)性。因此,最終數(shù)據(jù)與第一步中的多元正態(tài)數(shù)據(jù)具有相同的秩相關(guān)性。 首先我們可以生成均勻分布的隨機變量 下面,我們想要轉(zhuǎn)化這些樣本使他們變成正態(tài)分布。那么,我們只需要以 x為累積分布函數(shù)值,對正態(tài)分布求逆即可, 如果我們將 x 和轉(zhuǎn)化后的x 的分布畫在一張圖中,就可以直觀的看出逆累積分布函數(shù)的樣子。 同理,我們也可以基于 beta 分布或者gumbel 分布來得到類似的圖像,這種概率積分變換的本質(zhì)是相同的。 而我們?nèi)绻胍獜囊粋€任意的分布到均勻分布,那么我們只需要進行一次累積分布函數(shù)就可以了。這里我將 轉(zhuǎn)換后的x 再做一次轉(zhuǎn)化 簡單的高斯Copula例子 我們構(gòu)建一個簡單的例子,來看如何利用概率積分變換來認識高斯copula。首先從二元正態(tài)分布中生成樣本: 通過給 x1和x2的累積分布函數(shù)進行采樣,我們可以將其轉(zhuǎn)化成均勻分布。 現(xiàn)在,我們在上面的基礎(chǔ)上(構(gòu)建的高斯Copula函數(shù)),把邊緣分布換成Beta分布和Gumbel分布: 那如果沒有二者的耦合關(guān)系,這個圖是怎樣的呢? 兩張圖對比一下,還是很容易看出區(qū)別的吧!這就是我們使用copula函數(shù)內(nèi)在的方法了,其核心還是通過均勻分布。 Copula的數(shù)學(xué)定義 它是一個多元分布C,邊緣分布為均勻分布。它實際上只是一個具有均勻分布邊緣屬性的函數(shù)。它確實只有在與另一個變換結(jié)合以獲得我們想要的邊緣分布時才有用。 我們也可以更好地理解高斯 copula 的數(shù)學(xué)描述: 對于給定的R, 具有參數(shù)矩陣的高斯copula可以寫成 ,其中Φ? 1是標準正態(tài)的逆累積分布函數(shù),并且ΦR是平均向量為零且協(xié)方差矩陣等于相關(guān)矩陣的多元正態(tài)分布的聯(lián)合累積分布函數(shù)R. 請注意,在上面的例子中,我們采用相反的方式從該分布創(chuàng)建樣本。此處表示的高斯 copula 采用 均勻分布輸入,將它們轉(zhuǎn)換為高斯,然后應(yīng)用相關(guān)性并將它們轉(zhuǎn)換回均勻分布。 Copula函數(shù)主要應(yīng)用在哪里呢? 該工具最初是用在金融衍生品領(lǐng)域,該函數(shù)建模作為衍生品風(fēng)險度量的工作進行使用。在2008年金融危機中,這個工具被人廣泛的提及,認為當時采用的高斯copula沒有能夠完整度量衍生品連帶之間的風(fēng)險,從而導(dǎo)致一系列的違約,進而引發(fā)次貸危機、經(jīng)濟危機。 也有人事后寫了文章來介紹這個工具和現(xiàn)實社會經(jīng)濟的關(guān)系,包括很有名的電影《大空頭》,也有這段的描寫。 說回工具本身,除了金融領(lǐng)域,現(xiàn)在很多研究概率分布的領(lǐng)域都在使用copula,例如電力系統(tǒng)領(lǐng)域研究風(fēng)電、光伏等間歇性能源,也在使用這種方法進行建模。 接下來我們在R軟件中對金融時間序列進行copula建模。 copulas如何工作首先,讓我們了解copula的工作方式。 set.seed(100) 我們使用 pairs.panels(Z) pairs.panels(U) 這是包含新隨機變量的散點圖矩陣 點擊標題查閱往期內(nèi)容 左右滑動查看更多 我們可以繪制矢量的3D圖表示 現(xiàn)在,作為最后一步,我們只需要選擇邊緣并應(yīng)用它。我選擇了邊緣為Gamma,Beta和Student,并使用下面指定的參數(shù)。 x1 < - qgamma(u \[,1\],shape = 2,scale = 1) 下面是我們模擬數(shù)據(jù)的3D圖。 df < - cbind(x1,x2,x3) 這是隨機變量的散點圖矩陣: 使用copula讓我們使用copula復(fù)制上面的過程。 現(xiàn)在我們已經(jīng)通過copula(普通copula)指定了相依結(jié)構(gòu)并設(shè)置了邊緣, colnames(Z2)< - c(“x1”,“x2”,“x3”) 模擬數(shù)據(jù)當然非常接近之前的數(shù)據(jù),顯示在下面的散點圖矩陣中: 簡單的應(yīng)用示例現(xiàn)在為現(xiàn)實世界的例子。我們將擬合兩個股票 ,并嘗試使用copula模擬 。 讓我們在R中加載 : cree < - read.csv('cree_r.csv',header = F)$ V2 在直接進入copula擬合過程之前,讓我們檢查兩個股票收益之間的相關(guān)性并繪制回歸線: 我們可以看到 正相關(guān) : 在上面的第一個例子中,我選擇了一個正態(tài)的copula模型,但是,當將這些模型應(yīng)用于實際數(shù)據(jù)時,應(yīng)該仔細考慮哪些更適合數(shù)據(jù)。例如,許多copula更適合建模非對稱相關(guān),其他強調(diào)尾部相關(guān)性等等。我對股票收益率的猜測是,t-copula應(yīng)該沒問題,但是猜測肯定是不夠的。本質(zhì)上, 允許我們通過函數(shù)使用BIC和AIC執(zhí)行copula選擇 :
擬合算法確實選擇了t-copula并為我們估計了參數(shù)。 t.cop 我們來看看我們剛估計的copula的密度 rho < - coef(fit)\[1\] 現(xiàn)在我們只需要建立Copula并從中抽取3965個隨機樣本。 rCopula(3965,tCopula( = 2, ,df = df)) 這是包含的樣本的圖: t-copula通常適用于在極值(分布的尾部)中存在高度相關(guān)性的現(xiàn)象。 直方圖顯示如下: 現(xiàn)在我們在函數(shù)中應(yīng)用copula,從生成的多變量分布中獲取模擬觀測值。最后,我們將模擬結(jié)果與原始數(shù)據(jù)進行比較。 這是在假設(shè)正態(tài)分布邊緣和相依結(jié)構(gòu)的t-copula的情況下數(shù)據(jù)的最終散點圖: 正如您所看到的,t-copula導(dǎo)致結(jié)果接近實際觀察結(jié)果 。 讓我們嘗試 顯然,該參數(shù) |
|
來自: 拓端數(shù)據(jù) > 《待分類》