|
From: Dmitry (TAKT) <he...@ta...> - 2026-10-23 07:07:00
|
Hello all, Luigi kindly suggested I write here about a package we published on PyPI, quantlib-takt. I run TAKT, a small company, so please read this as a note from a vendor. TAKT is not affiliated with or endorsed by the QuantLib project. What it is: the official QuantLib 1.43 Python wheel with only the bundled C++ library replaced by our build. `import QuantLib` and the API are unchanged. On the same machine every result is identical to the official wheel, bit for bit. What is faster in the free package: European options priced by Monte Carlo, including Sobol paths and Greeks by bumping. End to end from Python (the whole process, interpreter start included), our test cases run roughly 4x to 18x faster in wall time; the largest gain is on Greeks by bumping. Everything else (Asian, American LSM, barrier, basket, Heston, local volatility, and all non-Monte-Carlo engines) runs the original code at the original speed. A commercial licence covers those engines and the C++ library; the free package has no time limit. How we checked: 867 printed results from a C++ driver and 270 through Python, compared at 17 significant digits and as hex floats; QuantLib's C++ test suite (1,339 cases) and the QuantLib-SWIG Python tests also pass with our library. Limits: Linux x86-64 only, Python 3.9 to 3.13, and it is still QuantLib 1.43, not 1.44. To try it: pip uninstall -y QuantLib && pip install quantlib-takt One observation that may be useful regardless of our package: the official 1.43 build itself prints slightly different last digits on different glibc versions (205 of 840 printed numbers differ between glibc 2.28 and 2.39), because the results go through the system maths library. Notes: https://taktcycles.com/notes/quantlib-glibc-last-digits.html Measurements and scripts: https://taktcycles.com/showcase/quantlib-mc/README.html Package: https://pypi.org/project/quantlib-takt/ Questions and criticism are welcome, here or at he...@ta.... Dmitry TAKT (ABX DEVELOPMENT LLP, Edinburgh) |