%금융 20170310 과제 제출합니다
clear; clf; close all;
a=0; b=400; Nx=201;
% T=3;
x=linspace(a,b,Nx+2);
for i=2:Nx+1
u(i,1)=max(x(i)-280,0);
end
plot(x(2:Nx+1),u(2:Nx+1,1),'o-')
sigma=0.0836; r=0.0149; h=x(2)-x(1); dt=0.1/365.0;
% Nt=round(T/dt);
% 만기[ 35 63 91 126 154 189] days
T=[35 63 91 126 154 189]; T=T/365;
iter_T=T/dt;
for n=1:iter_T(4)
u(1,n)=2*u(2,n)-u(3,n);
u(Nx+2,n)=2*u(Nx+1,n)-u(Nx,n);
for i=2:Nx+1
u(i,n+1)=u(i,n)+...
dt*(0.5*sigma^2*x(i)^2*(u(i-1,n)-2*u(i,n)+u(i+1,n))/h^2 + ...
r*x(i)*(u(i+1,n)-u(i-1,n))/(2*h)-r*u(i,n));
end
end
interp1(x,u(:,end),279.29)
figure(1);
plot(x(1:end-1),u(1:end-1,:));
% 4월 만기 : sigma = 0.0815
%
% 5월 만기 : sigma = 0.093
%
% 6월 만기 : sigma = 0.995
%
% 7월 만기 : sigma = 0.0914
%
% 8월 만기 : sigma = 0.0835
%
% 9월 만기 : sigma = 0.0836