%금융 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