Appendix
  1. A practical framework for calculating bilateral CVA
We develop a practical framework for calculating bilateral CVA at counterparty portfolio level based on the theory described above. The framework incorporates netting and margin agreements, and captures right/wrong way risk.
Two parties are denoted as A and B . All calculations are from the perspective of party A . Let the valuation date bet . The CVA computation procedure consists of the following steps.
B.1. Risk-neutral Monte Carlo scenario generation
One core element of the trading credit risk modeling is the Monte Carlo scenario generation (market evolution). This must be able to run a large number of scenarios for each risk factor with flexibility over parameterization of processes and treatment of correlation between underlying factors. Credit exposure may be calculated under real probability measure, while CVA or pricing counterparty credit risk should be conducted under risk-neutral probability measure.
Due to the extensive computational intensity of pricing counterparty risk, there will inevitably be some compromise of limiting the number of market scenarios (paths) and the number of simulation dates (also called “time buckets” or “time nodes”). The time buckets are normally designed fine-granularity at the short end and coarse-granularity at the far end. The details of scenario generation are beyond the scope of this paper.
B.2. Cash flow generation
For ease of illustration, we choose a vanilla interest rate swap, as interest rate swaps collectively account for around two-thirds of both the notional and market value of all outstanding derivatives (FinPricing (2015))
Assume that party A pays a fixed rate, while party B pays a floating-rate. Assume that there are M time buckets () in each scenario and N cash flows in the sample swap. Let consider scenario j first.
For swaplet i , there are four important dates: the fixing date , the starting date , the ending date and the payment date . In general, these dates are not coincidently at the simulation time buckets. The time relationship between swaplet i and the simulation time buckets is illustrated in Figure B1.