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