QuantLib

QuantLib is an open-source software library which provides tools for software developers and practitioners interested in financial instrument valuation and related subjects. QuantLib is written in C++.

History
The QuantLib project was started by a few quantitative analysts who worked at RiskMap (currently StatPro Italia). The first e-mail announcing QuantLib to the world was sent on December 11, 2000, and signed by Ferdinando Ametrano, Luigi Ballabio and Marco Marchioro. RiskMap was founded by Dario Cintioli, Ferdinando Ametrano, Luigi Ballabio, Adolfo Benin, and Marco Marchioro. The people at RiskMap faced the problem, not for the first time in their lives, to build a financial library from scratch. It was Ferdinando's idea to build an open source library that could be used by quants all over the world when starting to build a new quantitative library. Currently, the QuantLib project is headed by Luigi Ballabio and Ferdinando Ametrano.

Usage
QuantLib is available as C++ source code which is compiled into a library. It is known to work on Windows, Mac OS X, Linux and other Unix-like operation systems.

It can be linked with other languages via SWIG. The Python binding can be installed via pip; the "RQuantLib" package makes parts of QuantLib accessible from R.

Much of QuantLib's functionality can be used in Excel via the add-in QuantlibXL.

Licensing
QuantLib is released under a modified BSD license known as the XFree86-type license. It is GPL compatible.

Features
The software provides various facilities for computing values of financial instruments and related calculations. It is a major example of Mathematical finance. Its main use is in quantitative analysis.

The financial instruments and derivatives it can evaluate include
 * Options
 * Asian options
 * Basket options
 * Cliquet options
 * Compound options
 * Digital options
 * Lookback options
 * Vanilla options
 * Bonds
 * Amortizing bonds
 * Convertible bonds
 * Fixed rate bonds
 * Floating rate bonds
 * Zero-coupon bonds
 * Yield curve
 * Date calculations
 * Calendars
 * Date calculations
 * Day counting methods
 * Swaps
 * Asset swaps
 * BMA swaps
 * Year-on-year inflation swaps
 * Vanilla swaps
 * Quantos
 * Currencies

It has models for
 * Yield curves
 * Interest rates
 * Volatility

It can compute derivative prices using methods including:
 * Analytic formulae
 * Tree methods
 * Finite difference methods
 * Monte Carlo methods