如何將高斯邊緣與高斯 copula 結合以獲得多元法線?
在《金融中的數值方法和優化》一書中,我紅色了以下內容:“將高斯 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 使用不同的自由度。