You are on page 1of 2

 Plot option

% Plotoptions.m

% Long call, succeed

X=50;

c=2;

St=40:0.05:60;

subplot(2,2,1);

plot (St,max(St-X,0)-c);

title('long call');

xlabel('S');

ylabel('profit');

axis([40 60 -10 10 ])

% Short call, succeed

subplot(2,2,2);

plot (St,c-max(St-X,0));

title('short call');

xlabel('S');

ylabel('profit');

axis([40 60 -10 10 ])

% Long put, succeed

subplot(2,2,3);

plot (St,max(X-St,0)-c);

title('long put');

xlabel('S');

ylabel('profit');

axis([40 60 -10 10 ])

% Short put

subplot(2,2,4);

plot (St,c-max(X-St,0));

title('short put');

xlabel('S');

ylabel('profit');

axis([40 60 -10 10 ])
 Long put + BS

% PlotlongputBS.m

X=50;

c=2;

r=0.01;

T=0.5;

sigma=0.2;

St=40:0.05:60;

[m,n]=size(St);

for i=1:n

[call(i),put(i)]=bs(St(i),X,r,T,sigma);

end

plot (St,max(X-St,0), '--black');

hold on;

plot (St,put,'.blue');

title('long put');

xlabel('S');

ylabel('profit');

axis([40 60 0 10 ])

function [C,P] = bs(S0,X,r,T,sigma);

d1=(log(S0/X)+(r+sigma^2/2)*T)/(sigma*sqrt(T));

d2=d1-(sigma*sqrt(T));

C=S0*normcdf(d1)-X*(exp(-r*T) * normcdf(d2));

P=X*exp(-r*T)*normcdf(-d2)-S0*normcdf(-d1);

end

You might also like