function CapletOption(F,X,Notional,d,basis,r,sigma,T1,T2)
{
sigma2=sigma*sigma;
d1=(ln(F/X)+(sigma2/2/(T2-T1)))/Math.sqrt(T2-T1)/sigma;
d2=d1-Math.sqrt(T2-T1)*sigma;
return (Notional*d/basis)/(1+F*d/basis)*Math.exp(-r*(T2-T1))*(F*NCDF2(d1)-X*NCDF2(d2));
}
function FloorletOption(F,X,Notional,d,basis,r,sigma,T1,T2)
{
sigma2=sigma*sigma;
d1=(ln(F/X)+(sigma2/2/(T2-T1)))/Math.sqrt(T2-T1)/sigma;
d2=d1-Math.sqrt(T2-T1)*sigma;
return (Notional*d/basis)/(1+F*d/basis)*Math.exp(-r*(T2-T1))*(X*NCDF2(-d2)-F*NCDF2(-d1));
}
No comments:
Post a Comment