Regulations such as Basel III have increased capital requirements significantly in the recent past and will continue to do so through upcoming regulations such as FRTB and the leverage ratio. Consequently banks have added a new member to the set of established valuation adjustments (XVAs): KVA. This capital valuation adjustment reflects the lifetime cost of holding regulatory capital which banks increasingly price into their valuations of OTC contracts.

A proper calculation of KVA requires calculating the expected regulatory capital over the full term of a transaction, hence in a Monte-Carlo simulation over a large set of scenarios at multiple dates into the future. This is complicated since capital charges depend on credit and market risk factors and are computed using Monte-Carlo simulations themselves – resulting in a costly nested Monte-Carlo. Further, capital is a bank-wide charge that cannot be solely computed on a counterparty/netting set level – especially with the leverage ratio. This computational complexity becomes impractical for banks and therefore KVA needs to be calculated with simplifying assumptions, algorithmic optimisations, and a highly optimised software implementation.

This paper reviews best practices for calculating KVA, gives state of the art approaches and algorithmic optimisations, and highlights the computational complexities involved. It gives practical recommendations to optimise the software code in order to enable high performance intra-day KVA calculations.

  • KVA overview and components
  • Best practices for KVA implementation
  • Algorithmic optimisations
  • Managing the data needed for KVA
  • Software code modernisation
  • Software acceleration with GPU and many-core