Mini-symposium on automatic differentiation and its applications in the financial industry

Automatic differentiation is involved for long in applied mathematics as an alternative to finite difference to improve the accuracy of numerical computation of derivatives. Each time a numerical minimization is involved, automatic differentiation can be used. In between formal derivation and standard numerical schemes, this approach is based on software solutions applying mechanically the chain rule to obtain an exact value for the desired derivative. It has a cost in memory and cpu consumption. For participants of financial markets (banks, insurances, financial intermediaries, etc), computing derivatives is needed to obtain the sensitivity of its exposure to well-defined potential market moves. It is a way to understand variations of their balance sheets in specific cases. Since the 2008 crisis, regulation demand to compute this kind of exposure to many different case, to be sure market participants are aware and ready to face a wide spectrum of configurations. This paper shows how automatic differentiation provides a partial answer to this recent explosion of computation to perform. One part of the answer is a straightforward application of Adjoint Algorithmic Differentiation (AAD), but it is not enough. Since financial sensitivities involves specific functions and mix differentiation with Monte-Carlo simulations, dedicated tools and associated theoretical results are needed. We give here short introductions to typical cases arising when one use AAD on financial markets.

[1]  M. L. Chambers The Mathematical Theory of Optimal Processes , 1965 .

[2]  Christian Bischof,et al.  Users' Experience with ADIFOR 2.0 , 1996 .

[3]  Laurent Hascoët,et al.  TAPENADE for C , 2008 .

[4]  Barak A. Pearlmutter,et al.  Binomial Checkpointing for Arbitrary Programs with No User Annotation , 2016, ArXiv.

[5]  Barak A. Pearlmutter,et al.  Automatic Differentiation of Algorithms for Machine Learning , 2014, ArXiv.

[6]  Barak A. Pearlmutter,et al.  AD in Fortran, Part 1: Design , 2012, ArXiv.

[7]  Barak A. Pearlmutter,et al.  DiffSharp: Automatic Differentiation Library , 2015, ArXiv.

[8]  Jean Utke,et al.  Advances in Automatic Differentiation , 2008 .

[9]  Barak A. Pearlmutter,et al.  Efficient Implementation of a Higher-Order Language with Built-In AD , 2016, ArXiv.

[10]  M. Giles,et al.  Algorithmic Differentiation: Adjoint Greeks Made Easy , 2011 .

[11]  Andreas Griewank,et al.  Who Invented the Reverse Mode of Differentiation , 2012 .

[12]  Barak A. Pearlmutter,et al.  Lazy multivariate higher-order forward-mode AD , 2007, POPL '07.

[13]  Andreas Griewank,et al.  Evaluating derivatives - principles and techniques of algorithmic differentiation, Second Edition , 2000, Frontiers in applied mathematics.

[14]  E. Blum,et al.  The Mathematical Theory of Optimal Processes. , 1963 .

[15]  Christoph Burgard,et al.  Partial Differential Equation Representations of Derivatives with Bilateral Counterparty Risk and Funding Costs , 2010 .

[16]  Geoffrey E. Hinton,et al.  Learning internal representations by error propagation , 1986 .

[17]  Barak A. Pearlmutter,et al.  AD in F ORTRAN Implementation via Prepreprocessor , 2012 .

[18]  Jerzy Karczmarczuk,et al.  Functional Differentiation of Computer Programs , 1998, ICFP '98.

[19]  Barak A. Pearlmutter,et al.  Using Programming Language Theory to Make Automatic Differentiation Sound and Efficient , 2008 .

[20]  Laurent Hascoët,et al.  TAPENADE 2.1 user's guide , 2004 .

[21]  H. Martin Bücker,et al.  Automatic differentiation for computational finance , 2002 .

[22]  R. E. Wengert,et al.  A simple automatic derivative evaluation program , 1964, Commun. ACM.

[23]  R. Bader,et al.  Forces in molecules. , 2007, Faraday discussions.

[24]  Andreas Griewank,et al.  Achieving logarithmic growth of temporal and spatial complexity in reverse automatic differentiation , 1992 .

[25]  Pierre Henry-Labordere,et al.  Counterparty Risk Valuation: A Marked Branching Diffusion Approach , 2012, 1203.2369.

[26]  Barak A. Pearlmutter,et al.  AD in Fortran, Part 2: Implementation via Prepreprocessor , 2012, ArXiv.

[27]  Valéerie Pascual,et al.  Extension of TAPENADE toward Fortran 95 , 2006 .

[28]  Michael B. Giles Monte Carlo evaluation of sensitivities in computational finance , 2007 .

[29]  Barak A. Pearlmutter,et al.  Automatic differentiation in machine learning: a survey , 2015, J. Mach. Learn. Res..

[30]  B. Speelpenning Compiling Fast Partial Derivatives of Functions Given by Algorithms , 1980 .

[31]  Francis A. Longstaff,et al.  Valuing American Options by Simulation: A Simple Least-Squares Approach , 2001 .

[32]  Clifford,et al.  Preliminary Sketch of Biquaternions , 1871 .

[33]  A. Gelman,et al.  Stan , 2015 .

[34]  Gilles Pagès,et al.  Vibrato and Automatic Differentiation for High-Order Derivatives and Sensitivities of Financial Options , 2016, ArXiv.

[35]  Bingxin Fei Computational Methods for Option Pricing , 2011 .

[36]  Agostino Capponi,et al.  Bilateral Counterparty Risk Valuation with Stochastic Dynamical Models and Application to Credit Default Swaps , 2008, 0812.3705.

[37]  M. Giles Vibrato Monte Carlo Sensitivities , 2009 .