#include <ql/pricingengines/swap/cvaswapengine.hpp>
Inherits VanillaSwap::engine.
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
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.
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 | ( | 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.
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 | ( | 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.
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. |