QuantLib: CounterpartyAdjSwapEngine Class Reference

A free/open-source library for quantitative finance Reference manual - version 1.12

Public Member Functions | List of all members
CounterpartyAdjSwapEngine Class Reference

`#include <ql/pricingengines/swap/cvaswapengine.hpp>`

Inherits VanillaSwap::engine.

## Public Member Functions
void | calculate () const
Constructors
| CounterpartyAdjSwapEngine (const Handle< YieldTermStructure > &discountCurve, const Handle< PricingEngine > &swaptionEngine, const Handle< DefaultProbabilityTermStructure > &ctptyDTS, Real ctptyRecoveryRate, const Handle< DefaultProbabilityTermStructure > &invstDTS=Handle< DefaultProbabilityTermStructure >(), Real invstRecoveryRate=0.999)
| CounterpartyAdjSwapEngine (const Handle< YieldTermStructure > &discountCurve, const Volatility blackVol, const Handle< DefaultProbabilityTermStructure > &ctptyDTS, Real ctptyRecoveryRate, const Handle< DefaultProbabilityTermStructure > &invstDTS=Handle< DefaultProbabilityTermStructure >(), Real invstRecoveryRate=0.999)
| CounterpartyAdjSwapEngine (const Handle< YieldTermStructure > &discountCurve, const Handle< Quote > &blackVol, const Handle< DefaultProbabilityTermStructure > &ctptyDTS, Real ctptyRecoveryRate, const Handle< DefaultProbabilityTermStructure > &invstDTS=Handle< DefaultProbabilityTermStructure >(), Real invstRecoveryRate=0.999)

## Detailed Description

Bilateral (CVA and DVA) default adjusted vanilla swap pricing engine. Collateral is not considered. No wrong way risk is considered (rates and counterparty default are uncorrelated). Based on: Sorensen, E.H. and Bollier, T.F., Pricing swap default risk. Financial Analysts Journal, 1994, 50, 23–33 Also see sect. II-5 in: Risk Neutral Pricing of Counterparty Risk D. Brigo, M. Masetti, 2004 or in sections 3 and 4 of "A Formula for Interest Rate Swaps Valuation under Counterparty Risk in presence of Netting Agreements" D. Brigo and M. Masetti; May 4, 2005

to do: Compute fair rate through iteration instead of the current approximation . to do: write Issuer based constructors (event type) to do: Check consistency between option engine discount and the one given

## Constructor & Destructor Documentation

## ◆ CounterpartyAdjSwapEngine() [1/3]

CounterpartyAdjSwapEngine | ( | const Handle< YieldTermStructure > & | discountCurve,
|  | const Handle< PricingEngine > & | swaptionEngine,
|  | const Handle< DefaultProbabilityTermStructure > & | ctptyDTS,
|  | Real | ctptyRecoveryRate,
|  | const Handle< DefaultProbabilityTermStructure > & | invstDTS = `Handle< DefaultProbabilityTermStructure >()`,
|  | Real | invstRecoveryRate = `0.999`
| ) |  |

Creates the engine from an arbitrary swaption engine. If the investor default model is not given a default free one is assumed.

Parameters

  discountCurve | Used in pricing.
  swaptionEngine | Determines the volatility and thus the exposure model.
  ctptyDTS | Counterparty default curve.
  ctptyRecoveryRate | Counterparty recovey rate.
  invstDTS | Investor (swap holder) default curve.
  invstRecoveryRate | Investor recovery rate.

## ◆ CounterpartyAdjSwapEngine() [2/3]

CounterpartyAdjSwapEngine | ( | const Handle< YieldTermStructure > & | discountCurve,
|  | const Volatility | blackVol,
|  | const Handle< DefaultProbabilityTermStructure > & | ctptyDTS,
|  | Real | ctptyRecoveryRate,
|  | const Handle< DefaultProbabilityTermStructure > & | invstDTS = `Handle< DefaultProbabilityTermStructure >()`,
|  | Real | invstRecoveryRate = `0.999`
| ) |  |

Creates an engine with a black volatility model for the exposure. If the investor default model is not given a default free one is assumed.

Parameters

  discountCurve | Used in pricing.
  blackVol | Black volatility used in the exposure model.
  ctptyDTS | Counterparty default curve.
  ctptyRecoveryRate | Counterparty recovey rate.
  invstDTS | Investor (swap holder) default curve.
  invstRecoveryRate | Investor recovery rate.

## ◆ CounterpartyAdjSwapEngine() [3/3]

CounterpartyAdjSwapEngine | ( | const Handle< YieldTermStructure > & | discountCurve,
|  | const Handle< Quote > & | blackVol,
|  | const Handle< DefaultProbabilityTermStructure > & | ctptyDTS,
|  | Real | ctptyRecoveryRate,
|  | const Handle< DefaultProbabilityTermStructure > & | invstDTS = `Handle< DefaultProbabilityTermStructure >()`,
|  | Real | invstRecoveryRate = `0.999`
| ) |  |

Creates an engine with a black volatility model for the exposure. The volatility is given as a quote. If the investor default model is not given a default free one is assumed.

Parameters

  discountCurve | Used in pricing.
  blackVol | Black volatility used in the exposure model.
  ctptyDTS | Counterparty default curve.
  ctptyRecoveryRate | Counterparty recovey rate.
  invstDTS | Investor (swap holder) default curve.
  invstRecoveryRate | Investor recovery rate.