Need a very mathematically minded coder to program (C++ or C#) the numerical solution for a partial differential equation (PDE - Black-Scholes) according to the following paper: Fast Generation of implied Volatility Surface of Exchange Trades Stock Options -- [url removed, login to view] The goal is to calculate the implied volatility for a given * OptionPrice, * current price of the underlying, * StrikePrice, * Time to expiration and * Risk-free interest rate. Possible dividend payments are ignored.
The underlying equations are based on LR (Leisen-Reimer) binomial tree method. The solution has to be done iteratively with one starting value for implied volatility, calculation of Option Price -- comparing with provided option price and new estimation for volatility. Brent-Method For the root-finding algorithm ( [url removed, login to view] Chp 4.6 or R. P. Brent, Algorithms for Minimization Without Derivatives. Prentice Hall, Englewood Cliffs, NJ, 1973, ch. 4.) should be used.
Potential C++ code: [url removed, login to view]~jburkardt/cpp_src/brent/[url removed, login to view]
Additional resources for solving this problem related to Leisen/Reimer/Binominal Tree Methods are:
* Pricing in the binominal model ( [url removed, login to view]~ronnie/NM1&2Notes/[url removed, login to view] )
* Leisen-Reimer in MATLAB ([url removed, login to view])
* Leisen Reimer Binominal Tree Algorithm: [url removed, login to view]
Regarding the optimization for the LR binominal tree algorithm, please follow closely the hints provided in main paper: "Fast Generation of Implied Volatility" -- III. D Optimization -- which deals with (a) memory optimization using 1 dimensional structure instead of 2 dim; (b) Optimization on calculating binominal tree;
Additionally, Algorithm should solve for American options (i.e. with possibility of early exercise -- also explained in III. D Optimization
Support of European option exercise not required; same support for Dividend payments not required
Algorithm should work for call and put options.
A reasonable interpolation for implied volatility should be given the last day of expiration instead of a solution to Black-Scholes that doesn't make sense.
Algorithm should run in parallel on all cores of a multi-core processor under Windows 8;
Algorithm should be in 50% range of performance test (i.e. not more than 50% slower) made in Paper: "Fast Generation of Implied Volatility"