function [df,df2,z] = df_matrix (vector)
% df1: discount factor of the swap rates
% df2: discount factors after bumping the zero curve by 1 bps
% zero rates of the swap rates
% Antonio Rivela. March 2010
time=[1:1:size(vector,1)];
m = diag(vector+1);
for i= 2:size(m,1)
for j= 1:i-1
m(i,j)= vector(i);
end
end
df= inv(m)*ones(size(m,1),1);
for i=1:size(m,1)
z(i,1) = (1/df(i))^(1/i)-1;
% I am calculating discount factors after bumping the curve by 1 bps
df2(i,1) = 1/((0.0001+1+z(i,1))^i);
end
end
Publicado con MATLAB® 7.9
