Code covered by the BSD License  

Highlights from
MATLAB no Desenvolvimento de Modelos para Financas

image thumbnail
from MATLAB no Desenvolvimento de Modelos para Financas by Elia Matsumoto
Slides and demo files using Brazilian market data.

ys=spl_interp(yd)
% funcao spl_interp(yd)
function ys=spl_interp(yd)
% Verifica tipo de dado
if iscell(yd)
    yc = yd;
    ny = length(yd);
    yd = NaN*ones(ny,1);
    for i=1:ny
        if isnumeric(yc{i})
            yd(i) = yc{i};
        end
    end
end
%% Separacao dos dados
n=length(yd);
xd=[1:n]';
ind1 = find(~isnan(yd));
ind2 = find(isnan(yd));
yn=yd(ind1);
xn=xd(ind1);
%% Geracao da Spline
sp=spline(xn,yn);
xx=linspace(min(xn),max(xn),4*n);
yy=ppval(sp,xx);
%% Interpolacao dos pontos invalidos
xn2=xd(ind2);
yn2=ppval(sp,xn2);
ys(ind1)=yn;
ys(ind2)=yn2;
%% Geracao do grafico
figure
plot(xn,yn,'*',xn2,yn2,'ro',xx,yy)
ys=ys';
legend('Valores','Interpolao','Spline',0)

Contact us at files@mathworks.com