#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 QuantLib::ext::optional< bool > includeSettlementDateFlows=QuantLib::ext::nullopt) | |
| 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, QuantLib::ext::optional< bool > includeSettlementDateFlows=QuantLib::ext::nullopt, const bool includePastCashflows=false, const Handle< YieldTermStructure > &incomeCurve={}, const bool conditionalOnSurvival=true, const bool spreadOnIncome=true, const bool treatSecuritySpreadAsCreditSpread=false) | |
| DiscountingRiskyBondEngine (const Handle< YieldTermStructure > &discountCurve, const Handle< Quote > &securitySpread, Period timestepPeriod, QuantLib::ext::optional< bool > includeSettlementDateFlows=QuantLib::ext::nullopt, const Handle< YieldTermStructure > &incomeCurve={}, const bool conditionalOnSurvival=true, const bool spreadOnIncome=true, const bool treatSecuritySpreadAsCreditSpread=false) | |
| alternative constructor (does not require default curve or recovery rate) | |
| void | calculate () const override |
| std::pair< Real, Real > | forwardPrice (const QuantLib::Date &forwardNpvDate, const QuantLib::Date &settlementDate, const bool conditionalOnSurvival=true, std::vector< CashFlowResults > *const cfResults=nullptr, QuantLib::Leg *const expectedCashflows=nullptr) const override |
| ForwardEnabledBondEngine interface. | |
| Handle< YieldTermStructure > | discountCurve () const |
| Handle< DefaultProbabilityTermStructure > | defaultCurve () const |
| Handle< Quote > | recoveryRate () const |
| Handle< Quote > | securitySpread () const |
Additional Inherited Members | |
| Protected Member Functions inherited from DiscountingRiskyBondEngine | |
| BondNPVCalculationResults | calculateNpv (const Date &npvDate, const Date &settlementDate, QuantLib::ext::optional< bool > includeSettlementDateFlows, const bool conditionalOnSurvival, const bool additionalResults) const |
| DiscountingRiskyBondEngine::RecoveryContribution | recoveryContribution (const Real dfNpv, const Real spNpv, const Real effRecovery, const QuantLib::ext::shared_ptr< DefaultProbabilityTermStructure > &effCreditCurve, const bool additionalResults, const Real nominal, const QuantLib::Date &startDate, const QuantLib::Date &endDate) const |
| Protected Attributes inherited from DiscountingRiskyBondEngine | |
| Handle< YieldTermStructure > | discountCurve_ |
| Handle< DefaultProbabilityTermStructure > | defaultCurve_ |
| Handle< Quote > | recoveryRate_ |
| Handle< Quote > | securitySpread_ |
| Period | timestepPeriod_ |
| QuantLib::ext::optional< bool > | includeSettlementDateFlows_ |
| bool | includePastCashflows_ |
| Handle< YieldTermStructure > | incomeCurve_ |
| bool | conditionalOnSurvival_ |
| bool | spreadOnIncome_ |
| bool | treatSecuritySpreadAsCreditSpread_ |
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.