#include <qle/pricingengines/discountingriskybondenginemultistate.hpp>
Public Member Functions | |
DiscountingRiskyBondEngineMultiState (const Handle< YieldTermStructure > &discountCurve, const std::vector< Handle< DefaultProbabilityTermStructure > > &defaultCurves, const std::vector< Handle< Quote > > &recoveryRates, const Size mainResultState, const Handle< Quote > &securitySpread, Period timestepPeriod, const boost::optional< bool > includeSettlementDateFlows=boost::none) | |
void | calculate () const |
Real | calculateNpv (const Size state) const |
Real | calculateDefaultValue () const |
Handle< YieldTermStructure > | discountCurve () const |
const std::vector< Handle< DefaultProbabilityTermStructure > > & | defaultCurves () const |
const std::vector< Handle< Quote > > & | recoveryRates () const |
Handle< Quote > | securitySpread () const |
Public Member Functions inherited from DiscountingRiskyBondEngine | |
DiscountingRiskyBondEngine (const Handle< YieldTermStructure > &discountCurve, const Handle< DefaultProbabilityTermStructure > &defaultCurve, const Handle< Quote > &recoveryRate, const Handle< Quote > &securitySpread, Period timestepPeriod, boost::optional< bool > includeSettlementDateFlows=boost::none) | |
DiscountingRiskyBondEngine (const Handle< YieldTermStructure > &discountCurve, const Handle< Quote > &securitySpread, Period timestepPeriod, boost::optional< bool > includeSettlementDateFlows=boost::none) | |
alternative constructor (does not require default curve or recovery rate) More... | |
void | calculate () const override |
BondNPVCalculationResults | calculateNpv (const Date &npvDate, const Date &settlementDate, const Leg &cashflows, boost::optional< bool > includeSettlementDateFlows=boost::none, const Handle< YieldTermStructure > &incomeCurve=Handle< YieldTermStructure >(), const bool conditionalOnSurvival=true, const bool additionalResults=true) const |
Handle< YieldTermStructure > | discountCurve () const |
Handle< DefaultProbabilityTermStructure > | defaultCurve () const |
Handle< Quote > | recoveryRate () const |
Handle< Quote > | securitySpread () const |
Private Member Functions | |
void | linkCurves (Size i) const |
Private Attributes | |
const std::vector< Handle< DefaultProbabilityTermStructure > > | defaultCurves_ |
const std::vector< Handle< Quote > > | recoveryRates_ |
const Size | mainResultState_ |
Additional Inherited Members | |
Protected Attributes inherited from DiscountingRiskyBondEngine | |
Handle< YieldTermStructure > | discountCurve_ |
Handle< DefaultProbabilityTermStructure > | defaultCurve_ |
Handle< Quote > | recoveryRate_ |
Handle< Quote > | securitySpread_ |
Period | timestepPeriod_ |
boost::optional< bool > | includeSettlementDateFlows_ |
The engine takes a vector of default curves and recovery rates. For the given main result state it will produce the same results as the MidPointCdsEngine. In addition a result with label "stateNPV" is produced containing the NPV for each given default curve / recovery rate and an additional entry with a default value w.r.t. the last given recovery rate in the vector.
Definition at line 36 of file discountingriskybondenginemultistate.hpp.
DiscountingRiskyBondEngineMultiState | ( | const Handle< YieldTermStructure > & | discountCurve, |
const std::vector< Handle< DefaultProbabilityTermStructure > > & | defaultCurves, | ||
const std::vector< Handle< Quote > > & | recoveryRates, | ||
const Size | mainResultState, | ||
const Handle< Quote > & | securitySpread, | ||
Period | timestepPeriod, | ||
const boost::optional< bool > | includeSettlementDateFlows = boost::none |
||
) |
Definition at line 30 of file discountingriskybondenginemultistate.cpp.
void calculate | ( | ) | const |
Definition at line 55 of file discountingriskybondenginemultistate.cpp.
Real calculateNpv | ( | const Size | state | ) | const |
Real calculateDefaultValue | ( | ) | const |
Definition at line 83 of file discountingriskybondenginemultistate.cpp.
Handle< YieldTermStructure > discountCurve | ( | ) | const |
Definition at line 47 of file discountingriskybondenginemultistate.hpp.
const std::vector< Handle< DefaultProbabilityTermStructure > > & defaultCurves | ( | ) | const |
Definition at line 48 of file discountingriskybondenginemultistate.hpp.
const std::vector< Handle< Quote > > & recoveryRates | ( | ) | const |
Definition at line 49 of file discountingriskybondenginemultistate.hpp.
Handle< Quote > securitySpread | ( | ) | const |
Definition at line 50 of file discountingriskybondenginemultistate.hpp.
|
private |
Definition at line 50 of file discountingriskybondenginemultistate.cpp.
|
private |
Definition at line 54 of file discountingriskybondenginemultistate.hpp.
|
private |
Definition at line 55 of file discountingriskybondenginemultistate.hpp.
|
private |
Definition at line 56 of file discountingriskybondenginemultistate.hpp.