| clear all; close all; clc; clf; |
| K = 100; L = 2.5*K; T = 1/365; sigma = 0.3; r = 0.03; |
| cash = 100; Nx = L+1; x = linspace(0,L,Nx); h = x()-x(); |
| payoff(1:Nx) = 0.0; payoff(x >= K) = cash; |
| %% Price %% |
| d1 = (log(x/K) + (r+sigma2/2)*T)/(sigma*sqrt(T)); |
| d2 = d1 - (sigma*sqrt(T)); |
| exact = cash*exp(-r*T).*normcdf(d1); |
| figure(); hold on; grid on; |
| plot(x,payoff,,k-,,x,exact,,r-,); axis([0 L -5 1.05*cash]); |
| %% Delta %% |
| del = cash*exp(-r*T).*normpdf(d1)./(sigma*sqrt(T)*x); |
| figure(); hold on; grid on; |
| plot(del,,r-,,,LineWidth,,1); axis([0 L -5 1.1*max(del)]); |
| %% Gamma %% |
| gam = -cash*exp(-r*T) * (d1.*normpdf(d2))./((sigma*x).2*T); |
| figure(); hold on; grid on; plot(gam,,r-,,,LineWidth,,1); |
| axis([0 L -1.1*max(gam) 1.1*max(gam)]); |
| %% theta %% |
| the = cash*exp(-r*T)*(r*normcdf(d2) + normpdf(d2)... |
| .* (d1/(2*T) - r/(sigma*sqrt(T)))); |
| figure(); hold on; grid on; plot(the,,r-,,,LineWidth,,1); |
| axis([0 L -1.1*max(the) 1.1*max(the)]); |
| %% Vega %% |
| veg = -cash*exp(-r*T)*(normpdf(d2)).*d1/sigma; |
| figure(); hold on; grid on; plot(veg,,r-,,,LineWidth,,1); |
| axis([0 L -1.1*max(veg) 1.1*max(veg)]); |
| %% Rho %% |
| rho = cash*exp(-r*T)*((-T*normcdf(d2)) + sqrt(T)/sigma*(normpdf(d2))); |
| figure(); hold on; grid on; plot(rho,,r-,,,LineWidth,,1); |
| axis([0 L 3*min(rho) 1.1*max(rho)]); |