QuantLib with adjoint algorithmic differentiation (AAD)
C++ C Makefile M4 HTML Shell
Permalink
Failed to load latest commit information.
Docs Update ChangeLog and news. Jan 13, 2016
Examples Removed project files that do not support C++11. Mar 9, 2016
config Removed obsolete .cvsignore files Mar 30, 2007
dependencies/cpp Added Boost project to solution. Mar 15, 2016
m4 Support for new libtool features Feb 11, 2009
man Ported changes from 1.0.x branch. Jan 25, 2010
ql Parameterized Boost distribution templates with Real. Mar 15, 2016
tapescript Updated copyright header with new documentation URL. Mar 17, 2016
test-suite-adjoint Renamed library and test suites for clarity. Mar 15, 2016
test-suite Renamed library and test suites for clarity. Mar 15, 2016
tools Avoid temporary file. Feb 25, 2016
.gitignore Add VC++ and Dev-C++ projects for new example. Mar 2, 2016
Announce.txt Bump version number to 1.8. Nov 23, 2015
Authors.txt Update changes and contributors. Jun 4, 2015
Bugs.txt merged changeset up to Rev16952 from branches/R01000x-branch to trunk Dec 30, 2009
CMakeLists.txt Add cmake option to link to Boost.Test dynamic library. Feb 22, 2016
ChangeLog.txt Update ChangeLog and news. Jan 13, 2016
Contributors.txt Update changelogs, news and contributors. Nov 13, 2015
LICENSE.TXT Update copyrights. Jan 13, 2016
Makefile.am Merge pull request #32. Feb 23, 2016
News.txt Update ChangeLog and news. Jan 13, 2016
QuantLib.dev Update projects. Mar 7, 2016
QuantLib.props Add support for VC++ 2015 (VC14). Jul 7, 2015
QuantLib.spec.in Boost 1.39 or later required. Dec 4, 2013
QuantLib.vcxproj Renamed library and test suites for clarity. Mar 15, 2016
QuantLib.vcxproj.filters Update projects. Mar 7, 2016
QuantLib_vc12.sln Added Boost project to solution. Mar 15, 2016
QuantLib_vc14.sln Add VC++ and Dev-C++ projects for new example. Mar 2, 2016
README.md Updated README with new documentation URL. Mar 17, 2016
Readme.txt Revamp Readme. Jan 7, 2016
acinclude.m4 use boost::interprocess without librt on OSX Jan 17, 2016
autogen.sh Moved autogen files to solution folder. Oct 28, 2015
configure.ac Merge latest changes from master. Mar 2, 2016
quantlib-config.in added a clean implementation of the thread-safe observer Oct 7, 2015
quantlib.el fix warning during build Aug 31, 2013
quantlib.m4 Fixed m4 macro for QuantLib detection. Apr 21, 2010
quantlib.pc.in Add missing compilation and linking flags. Feb 23, 2016

README.md

QuantLibAdjoint

QuantLibAdjoint implements adjoint algorithmic differentiation (AAD) in QuantLib using TapeScript, an open source (Apache license) C++ library with support for scalar and vector AAD.

QuantLibAdjoint repository is a fork of the master QuantLib repository located at github.com/lballabio/QuantLib.

QuantLib, QuantLibAdjoint, and TapeScript are Non-Copylefted Free Software and OSI Certified Open Source Software.

The QuantLib project (http://quantlib.org) is aimed at providing a comprehensive software framework for quantitative finance. QuantLib is a free/open-source library for modeling, trading, and risk management in real-life.

Bugs can be reported at https://github.com/compatibl/QuantLibAdjoint/issues; if you have a patch for a bugfix or new feature, you can open a pull request instead.

TapeScript

TapeScript is an open source library for adjoint algorithmic differentiation (AAD) developed and maintained by CompatibL. It can be downloaded from github.com/compatibl/tapescript and used free of charge in academic or commercial applications.

TapeScript supports vector AAD (tape compression), an approach in which each slot of the calculation record (AAD tape) can store not only a single double number, but also an entire array of values. Vector AAD can lead to performance gain of several orders of magnitude due to the reduction of tape size.

TapeScript features:

  • Scalar AAD
  • Vector AAD (tape compression)
  • APIs for C++, C#, and Java
  • Complex numbers
  • Works with Boost and QuantLib
  • Multithreading support

About CompatibL

CompatibL offers turnkey solutions for XVA and regulatory capital as well as custom development, integration, and consultancy.

Check out TapeLib, CompatibL's product suite for AAD that incorporates:

  • A C++ library extending TapeScript with features specific to quantitative finance
  • An application platform for interactive AAD

TapeLib features:

  • Document database preserving AAD data
  • Tape database
  • Finance-specific atomics including adjointable AMC
  • User defined atomics
  • Tape cutting and splicing
  • Parallel tape execution
  • Specialized gate checking API
  • Excel addin, desktop and client