u=data(:,1);
v=data(:,2);
T=length(u);
=
options
optimset('Algorithm','interior-point','Display','iter','TolCon',10^-12,'TolFun',10^-4,'TolX',10^
-6); %优化条件
% 1. Normal Copula
kappa1 = corrcoef12(norminv(u),norminv(v));
LL1 = NormalCopula_CL(kappa1,[u,v]);
% 2. Clayton's copula
lower = 0.0001;
theta0 = 1;
[ kappa2 LL2] = fmincon('claytonCL',theta0,[],[],[],[],lower,[],[],options,[u,v]); %参数约束非线性
优化方法估计 clayton copula 函数的参数
% 3. Rotated Clayton copula (with tail dep in upper tail instead of lower)
lower = 0.0001;
theta0 = 1;
[ kappa3 LL3] = fmincon('claytonCL',theta0,[],[],[],[],lower,[],[],options,1-[u,v]);
% 4. Plackett copula
lower = 0.0001;
theta0 = 1;
[ kappa4 LL4] = fmincon('plackettCL',theta0,[],[],[],[],lower,[],[],options,[u,v]);
% LL5 = -3.2721
% 5. Frank copula
theta0 = 1;
[ kappa5 LL5] = fmincon('frankCL',theta0,[],[],[],[],lower,[],[],options,[u,v]);
% 6. Gumbel copula
lower = 1.1;
theta0 = 2;
[ kappa6 LL6] = fmincon('gumbelCL',theta0,[],[],[],[],lower,[],[],options,[u,v]);
% 7. Rotated Gumbel copula
lower = 1.1;
theta0 = 2;
[ kappa7 LL7] = fmincon('gumbelCL',theta0,[],[],[],[],lower,[],[],options,1-[u,v]);
% 8. Student's t copula
lower = [-0.999 , 2.1 ];
upper = [ 0.999 , 100 ];
theta0 = [kappa1;10];
[ kappa8 LL8] = fmincon('tcopulaCL',theta0,[],[],[],[],lower,upper,[],options,[u,v]);
% 9. Symmetrised Joe-Clayton copula
lower = [0 , 0 ];
upper = [ 1 , 1];
theta0 = [0.25;0.25];
[ kappa9 LL9] = fmincon('sym_jc_CL',theta0,[],[],[],[],lower,upper,[],options,[u,v]);
LL = [LL1;LL2;LL3;LL4;LL5;LL6;LL7;LL8;LL9];
u,v 为服从 0,1 均匀分布序列,'tcopulaCL'等等为编写好 copula 似然函数(只是提醒不是代码)