QuantLib
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 = HandleDefaultProbabilityTermStructure >(),
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
discountCurveUsed in pricing.
swaptionEngineDetermines the volatility and thus the exposure model.
ctptyDTSCounterparty default curve.
ctptyRecoveryRateCounterparty recovey rate.
invstDTSInvestor (swap holder) default curve.
invstRecoveryRateInvestor recovery rate.

◆ CounterpartyAdjSwapEngine() [2/3]

CounterpartyAdjSwapEngine ( const Handle< YieldTermStructure > &  discountCurve,
const Volatility  blackVol,
const Handle< DefaultProbabilityTermStructure > &  ctptyDTS,
Real  ctptyRecoveryRate,
const Handle< DefaultProbabilityTermStructure > &  invstDTS = HandleDefaultProbabilityTermStructure >(),
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
discountCurveUsed in pricing.
blackVolBlack volatility used in the exposure model.
ctptyDTSCounterparty default curve.
ctptyRecoveryRateCounterparty recovey rate.
invstDTSInvestor (swap holder) default curve.
invstRecoveryRateInvestor recovery rate.

◆ CounterpartyAdjSwapEngine() [3/3]

CounterpartyAdjSwapEngine ( const Handle< YieldTermStructure > &  discountCurve,
const Handle< Quote > &  blackVol,
const Handle< DefaultProbabilityTermStructure > &  ctptyDTS,
Real  ctptyRecoveryRate,
const Handle< DefaultProbabilityTermStructure > &  invstDTS = HandleDefaultProbabilityTermStructure >(),
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
discountCurveUsed in pricing.
blackVolBlack volatility used in the exposure model.
ctptyDTSCounterparty default curve.
ctptyRecoveryRateCounterparty recovey rate.
invstDTSInvestor (swap holder) default curve.
invstRecoveryRateInvestor recovery rate.