Algorithmic Differentiation (AD) for Computational Finance: Introduction by Uwe Naumann

Algorithmic Differentiation (AD) for Computational Finance: Introduction

Presenter: Uwe Naumann: The Numerical Algorithms Group Ltd. (NAG)


Video Lectures


Session 1. Running Time: 1hr 28mins

Session 2. Running Time: 47mins

Session 2a. Running Time: 1hr 10mins

Session 3. Running Time: 1hr 32mins

Session 4. Running Time: 1hr 9mins


Prerequisites

  • You are interested in accurate and cheap greeks

  • You are unhappy with the accuracy and/or the computational cost of bumping


Outline

Motivation. Tangent and Adjoint AD

  • motivation: accurate and cheap greeks

                 –   hello world of finance: race

  • first- and higher-order tangent and adjoint AD

                 –   tangents (directional derivatives) and adjoints

                 –   associativity of chain rule of differential calculus

                 –   drivers

                 –   second-order tangents and adjoints

                 –   recursion for higher order

  • exercise

Tangent and Adjoint Code by AD (Part I)

  • tangent code

                 –   tangent code generation rules

                 –   example (live)

                 –   tangent code by overloading

                 –   second- and higher-order tangent code

  • adjoint straight-line code

                 –   adjoint code generation rules

                 –   example (live)

  • exercise

Tangent and Adjoint Code by AD (Part II)

  • intraprocedural adjoint code

                 –   control flow reversal

                 –   example (live)

  • interprocedural adjoint code

                 –   split call reversal

                 –   example (live)

  • adjoint code by overloading

  • second- and higher-order adjoint code

  • exercise

Advanced Topics in AD. Outlook

  • checkpointing adjoint code

  • (symbolic) tangents and adjoints of numerical methods

  • coupling with bumping

  • “mind the gap”

  • software tool support

  • conclusion and outlook


Reading

  • U. Naumann: The Art of Differentiating Computer Programs, An Intro-duction to Algorithmic Differentiation, SIAM, 2012. http://www.siam.org/books/se24