QuantLib Extensions

Official wrappers for other languages

QuantLib is available as a C#, Java, Python and R module by means of SWIG.

QuantLibAddin exports a procedural interface to a number of platforms including Microsoft Excel (see the QuantLibXL site) and OpenOffice/LibreOffice Calc.

External projects

Adjoint Algorithmic Differentiation (AAD) support

Adjoint algorithmic differentiation (AAD) can be enabled in QuantLib using the open-source XAD AAD tool and an XAD/QuantLib integration module. QuantLib's AAD-compatibility is actively maintained via automated CI/CD checks, running daily against QuantLib's master branch.

Another AAD-enabled version is offered by MatLogica and uses their AADC JIT compiler to enable fast AAD risks and to speed up forward repetitive calculations by automated multithreading and vectorization.

Yet another modified QuantLib C++ library enabling AAD is available as an open-source project from CompatibL.

Ports and wrappers for other languages

The LibreOffice QuantLib Addin project, based on QuantLibAddin, exports QuantLib to Calc.

Idiomatic GNU R support is provided by means of RQuantLib by Dirk Eddelbuettel.

Deriscope is another project that aims at exporting QuantLib functionality to Excel.

An initial web API for QuantLib (also usable from Google Sheets) is available from quantra.io.

A port of QuantLib to C# is available as QLNet.

The JQuantLib project is a Java port.

An alternative set of Python wrappers is provided in the PyQL project by Didrik Pinte and Patrick Henaff.

QuantLib.jl is a port of QuantLib to the Julia language. The project is in its initial stages and welcomes contributions.

An initial port to Rust is available from https://github.com/piquette/quantlib.

Bindings for Node.js are available from the quantlibnode project. Another (closed-source) JavaScript implementation is available as quantlib.js.

QLDDS is a project that allows the functionality of the QuantLibAddin for C++ to be distributed via OpenDDS across multiple computers running different operating systems.

Other projects aim at ports in a functional language. QuantHas targets the Haskell language, while Quantifa is written in F#; they are looking for developers. HQuantLib is another Haskell port. Cephei.QL wraps the C++ library so that it can be called from F#.

Niels Elken Sønderby has a page for the tentative Mathematica project QuantLibMma. Another unrelated Mathematica extension wrapping QuantLib functionality can be found at the Weber und Partner site.

The QuantLibD project is a port of QuantLib in the D programming language. The project is looking for developers.

The QuantIO project (a work in progress at this time) will provide a GUI implementation of the QuantLib project.