QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
List of all members
CounterpartyAdjSwapEngine Class Reference

#include <cvaswapengine.hpp>

+ Inheritance diagram for CounterpartyAdjSwapEngine:
+ Collaboration diagram for CounterpartyAdjSwapEngine:

Constructors

Handle< PricingEnginebaseSwapEngine_
 
Handle< PricingEngineswaptionletEngine_
 
Handle< YieldTermStructurediscountCurve_
 
Handle< DefaultProbabilityTermStructuredefaultTS_
 
Real ctptyRecoveryRate_
 
Handle< DefaultProbabilityTermStructureinvstDTS_
 
Real invstRecoveryRate_
 
 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, 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)
 
void calculate () const override
 

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

Definition at line 49 of file cvaswapengine.hpp.

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
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.

Definition at line 33 of file cvaswapengine.cpp.

◆ CounterpartyAdjSwapEngine() [2/3]

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

Definition at line 57 of file cvaswapengine.cpp.

◆ 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
discountCurveUsed in pricing.
blackVolBlack volatility used in the exposure model.
ctptyDTSCounterparty default curve.
ctptyRecoveryRateCounterparty recovey rate.
invstDTSInvestor (swap holder) default curve.
invstRecoveryRateInvestor recovery rate.

Definition at line 82 of file cvaswapengine.cpp.

Member Function Documentation

◆ calculate()

void calculate ( ) const
override

Definition at line 108 of file cvaswapengine.cpp.

+ Here is the call graph for this function:

Member Data Documentation

◆ baseSwapEngine_

Handle<PricingEngine> baseSwapEngine_
private

Definition at line 114 of file cvaswapengine.hpp.

◆ swaptionletEngine_

Handle<PricingEngine> swaptionletEngine_
private

Definition at line 115 of file cvaswapengine.hpp.

◆ discountCurve_

Handle<YieldTermStructure> discountCurve_
private

Definition at line 116 of file cvaswapengine.hpp.

◆ defaultTS_

Definition at line 117 of file cvaswapengine.hpp.

◆ ctptyRecoveryRate_

Real ctptyRecoveryRate_
private

Definition at line 118 of file cvaswapengine.hpp.

◆ invstDTS_

Definition at line 119 of file cvaswapengine.hpp.

◆ invstRecoveryRate_

Real invstRecoveryRate_
private

Definition at line 120 of file cvaswapengine.hpp.