統計

如何將高斯邊緣與高斯 copula 結合以獲得多元法線?

  • August 29, 2016

在《金融中的數值方法和優化》一書中,我紅色了以下內容:“將高斯 copula 與高斯邊際結合起來提供了一種表達多元法線的奇特方式。但是,高斯 copula 也可以與其他邊際結合,而高斯邊際可以通過任何 copula 連結”。

我想將高斯 copula 與高斯邊際相結合,以獲得我的 7 個資產類別的多元法線。此外,我想將 t-marginals 與 t-copula 結合起來,以獲得多元 t-分佈。有誰知道如何在 MatLab 中做到這一點?我為此掙扎了很長一段時間!

這就是我處理 t 邊際和 t copula 問題的方法:


%% 通過 t 分佈定義單變數過程

對於 i = 1:nAssets

邊際{i} = fitdist(returns(:,i),’tlocationscale’);

結尾

%% Copula 校準

對於 i = 1:nAssets

U(:,i) = 邊際{i}.cdf(returns(:,i)); % 將邊距轉換為均勻

結尾

$$ rhoT, DoF $$= copulafit(’t’, U, ‘方法’, ‘ApproximateML’); %% 對每個索引進行反向轉換

U = copularnd(’t’, rhoT, DoF, NumObs * NumSim);

對於 j = 1:nAssets

ExpReturns(:,:,j) = reshape(marginal{j}.icdf(U(:,j), DoF), NumObs, NumSim);

結尾


我的方法有意義嗎??非常感謝任何幫助,尤其是在 MatLab 程式碼上!!!

最好的祝福

您可以通過Sklar 定理用高斯邊際和高斯 Copula 表示正態分佈,如下所示:

$$ F(x_1,…,x_n)=C(F(x_1),…,F(x_n))=C^{Gau}(N(x_1),…,N(x_n)) $$ 所以分佈等於以各自的逆邊際作為參數的 copula 函式。

您還可以通過以下公式組合任何類型的 Copula 和(連續)不同的 Marginals 以形成新的分佈:

$$ F(x_1,…,x_n)=C(F(x_1),…,F(x_n)) $$ 所以對於 Student-t-Copula:

$$ F(x_1,…,x_n)=C_t(F_t(x_1),…,F_t(x_n)) $$ 備註:您還可以組合不同類型的邊緣和 copula,例如 Gauss Copula 和 t-Marginals。

可以在此處找到生成 Copula 值的 MATLAB 函式:

Y = copulacdf(‘高斯’,U,rho)

Y = copulacdf(’t’,U,rho,NU)

請記住,具有高斯 copula 的高斯邊際只不過是多元高斯分佈(詳情請參見此處)。對於具有 t-copula 的 t-marginals(具有相同的自由度),您將得到多元 t-分佈

兩種多元分佈都以它們的共變異數矩陣為特徵。t 分佈具有附加的參數自由度,因此會產生尾部相關性。

總而言之,在這些情況下,您不需要 copula 概念。唯一的好處是在 t 分佈情況下對邊際和 copula 使用不同的自由度。

引用自:https://quant.stackexchange.com/questions/14776