function CallAsianOptionArithmeticLevyForm(S,X,r,sigma,q,T,t)
{
sigmaC=sigma*sigma;
M=(2*S*S/(r-q+sigmaC)*Math.exp((2*(r-q)+sigmaC)*(T-t)-1)/(2*(r-q)+sigmaC))-(Math.exp((r-q)*(T-t))-1)/(r-q);
L=M/T/T;
Sz=S/(r-q)/T*(Math.exp(-q*(T-t))-Math.exp(-r*(T-t)));
K=ln(L)-2*(r*(T-t)+ln(Sz));
Xz=X-S*((T-T-t)/T);
d1=1/Math.sqrt(K)*(ln(L)*0.5-ln(Xz));
d2=d1-Math.sqrt(K);
return Sz*NCDF2(d1)-Xz*Math.exp(-r*(T-t))*NCDF2(d2);
}
function PutAsianOptionArithmeticLevyForm(S,X,r,sigma,q,T,t)
{
sigmaC=sigma*sigma;
M=(2*S*S/(r-q+sigmaC)*Math.exp((2*(r-q)+sigmaC)*(T-t)-1)/(2*(r-q)+sigmaC))-(Math.exp((r-q)*(T-t))-1)/(r-q);
L=M/T/T;
Sz=S/(r-q)/T*(Math.exp(-q*(T-t))-Math.exp(-r*(T-t)));
K=ln(L)-2*(r*(T-t)+ln(Sz));
Xz=X-S*((T-T-t)/T);
d1=1/Math.sqrt(K)*(ln(L)/2-ln(Xz));
d2=d1-Math.sqrt(K);
return CallAsianOptionArithmeticLevyForm(S,X,r,sigma,q,T,t)-Sz+Xz*Math.exp(-r*(T-t));
}
Tuesday, June 11, 2013
Asian Option Arithmetic Levy Form (not stable)
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment