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