Posts: 111
Threads: 19
Joined: Jan 1970
Excellent work Bob! In DataFile V22N3 pp13-21 I did a B-S article about the 12C but included this version for the 17bii which uses a simplified form of the approximation you use:
=========snippet from DataFile =================
This equation is 15% shorter than the one on the HP page and
produces answers 20 times more accurate:
{BLK.SCHLS|if(S(PUTV):-PS+PE*EXP(-RF%*T/100)+0*S+CALLV-PUTV:
0*L(D5:(LN(PS/PE)+(RF%/100+S^2/2)*T)/S/SQRT(T))
*L(D6:G(D5)-S*SQRT(T))
*L(D1:1/(1+ABS(G(D5)/3.006)))
*L(D2:1/(1+ABS(G(D6)/3.006)))
+PS*ABS(IF(G(D5)<0;0;-1)+
EXP(-G(D5)^2/2)*G(D1)*(((187*G(D1))-24)*G(D1)+87)/500)
-PE*EXP(-RF%*T/100)*ABS(IF(G(D6)<0:0:-1)+
EXP(-G(D6)^2/2)*G(D2)*(((187*G(D2))-24)*G(D2)+87)/500)
-CALLV)}
==============================
There is another version for the 17bii as well that enables resolving for the any of the 5 inputs, including the implied volatility. This one above could even be shortened again but accuracy suffers a little.
For DataFile, see www.hpcc.org