No BSD License
-
PlotMeTheGreeks(varargin)
PLOTMETHEGREEKS M-file for PlotMeTheGreeks.fig
-
uigetdate(varargin)
UIGETDATE date selection dialog box
-
GKprice(CallPutFlag, S, X, T,...
-
VarVega=bsVarVega(CallPutFlag...
-
delta=bsDelta(CallPutFlag, S,...
-
gamma=bsGamma(CallPutFlag, S,...
-
lambda=bsElasticity(CallPutFl...
-
theta=bsTheta(CallPutFlag, S,...
-
vega=bsVega(CallPutFlag, S,X,...
-
View all files
from
PlotMeTheGreeks
by Yazann Romahi
VisualizationTool for Option Greeks in 3 and 4 dimensions.
|
| theta=bsTheta(CallPutFlag, S,X,T,r,r_f, sigma)
|
function theta=bsTheta(CallPutFlag, S,X,T,r,r_f, sigma)
d1=(log(S./X)+(r-r_f+(sigma.^2)./2).*T)./(sigma.*sqrt(T));
d2=d1-sigma.*sqrt(T);
nd1=(1/sqrt(2.*pi)).*exp(-d1.^2/2);
if CallPutFlag=='C'
part1= -(S.*exp(-r_f.*T).*nd1.*sigma)./(2.*sqrt(T));
part2= r_f.*S.*exp(-r_f.*T).*normcdf(d1);
part3= r .* X .* exp(-r .* T) .* normcdf(d2);
theta= part1 + part2 - part3;
else
theta=-(S.*exp(-r_f.*T).*nd1.*sigma)./(2.*sqrt(T)) -r_f.*S.*exp(-r_f.*T).*normcdf(-d1)+ r .* X .* exp(-r .* T) .* normcdf(-d2);
end
TimeDecayPeriodInDays=1;
theta=theta.*TimeDecayPeriodInDays/260;
end
% bsTheta(CallPutFlag, S, X, T, r, r_f, sigma)
%
% Returns Garman-Kohlhagen Theta for a European currency option
% version: v1.0
% author: Yazann Romahi [yazann@romahi.com]
|
|
Contact us at files@mathworks.com