QoX is a finite difference quant library, written in Rust, with an unpublished numerical algorithm for American options. The samples provided in this repository demonstrate its performance. The current version (0.2.2) handles discrete dividends and implied volatility.
The repository also provides a script which plots gamma and theta which are smooth sufficiently far from the exercise boundary depending on the chosen granularity. It works for vol greater than 10%, and it is untested for negative rates and high dividend yield. It assumes your hardware supports FMA3 and AVX2. Part of the working Rust code can be viewed in the qox-fdm repository.
Inquire about consulting: qox.library [at] gmail.com
Other projects:
Pricing Black-Scholes and Heston about 3x to 4x faster than the COS method, applicable to other stochastic processes.
Sub-microsecond discrete dividend handling for European options.
Sub-microsecond American option pricing in development.
Sub-microsecond option calibration in development.
| Example | Notebook | Interactive Demo |
|---|---|---|
| Quickstart Guide | quickstart.ipynb |
Run pip install qox.
This benchmark compares American put pricing using the finite difference method where QoX achieves at least a 50x speedup over QuantLib to get the same accuracy for a 1 year ATM American option with appropriate parameters. This was done on one core with some use of SIMD on a cold start basis. It has potential to be a lot faster when running multiple strikes in batches.
This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.
For commercial licensing, custom terms, or general enquiries, please email qox.library [at] gmail.com*.
