乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      【視頻】Copula算法原理和R語言股市收益率相依性可視化分析

       拓端數(shù)據(jù) 2022-03-17

      原文鏈接:http:///?p=6193

      copula是將多變量分布函數(shù)與其邊緣分布函數(shù)耦合的函數(shù),通常稱為邊緣。在本視頻中,我們通過可視化的方式直觀地介紹了Copula函數(shù),并通過R軟件應(yīng)用于金融時間序列數(shù)據(jù)來理解它。

      視頻:Copula算法原理和R語言股市收益率相依性可視化分析


      為什么要引入Copula函數(shù)?

      當(dāng)邊緣分布(即每個隨機變量的分布)不同的隨機變量,互相之間并不獨立的時候,此時對于聯(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)系”分開,因此您無需擔(dā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ù)。邊緣分布都是標(biāo)準(zhǔn)正態(tài)分布。

      2.使用標(biāo)準(zhǔn)正態(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)建一個簡單的例子,來看如何利用概率積分變換來認(rèn)識高斯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是標(biāo)準(zhǔn)正態(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年金融危機中,這個工具被人廣泛的提及,認(rèn)為當(dāng)時采用的高斯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

      m < -  3
      n < -  2000
       
      z < -  mvrnorm(n,mu = rep(0,m),Sigma = sigma,empirical = T)

      我們使用cor()和散點圖矩陣檢查樣本相關(guān)性。

       pairs.panels(Z)

                \[,1\] \[,2\] \[,3\]
      \[1,\] 1.0000000 0.3812244 0.1937548
      \[2,\] 0.3812244 1.0000000 -0.7890814
      \[3,\] 0.1937548 -0.7890814 1.0000000

       pairs.panels(U)

      這是包含新隨機變量的散點圖矩陣u。 


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

      R語言多元Copula GARCH 模型時間序列預(yù)測

      左右滑動查看更多

      01

      02

      03

      04

      我們可以繪制矢量的3D圖表示u。 

      現(xiàn)在,作為最后一步,我們只需要選擇邊緣并應(yīng)用它。我選擇了邊緣為Gamma,Beta和Student,并使用下面指定的參數(shù)。

      x1 < -  qgamma(u \[,1\],shape = 2,scale = 1
      x2 < -  qbeta(u \[,2\],2,2
      x3 < -  qt(u \[,3\],df = 5

      下面是我們模擬數(shù)據(jù)的3D圖。 

      df < -  cbind(x1,x2,x3)
      pairs.panels(DF)
       
                x1 x2 x3
      x1 1.0000000 0.3812244 0.1937548
      x2 0.3812244 1.0000000 -0.7890814
      x3 0.1937548 -0.7890814 1.0000000

      這是隨機變量的散點圖矩陣:

      使用copula

      讓我們使用copula復(fù)制上面的過程。

      現(xiàn)在我們已經(jīng)通過copula(普通copula)指定了相依結(jié)構(gòu)并設(shè)置了邊緣,mvdc()函數(shù)生成了所需的分布。然后我們可以使用rmvdc()函數(shù)生成隨機樣本。

       colnames(Z2)< -  c(“x1”,“x2”,“x3”)
      pairs.panels(Z2

      模擬數(shù)據(jù)當(dāng)然非常接近之前的數(shù)據(jù),顯示在下面的散點圖矩陣中:

      簡單的應(yīng)用示例

      現(xiàn)在為現(xiàn)實世界的例子。我們將擬合兩個股票 ,并嘗試使用copula模擬 。 

      讓我們在R中加載 :

      cree < -  read.csv('cree_r.csv',header = F)$ V2
      yahoo < -  read.csv('yahoo_r.csv'header = F)$ V2

      在直接進入copula擬合過程之前,讓我們檢查兩個股票收益之間的相關(guān)性并繪制回歸線:

      我們可以看到 正相關(guān) :

      在上面的第一個例子中,我選擇了一個正態(tài)的copula模型,但是,當(dāng)將這些模型應(yīng)用于實際數(shù)據(jù)時,應(yīng)該仔細(xì)考慮哪些更適合數(shù)據(jù)。例如,許多copula更適合建模非對稱相關(guān),其他強調(diào)尾部相關(guān)性等等。我對股票收益率的猜測是,t-copula應(yīng)該沒問題,但是猜測肯定是不夠的。本質(zhì)上, 允許我們通過函數(shù)使用BIC和AIC執(zhí)行copula選擇 :

       
        pobs(as.matrix(cbind(cree,yahoo)))\[,1\]
        selectedCopula
       

      $ PAR
      \[1\] 0.4356302

      $ PAR2
      \[1\] 3.844534

      擬合算法確實選擇了t-copula并為我們估計了參數(shù)。 
      讓我們嘗試擬合建議的模型,并檢查參數(shù)擬合。

      t.cop  
      set.seed(500
      m < -  pobs(as.matrix(cbind(cree,yahoo)))
       
      COEF(FIT)

        rho.1 df 
      0.43563 3.84453

      我們來看看我們剛估計的copula的密度

      rho < -  coef(fit)\[1\]
      df < -  coef(fit)\[2\]

      現(xiàn)在我們只需要建立Copula并從中抽取3965個隨機樣本。

        rCopula(3965,tCopula(  = 2, ,df = df))
       

                \[,1\] \[,2\]
      \[1,\] 1.0000000 0.3972454
      \[2,\] 0.3972454 1.0000000

      這是包含的樣本的圖:

      t-copula通常適用于在極值(分布的尾部)中存在高度相關(guān)性的現(xiàn)象。
      現(xiàn)在我們面臨困難:對邊緣進行建模。為簡單起見,我們將假設(shè)正態(tài)分布 。因此,我們估計邊緣的參數(shù)。

      直方圖顯示如下:

      現(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é)果 。 

      讓我們嘗試df=1df=8:

      顯然,該參數(shù)df對于確定分布的形狀非常重要。隨著df增加,t-copula傾向于正態(tài)分布copula。


        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多