As Valuation Adjustments (XVAs) directly affect trade prices and capital charges, it is of central importance for banks to actively manage XVA through hedging. This requires computing XVA sensitivities to a large number of risk factors, typically hundreds to thousands. As XVA calculations involve a compute-intensive Monte-Carlo simulation, the hundreds to thousands of revaluations required for calculating sensitivities with the traditional bump-and-revalue approach (finite difference) is not practical. However, by applying Adjoint Algorithmic Differentiation (AAD), all sensitivities can be quickly and accurately computed.

This paper introduces the use of sensitivities for managing XVAs, details the complexities involved, and introduces AAD as a solution. It gives specific techniques to manage memory resources and improve performance for AAD on practical examples.

  • Managing XVA for pricing (CVA, DVA, FVA, etc.)
  • Managing XVA for capital (FRTB SA-CVA, BCBS 265, Basel III RWA)
  • Computational challenges in computing sensitivities
  • Overview of manual and automatic AAD
  • Developing user-friendly AAD code
  • Coping with the memory footprint
  • Thread-safety, external libraries usage, higher orders
  • Cost-benefit trade-off: AAD vs. bumping