- QuantLib
- RiskyBond
#include <ql/experimental/credit/riskybond.hpp>
Public Member Functions | |
RiskyBond (std::string name, Currency ccy, Real recoveryRate, Handle< DefaultProbabilityTermStructure > defaultTS, Handle< YieldTermStructure > yieldTS) | |
virtual std::vector < boost::shared_ptr< CashFlow > > | cashflows () const =0 |
std::vector< boost::shared_ptr < CashFlow > > | expectedCashflows () |
virtual Real | notional (Date date=Date::minDate()) const =0 |
virtual Date | effectiveDate () const =0 |
virtual Date | maturityDate () const =0 |
virtual std::vector < boost::shared_ptr< CashFlow > > | interestFlows () const =0 |
virtual std::vector < boost::shared_ptr< CashFlow > > | notionalFlows () const =0 |
Real | riskfreeNPV () const |
Real | totalFutureFlows () const |
std::string | name () const |
Currency | ccy () const |
Handle< YieldTermStructure > | yieldTS () const |
Handle < DefaultProbabilityTermStructure > | defaultTS () const |
Real | recoveryRate () const |
Instrument interface | |
bool | isExpired () const |
returns whether the instrument might have value greater than zero. | |
Protected Member Functions | |
void | setupExpired () const |
void | performCalculations () const |
Base class for default risky bonds
void setupExpired | ( | ) | const [protected, virtual] |
This method must leave the instrument in a consistent state when the expiration condition is met.
Reimplemented from Instrument.
void performCalculations | ( | ) | const [protected, virtual] |
In case a pricing engine is not used, this method must be overridden to perform the actual calculations and set any needed results. In case a pricing engine is used, the default implementation can be used.
Reimplemented from Instrument.