請用通俗易懂的語言解釋一下 Copula 函數,以及其在金融風險管理中的應用?
不撕逼。
首先假設看這個答案的人知道基本的統計常識
至少知道邊緣分布,聯合分布這些名詞在說什麼
1.
copula這個概念是Sklar在1959年提出的
要理解copula,首先一定要知道Sklar 定理。
Sklar 定理(二元形式): 若H(x,y)是一個具有連續邊緣分布的F(x)與G(y)的二元聯合分布函數,那麼存在唯一的copula函數C,使得 H(x,y) = C( F(x), G(y) )。
反之,如果C是一個copula函數,而F和G是兩個任意的概率分布函數,那麼由上式定義的H函數一定是一個聯合分布函數,且對應的邊緣分布剛好就是F和G
Sklar定理告訴我們一件很重要的事情
一個聯合分布關於相關性的性質,完全由它的copula函數決定
跟它的邊緣分布一點關係都沒有。
並且用一點小小的數學,就可以在已知H,F和G的情況下,算出它們的copula
C(u,v) = H( F^(-1)(u) , G^(-1)(v) )
F^(-1)表示F的反函數
2.
copula函數非常的多,只要滿足下面3個條件的函數都是copula函數(還是以二元為例):
(1) 定義域為[0,1]X[0,1],值域為[0,1] , 即C:[0,1]X[0,1] -&> [0,1 ]
(2) C(u,0)=C(0,v) = 0; C(u,1)=u; C(1,v)=v;
(3) 0&<=C對u的偏導&<=1 ; 0&<=C對v的偏導&<=1;
那copula函數這麼多,我們用哪個呢?
對於人們本來就熟悉的多元聯合分布,按照Sklar定理都有它們自己的copula
最為人所知的就是多元正態分布的copula,即高斯copula
用1里的第二個式子就可以算出來
同理呢我們可以算出
多元學生t分布的copula,即t- copula
多元指數分布的copula
等等等等
我把這些copula歸為一類,就是通過已知多元分布算出來的
還有另一類copula,是人工構造出來的滿足上面3個條件的copula
其中最為出名的就是阿基米德copula,具體構造方法見下圖
(摘自我的畢業論文)
只要找到合適的生成函數,那麼就可以構造出對應的阿基米德copula
因此阿基米德copula非常的多,下面舉幾個例子
(摘自An Introduction to Copulas 第二版)
3.
金融中遇到的分布,基本都不是什麼正常的東西
比如說股價報酬率的分布就不正態
比如說零息債券這種價格有上限的資產,分布也不可能正態
那兩個分布本來就不正態的資產,你敢用二元正態分布去描述他們的相關性么?
所以這時候就只能用copula,把兩個奇奇怪怪的分布粘起來
或者假設說剛好就有兩個正態分布的資產
但是你怎麼知道他們的相關性剛好就是高斯copula的相關性呢?
所以就用其他的copula,把這兩個正態分布粘起來。
copula,就像幾何布朗運動一樣
是人們對複雜的真實世界進行建模的一種工具
只要一碰到多元的相關性問題,你就可以嘗試用copula去解決
但是能不能解決得好,是另外一回事
08年金融危機之前,華爾街就是用的高斯copula,去對CDO進行定價
結果全美房價集體下跌的相關性沒算進去,造成的後果大家都知道
用高斯copula並不是因為高斯copula是對的,而是以為它簡單好用
反正沒人知道真實的相關性到底長什麼樣,就先用一個最簡單的唄
就像Black Scholes公式一樣做了很多簡化的假設,但是大家依然用得很開心
人們可以創造出更複雜的copula嘗試去解決問題
比如高斯copula不隨時間變化,那就加一個時間變數進去
如果嫌隨時間變化還不夠,那就用變結構copula
但是歸根到底這些都只是模型
是模型就有假設,而假設就不會和現實一樣(否則就不叫假設了)
model risk永遠都沒辦法消除
但是人們還是要用model
誰讓我們只是區區人類,無法像上帝一樣全知全能
我來通俗易讀的講一下我的理解:
假定我們的組合中有兩個可違約的資產a,b,我們想對其違約時間進行模擬。我們假定風險資產a和b的違約事件服從Gamma和Beta分布:
如果我們分別對 或者 進行模擬很簡單,分別從各自的分布抽樣就可以了。但事實上,兩種資產之間違約與否很可能存在相關性。分別抽樣他們兩個之間肯定是不相關的。與此同時,求Gamma和Beta分布的聯合密度函數也是非常難求的。
因此我們就引入Coplua函數來假定這兩個分布之間的聯繫。比如高斯Copula。
當然這種關係都是你假定的,並不一定是真的。比如,你也可以用阿基米德Copula來刻畫。2008年次貸危機也是因為業界都是只用單純的高斯Copula來刻畫聯繫低估了風險造成的。
當我們假定了他們之間的聯繫之後,我們就可以模擬兩種風險資產存在相關性的違約時間了。
具體方法為:
1)先從一個二維高斯分布產生隨機產生(x1 , x2)兩個變數,x1,x2是存在相關性的。相關性通過設定二維正態分布的協方差矩陣來確定。
2)根據多維正態分布的性質,x1, x2的邊緣分布都是一維正態分布。將生成的x1, x2帶入一維正態分布得到對應的概率u1, u2。需要注意的是u1, u2此時也是存在關係的。
3)根據風險資產a、b違約時間各自的CDF逆函數就可以產生相關聯的違約時間了:
哎? @李大貓 提出了質疑。沒有關係,咱討論討論也挺好。
1. 大貓同學做了一個簡單實驗來反駁我【x和x^2的相關係數可能是0】」的論點。好,那我告訴你什麼時候x和x^2的相關係數會是0--比如X服從標準正態分布的時候。R code:x=rnorm(10000)
y=x^2
cor(x,y)
結果是-0.005。偽隨機數的樣本越大,結果就越接近於0.
咱也可以從數學上證明一下,如下:
cov(X,X^2)=E(X^3)-E(X)E(X^2)所以,只要E(X)和E(X^3)都等於0,那麼pearson相關係數ρ(X,X^2)=0.顯然,標準正態分布滿足以上條件。更廣泛的,如果X隨機變數的分布是關於0對稱,那麼X和X^2的pearson相關係數就等於0。
這是一個非常經典的用來說明pearson相關係數局限性的例子,大學學統計的時候應該學過。
2. 從通俗易懂的理解要求上來說呢,大家只要知道用相關係數衡量相關性有很大的局限性(比如我舉的」X和X^2的pearson correlation可能為0「,以及 @李大貓 舉的x和sin(x)),而copula基本上可以避免這些局限性。
3.大貓提出spearman係數,不正是證明了,用一個相關係數(無論pearson,spearman)衡量相關性是不合適的。所以咱要用copula呀
4.我認為copula是一種「全面的相關性」,但也說到copula是全能的,可能是措辭過度了,畢竟沒有任何人任何事物是全能或者完美的。謝謝你的提醒。也希望你能切實舉出copula的缺陷來,作為有益的討論。
能看出來你是懂統計的,只是不知道x和x^2的相關係數可以是0,也不知道copula的缺陷具體在哪。不過還是歡迎深入的討論哦 @李大貓 。但請您以後的措詞上盡量避免出現」可笑「,」荒謬「,以及」不太懂統計「的詞。畢竟知乎的環境還是比較友好的。
-------------------------------------------------------
Copula是對資產之間相關性的最全面衡量。為什麼金融風險管理中要考慮相關性?
不同的兩個資產會始終同時達到最糟的狀況嗎?答案是不一定,因為有資產相關性的影響。相關性可以使兩個資產之間在一定程度上同向變動或反向變動。試想,完全負相關的資產(就是你漲多少我跌多少),那就是完全對沖,沒有風險了!而完全正相關的資產(就是你漲多少我漲多少),那就是你悲劇的時候我也悲劇,就更悲劇了,風險就更大了!為什麼要用copula衡量相關性?而不直接用相關係數?
從數學上說,相關係數只能衡量線性的相關關係,就是你漲2塊,我就漲2塊。但是相關係數不能衡量非線性的相關關係,比如說這樣一種情況:你漲的時候,我肯定漲,但是你漲2塊,我漲塊,始終是你的平方。
你跌的時候,我肯定跌,但是你跌2塊,我跌塊,依然始終是你的平方。而你不漲不跌的時候,我也不漲不跌。這種情況下,你說我的資產收益和你的資產收益有關係嗎?當然有關係,但是這時候用相關係數就可能是0了。所以相關係數有局限性,而copula則全面很多。
什麼是copula?
除了以上提到的線性相關關係和非線性相關關係,可能還有更加複雜的相關關係。那不妨回到那個問題,神馬是相關性?如果說你的資產收益、我的資產收益都知道了,那我還知道我們資產收益之間的相關性,那麼以你我資產為基本資產的任意資產組合(any portfolio of your and my assets)都可以知道了!這個相關性才是最為全面的相關性,這個最全面的相關性就叫做copula。作為最全面的相關性,copula自然涵蓋了相關係數有效的特例。當總體分布滿足正態分布時,copula相關性就是相關係數啦!廢話一句:從數學上說,copula實際上是從向[0,1]的一個滿足幾個條件的函數關係;正態copula實際就是邊緣分布是均勻分布的多元正態分布。copula相關性有神馬優點?
優點1自然是全面所述的最全面的相關性,能涵蓋所有可能的相關性。優點2解釋起來就有點麻煩,但不妨一試:多元正態分布是木有尾部相依性的。換一句話說,它假設,你悲劇的時候,我不會悲劇。這個在一般市場情況下可能是ok的一個假設,但是在08年金融危機的時候,全市場風聲鶴唳,一個金融產品悲劇就引起N多的金融產品悲劇。而copula是可以有尾部相依性的。希望有用。http://www.ccfr.org.cn/cicf2006/cicf2006paper/20060120075529.pdf
1) @Still Walter 應該沒有理解我關於dependence部分的討論要點,我舉了兩個例子,一個是x和x^2 的correlation,一個是x和sinx(x)的,那麼我為什麼要用這兩個例子呢,因為我要說明兩點:
第一個例子,統計里總是說線性非線性的問題,越來越有傾向,非線性就是高大上的東西,線性的太簡單沒意思,x和x2這種顯然非線性的關聯,計算相關係數竟然接近1,說明了非線性相關的時候用線性相關係數也不一定就差,當然了,究其根本是x2可以用泰勒展開。至於@Still Walter說什麼cov(x,x^2)=0這種結論,簡直風馬牛不相及,你沒看到我代碼的x是c(1:1000)?這個x服從什麼分布?是正太分布么?期望是0么?第二個例子,x和sin(x),我並沒有展開太多說,這個問題的本質是dependence和correlation的關係,相關係數是0未必就是獨立的,所以不管是線性還是rank相關係數,都是correlation的描述,並不能說明dependence。通常來說,在應用里,沒人在乎兩者區別。
2) 至於copula的缺點
我不覺得任何模型有缺點,只有當模型被使用的時候,錯誤才發生,就像線性回歸有什麼缺點?不能描述非線性?這不是和說「貓有缺點因為不會狗一樣的汪汪么」一樣滑稽么。那麼用copula在實際問題的時候,可能有什麼局限性呢,copula就是把邊緣分布用一個過幾個參數聯合起來,讓這個幾個邊緣分布有了correlation,比如kendall『s tau,說到底還是correlation,那麼copula的問題就是所有correlation的問題了,「靜態」,就像是distribution相對於process來說一樣,很多實際問題是一個隨機過程,單純用一個靜態的correlation來描述,簡化過多。當然了,也有人在隨機過程裡面用copula。關於copula局限性的討論,有論文可讀, 也可以看看這個論壇上的發言,從應用層面來說的:Wilmott Forums回到最初得問題,copula在金融方面的應用,這裡有一篇科普性質的論文:
http://not-normal-consulting.co.uk/web_documents/modellingcopulas.pdf要學習copula的理論,看看 An introduction to copulas, 幾年前看的第二版,裡面沒有提gaussian copula,gaussian copula網上有很多文章介紹。——————————————————————————————————————————
1 為什麼需要提出copula這樣的東西?
這和copula是什麼可以說是同一個問題。學過統計的都知道隨機變數,通常的隨機變數是一維的,比如人的身高,還有人的體重,那麼如果我想同時研究身高體重兩個變數呢,這就引入了聯合分布的概念,假設每一對身高和體重來自一個分布函數。在統計里,最基本的聯合分布就是多元正太分布函數,這也是基礎統計學裡回學到的。多分正太分布函數假設每一個邊緣分布是一元正太分布。那麼問題來了,如果一個多維分布的邊緣分布不是正太分布怎麼辦,舉個例子,身高和體重雖然通常用正太分布假設,但實際是不現實的,因為它們都是有界的,至少大於0。比如我們假設某兩個隨機邊緣分布是weibull分布,那有沒有多元weibull分布?答案是有的,但是沒有一個大家一致認可的定義,不像多元正太分布,大家認可有一個pdf表達式。上面說有多元weibull分布,那pdf是什麼,其實就是通過copula來構造出來,構造的思路很簡單,但是也很巧妙,給定邊緣隨機變數x,得到F(x),就是cdf,給定y的到F(y),cdf都是0-1之間的數值,只要再找到一個函數G(F(x),F(y))映射到0-1之間,那我們就得到了x,y聯合分布的cdf,這樣這個聯合分布就確定了,其中的G就叫copula,所以copula就是一個函數,用來把邊緣分布的cdf映射到聯合分布的cdf。由此可知,要確定一個多元分布,不僅需要copula,還需要假定邊緣分布的形式。2 有哪些copula?
基本上copula分兩類,阿基米德copula和高斯copula,阿基米德copula有很多種類,取決於不同generator函數,基本上阿基米德copula只有一個參數來決定聯合分布的相關性,但是高斯copula每兩個邊緣對應一個參數,因為高斯copula的G函數比較有趣,本質是利用多元正太分布來構造的,就是Fx要根據標準正太分布來計算quantile,然後把這個quantile在放進多元正太分布里,這裡可以google。2.1 只有一種高斯copula么?
顯然有無數種,比如你可以指定G裡面的cdf inverse函數,維基百科上面給的是標準正太分布的cdf inverse,可以改成任意的,但是對應其他地方也要修改。3 用什麼copula和邊緣分布函數?
阿基米德copula和高斯copula差別還是比較大,但是使用起來差不多。高斯copula沒有tail dependence,也是有前提的,就是相關係數不等於1,當然實際問題不會出現1的情況。如果純粹從data driven角度看,可以根據AIC來選適合的邊緣分布和copula。4 下面說下dependence的問題前面回答者說copula全能,這有點可笑,從來不存在一個全能的分布,也不會有全能的dependence,統計裡面的相關性,也就是dependence,通常有兩種,pearson correlation,就是大家常說的相關係數,還有一個人spearman correlation,前者是基於moment計算的,後者是基於rank的,統計課上都說pearson相關係數是描述線性相關性,沒錯,但是線性相關性對非線性相關無能為力?荒謬,大家可以做個簡單實驗,生成x和x^2,計算一下兩者的相關係數:R code:x=c(1:1000)
cor(x,x^2)
結果是0.9683064
感謝 @楊益煩 給出下面的例子:x=c(1:1000)
cor(x,sin(x),method="pearson")
cor(x,sin(x),method="spearman")
顯然x和sin(x)是相關的,但是兩個correlation幾乎都是0,可見所謂非線性相關係數這裡也沒什麼用!
spearman dependence通常認為可以更好的描述非線性相關性,但是對於高斯copula,本質上還是用一個多元正太分布,多元正太分布的參數rho就是pearson相關係數,所以說如果有非線性相關性,高斯copula仍然只能用線性相關性去近似非線性相關性,這時用阿基米德copula可能更好。
4 應用?
基本上copula就是個構建多元分布的工具,在哪應用不用局限於現有的幾個模型,自己可以根據實際問題建立新模型,但是我我覺得用處不大,dependence是個描述性的概念,copula把實際問題簡化太多了。不過畢竟all models are wrong!--------------------------------------------------------------------------------------------------------------------------------------------歡迎大家關注微信公眾號:機器會學習 (id:jiqihuixuexi)原創內容,頻繁更新!Copula函數是一個函數集合,這類函數是滿足sklar定理,對應於特定邊緣分布(marginal distribution)的聯合概率分布函數。
應用和性質是相對應的,主要是聯合建模:- 聯合風險,分解為各風險因子
- 組合風險,分解為組合中各獨立元素
Copula解決的問題主要是
非線性,非正態,非對稱,尾部等實際上要注意解決這些問題是依賴於構造特定分布的,並不是general attribute。
另外Copula使用時還面臨一些問題,比如需要非常清楚邊緣分布的構造,而inference時對於絕大多數實際應用的分布,只能用數值模擬求解補充Copula函數的兩個好的性質:1. 2.Copula 函數其實就是聯合分布函數的另外一種轉換形式,傳統的雙變數聯合分布函數是F(X,Y),當把X和Y 根據其分布函數概率積分轉換成u和v之後,原來的函數F就變成了u和v的函數C。這個C就是我們說的copula函數。所以被命名為連接函數。
已經有非常深的討論和比較完整的答案。這裡想淺顯的解答一下,畢竟作者的原問題是「通俗易懂」的語言以及金融風險上的應用。我的理解比較粗淺,希望能符合作者的通俗易懂的要求。要交待的是這裡的所有表述數學上都不是嚴格的。
Copula函數實際上是一個概率。假設我們有 個變數( ),這n個變數都是定義在(0,1)。 Copula函數 即是Probability( )。這裡注意這n個變數是相互關聯的。
Copula函數的定義有另一個比較有用的版本,就是如果把這n個0到1的變數( )看成是另外n個變數( )的累積分布的話,那麼Copula函數(就是那個概率)也可以寫成Probability(), 這裡 是()各自的累積分布反函數。這兩個定義是一回事。
Copula在字典里的意思是「連接」的意思。至於為什麼這個概率叫"連接",我這裡瞎猜一個名詞的由來。
Copula有個性質,根據Copula的定義Probability( ), 它有一個對應的概率密度,c()。它有一個有趣的性質,就是他「連接」起了一堆變數 的聯合密度分布函數和邊緣密度分布函數(也就是一起是什麼分布,分開又是什麼分布):
這些事比較粗淺的理解,但是希望這些幫助理解wikipedia或者文獻中比較嚴格的定義和表述。
至於在金融風控中的應用,我知道的有兩個:
1. 可能不一定是金融風控的應用,但是對於信用衍生品CDO的定價(我們知道信用衍生品是跟金融風險息息相關的),通常使用Gaussian Cupula。在一個tranche中,single name的survival Probability其實就是上面說的累積分布 ,為了方便給tranche定價,大家構造了一系列的,並且認為這些是Gaussian分布並且關聯的。當然這個定價模型就像Black-Schole一樣是不完美的, 他也有個和Black-Schole中vol smile對應的所謂base correlation skew. 就不展開了,可以找到文獻。
2.對於一個portfolio中的所有成分,如果有各自的時間序列的話,假設這些成分的return序列可以用某種Copula去擬合。比如是Gaussian Copula的話也就是通過擬合得到Covariance Matrix, 如果假設是其他一些Copula的話同樣也就是得到表達那個Copula所需要的參數,這是我自己粗淺的理解。有了這些參數,就可以做一些事情了,比如進一步的模擬算VaR等等。也不展開了。R和SAS有比較好的工具。
我自己的理解也比較粗淺,學的時候有過一些困惑,以上內容也是相當於我的筆記幫我理解和記憶,希望對於題主對Copula的理解能夠有所幫助。也希望批評指正。
來自: https://wenku.baidu.com/view/0fad3d4187c24028915fc3a1.html
簡單來說就是:
Copula在金融中的應用主要在風險管理。
風險管理最重要的概念是風險因子的分布(多個風險因子的聯合分布);
聯合分布包含兩個信息:1.邊緣分布(marginal dist)2. 相互關係;
相互關係中,比較熟悉的概念就是線性相關程度,correlation;但是,只有線性關係顯然是不夠的,Copula就是建立各風險因子之間相互關係的橋樑;
說到通俗易懂,我覺得還是做一個比喻比較容易達到目的。
當然,首先說一下Copula是幹啥的,Copula是用來研究「複雜」的多變數之間的相關性的。
比方現在有A,B,C,D四個人,這四個人是生活在民主國度里,思想觀點比較自由不受拘束,另外還有a,b,c,d四個人,這四個人生活在專制國度里,思想觀點比較單一受到管制。好了,現在我們要預測A,B,C,D對於一件事看法的一致性(或者說行成一致性看法的概率),由於這四個人身處自由國度,觀點比較多元,對一件事的看法,比較不好預測,但是a,b,c,d這四個人對同一件事的觀點的一致性就比較容易預測。於是我們想辦法能不能把A,B,C,D和a,b,c,d建立起一一映射或者說一一綁定,A說,現在a代表我了,他所說的做的就是我想說的做的,同理,B,C,D也這樣表態,分別由b,c,d代表。於是我們就可以用比較好預測的abcd四人的一致性來推測ABCD四人的一致性。那麼以上把兩個國度里的人做一一綁定和透過比較好預測的對象來推測比較不好預測的對象就是Copula做的事情。
換做統計里的話說,現在我們只有A,B,C,D四個變數的邊緣分布,他們的聯合分布並不知道,所以也就無法知道四個變數在某個條件下的聯合概率是多少。這時我們可以把A,B,C,D四變數的邊緣分布分別一一映射到已知的性質比較清楚的變數分布上,比如說正態變數,t變數,因為這些變數不但有各自的邊緣分布,還有很好的聯合分布,通過他們的聯合分布函數就可以推測A,B,C,D四變數的聯合概率了。
以上是不是聽起來很像歷史上汪同學的曲線救國啊?嗯,沒錯,異曲同工。
這裡還得說一下,線性的相關(可以理解為傻瓜國度里的一致性),比較簡單,統計上的相關係數rou(專治傻瓜)就足夠了,但是對於非線性的相關性(上面提到的自由國度),就得請我們的Copula大神出場了。copula中文好像是叫連接,介質。這個函數也就是這個意思。一般來描述兩個隨機變數的相關性用相關係數,但是它是一個數,是信息壓縮了的結果,隨機變數大小都不會改變這個結果。而copula函數是把整個函數包括變數間的相關關係都給你了,他做了一個相當於是規範化的東西,把所有隨機變數都映射成零到一均勻分布,映射方法就是把每個隨機變數都用它對應的分布函數作用它,這種方法也就是讓分位數對應起來,從而保證大致相似的相關性狀況。
所謂連接,就是我有了一個分布,通過分位數映射變成copula逆映射到別的隨機變數分布,就使得這兩個多元分布有了相似的相關性狀況。比如,我有了相關係數0.5的多元正態分布,就可以通過這種方法構造一個相關係數大致為0.5的多元指數分布。這一般用在蒙特卡洛模擬中生成隨機數。copula就起到一個連接搭橋的作用。
另外,風險管理中有時需要管理尾部風險,資產得左尾相關係數會非常大,數學上一點理解就是取條件之後再算相關係數,就是損失的時候往往因為宏觀環境不好就多種資產會同時損失,而盈利的時候現象不明顯。這時可以人為的做一些滿足上述條件的copula,比如阿基米德連接函數。這樣就可以模擬/擬合 具有尾部相關性的多元高斯分布。推薦閱讀:
※一段繩子,任意切n刀,切成n+1段繩子。問這些繩子能組成n+1邊形的概率?
※1樓到n樓的每層電梯門口都放著一顆鑽石,鑽石大小不一。你乘坐電梯從1樓到n樓,每層樓電梯門都會打開一次,只能拿一次鑽石,問怎樣才能拿到「最大」的一顆?
※掃雷遊戲中,第一次點開的區域面積的期望是多少?