Overview
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
Components
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
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 anInstrument
and may be invoked on an instance of any derived class such asSwap
orBond
. - 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"
indicatesQuantLib::Option::Put
.
QuantLib
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.