QuantLibAddin exports the functionality of the QuantLib C++ analytics library to a variety of end-user platforms including Microsoft Excel and LibreOffice Calc.

The Excel implementation of QuantLibAddin is packaged for end users as the QuantLibXL project which provides

  • An installer for the addin
  • Business documentation
  • Example workbooks

The scope of the QuantLibAddin project includes

  • Implementations for platforms other than Excel
  • Downloads and tutorials for compiling QuantLibAddin/QuantLibXL from source code


The QuantLibAddin application comprises

  • QuantLibObjects, a library which wraps QuantLib classes in a format which allows them to be stored in ObjectHandler
  • An interface configured in XML from which gensrc generates source code for Addins on supported platforms


Features of QuantLibAddin include

  • Object Orientation - QuantLib objects may be constructed, interrogated, updated, passed as arguments to other functions, and destructed.
  • Polymorphism - For example, function qlNPV() returns the NPV of an Instrument and may be invoked on an instance of any derived class such as Swap or Bond.
  • Portability - The same interface is implemented in platform neutral C++ and is available on all supported environments.
  • Serialization - A pricing environment may be created in Excel workbooks and transmitted to a Linux process for calculation.
  • Coercion - The value which the user inputs to a function may be one of a number of datatypes and any necessary conversion is performed automatically.
  • Enumerations - Minor or transient types are represented by a registry of string/value pairs, for example "PUT" indicates QuantLib::Option::Put.


QuantLibAddin is a subproject of QuantLib and shares the QuantLib project structure with regard to distribution and licensing. The mailing list for QuantLibAddin is quantlib-users@lists.sf.net. The list archives may be searched here.