CreditDefaultSwap (3) Linux Manual Page
QuantLib::CreditDefaultSwap – Credit default swap.
Synopsis
#include <ql/instruments/creditdefaultswap.hpp>Inherits QuantLib::Instrument.
Public Member Functions
ConstructorsCreditDefaultSwap (Protection::Side side, Real notional, Rate spread, const Schedule &schedule, BusinessDayConvention paymentConvention, const DayCounter &dayCounter, bool settlesAccrual=true, bool paysAtDefaultTime=true, const boost::shared_ptr< Claim > &=boost::shared_ptr< Claim >())
Instrument interface
bool isExpired () const
returns whether the instrument is still tradable.
void setupArguments (PricingEngine::arguments *) const
void fetchResults (const PricingEngine::results *) const
Inspectors
Protection::Side side () const
Real notional () const
Rate spread () const
bool settlesAccrual () const
bool paysAtDefaultTime () const
const Leg & coupons () const
Results
Rate fairSpread () const
Real couponLegBPS () const
Real couponLegNPV () const
Real defaultLegNPV () const
Rate impliedHazardRate (Real targetNPV, const Handle< YieldTermStructure > &discountCurve, const DayCounter &dayCounter, Real recoveryRate=0.4, Real accuracy=1.0e-6) const
Protected Member Functions
Instrument interfacevoid setupExpired () const
Protected Attributes
Protection::Side side_Real notional_
Rate spread_
bool settlesAccrual_
bool paysAtDefaultTime_
boost::shared_ptr< Claim > claim_
Leg leg_
Rate fairSpread_
Real couponLegBPS_
Real couponLegNPV_
Real defaultLegNPV_
Detailed Description
Credit default swap. Note:
- This instrument currently assumes that the issuer did not default until today’s date.
Warning
- if QL_TODAYS_PAYMENTS was defined (in userconfig.hpp or when calling ./configure; it is undefined by default) payments occurring at the settlement date of the swap are included in the NPV, and therefore affect the fair-spread calculation. This might not be what you want.
Examples:
CDS.cpp.
Member Function Documentation
void setupArguments (PricingEngine::arguments *) const [virtual]
When a derived argument structure is defined for an instrument, this method should be overridden to fill it. This is mandatory in case a pricing engine is used. Reimplemented from Instrument.
void fetchResults (const PricingEngine::results * r) const [virtual]
When a derived result structure is defined for an instrument, this method should be overridden to read from it. This is mandatory in case a pricing engine is used. Reimplemented from Instrument.
void setupExpired () const [protected, virtual]
This method must leave the instrument in a consistent state when the expiration condition is met.Reimplemented from Instrument.
