RiskyBond Class Reference

#include <ql/experimental/credit/riskybond.hpp>

Inheritance diagram for RiskyBond:

List of all members.

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 (Date date) const
std::string name () const
Currency ccy () const
Handle< YieldTermStructureyieldTS () 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


Detailed Description

Base class for default risky bonds

Member Function Documentation

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.