How to compute n bivariate copulas in modern portfolio theory?

2 次查看(过去 30 天)
Hi everyone, i'm trying to explain the dependance structures between n financial stock returns. Instead of using a single n-variate copula, I tried to use n*(n-1)/2 copulas to explain the dependance structures one-to-one. But how can I find an optimal portfolio of stocks (using modern portfolio theory) using these bivariate copulas? I already found the best family and the correspondent parameter(s) for each bivariate copula. But now I don't know how to manage them... Here I'm finding the simulated returns of each one-to-one stock.
nPoints = 100;
R = zeros(nAsset,nAsset,nPoints,2);
for i=1:nAsset
for j=1:i-1
if strcmp(copula_type(i,j),'t')==1
U = copularnd(copula_type(i,j), [1 copula_coefficients(i,j,1); copula_coefficients(i,j,1) 1], copula_coefficients(i,j,2), nPoints);
R(i,j,:,:) = [marginal{i}.icdf(U(:,1)) marginal{j}.icdf(U(:,2))];
elseif strcmp(copula_type(i,j),'Gaussian')==1
U = copularnd(copula_type(i,j), [1 copula_coefficients(i,j,1); copula_coefficients(i,j,1) 1], nPoints);
R(i,j,:,:) = [marginal{i}.icdf(U(:,1)) marginal{j}.icdf(U(:,2))];
else
U = copularnd(copula_type(i,j), copula_coefficients(i,j,1), nPoints);
R(i,j,:,:) = [marginal{i}.icdf(U(:,1)) marginal{j}.icdf(U(:,2))];
end
end
end
I'd like to create a Markowitz's frontier using Expected Shortfall as risk measure, but I don't know how to manage these n*(n-1)/2 copulas :(
Please help me :)
Thanks, Enrico.

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Probability Distributions and Hypothesis Tests 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by