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