?? svenson-ns.txt
字號:
function v2=svenson_ns_joint(x) ;
load Data.mat;
bd_qy=zeros(size(p_qy));
d_qy=zeros(size(cf_qy));
m=zeros(size(cf_qy));
j=1;
num=147;
b0=x(1);
b1=x(2);
b2=x(3);
b3=x(4);
t1=x(5);
t2=x(6);
bb0=x(7);
bb1=x(8);
bb2=x(9);
t3=x(10);
for i=1:num
for s=t_qy(i,:)
if s==0
break;
else
m1=-s/t1;
m2=-s/t2;
m3=-s/t3;
r1=b0+b1*((exp(m1)-1)/m1)+b2*((exp(m1)-1)/m1-exp(m1))+b3*((exp(m2)-1)/m2-exp(m2)); %svenson model
r2=bb0+bb1*(-exp(m3)/m3)*exp(m3)+bb2*((exp(m3)-1)/m3-exp(m3)); %nelson-siegel model
b=exp(-r1*s-r2*s); %b=(1+r1*s+r2*s)^(-s);
end
d_qy(i,j)=b;
j=j+1;
end
j=1;
end
m=d_qy.*cf_qy;
for i=1:num
for h=m(i,:)
if h==0
break;
else bd_qy(i)=bd_qy(i)+h;
end
end
end
v2=zeros(size(du_qy));
dd_qy=sum(1./du_qy);
w_qy=du_qy;
for i=1:num
v2(i)=1/w_qy(i)/dd_qy*(p_qy(i)-bd_qy(i))/(num*1000)^(0.5); %為防止函數值過小,在優化時過早收斂乘上1000 不影響結果
end
save jjh.mat;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -