Journal of Computational Finance
ISSN:
1460-1559 (print)
1755-2850 (online)
Editor-in-chief: Christoph Reisinger
![Risk.net](https://www.risk.net/sites/default/files/styles/print_logo/public/2018-09/print-logo.png?itok=1TpHrpuP)
Adjoint algorithmic differentiation tool support for typical numerical patterns in computational finance
Need to know
- The naive application of adjoint algorithmic differentiation (AAD) tools to practically relevant problems in Computational Finance often yields infeasible memory requirement and suboptimal computational cost.
- Robust, scalable and sustainable AAD solutions need to exploit typical data dependence patterns and mathematical semantics of commonly used numerical kernels.
- The dco/c++ software tool facilitates the development of production-grade AAD solutions through intuitive application programming interfaces built upon an extensive range of functionalities including adjoints of arbitrary order, tape compression, and support for parallelism.
Abstract
We demonstrate the flexibility and ease of use of C++ algorithmic differentiation (AD) tools based on overloading through application to numerical patterns (kernels) arising in computational finance. While adjoint methods and AD have been known in the finance literature for some time, there are few tools capable of handling and integrating with the C++ codes found in production. Adjoint methods are also known to be very powerful but have potentially infeasible memory requirements. We present several techniques for dealing with this problem and demonstrate them on numerical kernels that occur frequently in finance. We build the discussion around the mature AD tool dco/c++, which is designed to handle arbitrary C++ codes and be highly flexible; however, the sketched concepts can certainly be transferred to other AD solutions including in-house tools. An archive of the source code for the numerical kernels as well as all the AD solutions discussed can be downloaded from an accompanying website. This includes documentation for the code and for dco/c++. Trial licences for dco/c++ are available from Numerical Algorithms Group Ltd.
Copyright Infopro Digital Limited. All rights reserved.
As outlined in our terms and conditions, https://www.infopro-digital.com/terms-and-conditions/subscriptions/ (point 2.4), printing is limited to a single copy.
If you would like to purchase additional rights please email info@risk.net
Copyright Infopro Digital Limited. All rights reserved.
You may share this content using our article tools. As outlined in our terms and conditions, https://www.infopro-digital.com/terms-and-conditions/subscriptions/ (clause 2.4), an Authorised User may only make one copy of the materials for their own personal use. You must also comply with the restrictions in clause 2.5.
If you would like to purchase additional rights please email info@risk.net