Cash flow dependent on an index ratio. More...
#include <ql/cashflows/indexedcashflow.hpp>
Public Member Functions | |
IndexedCashFlow (Real notional, const boost::shared_ptr< Index > &index, const Date &baseDate, const Date &fixingDate, const Date &paymentDate, bool growthOnly=false) | |
virtual Real | notional () const |
virtual Date | baseDate () const |
virtual Date | fixingDate () const |
virtual boost::shared_ptr< Index > | index () const |
virtual bool | growthOnly () const |
Event interface | |
Date | date () const |
CashFlow interface | |
Real | amount () const |
returns the amount of the cash flow More... | |
Visitability | |
virtual void | accept (AcyclicVisitor &) |
Observer interface | |
void | update () |
![]() | |
bool | hasOccurred (const Date &refDate=Date(), boost::optional< bool > includeRefDate=boost::none) const |
returns true if an event has already occurred before a date More... | |
Event interface | |
Visitability | |
![]() | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
void | notifyObservers () |
![]() | |
Observer (const Observer &) | |
Observer & | operator= (const Observer &) |
std::pair< std::set < boost::shared_ptr < Observable > >::iterator, bool > | registerWith (const boost::shared_ptr< Observable > &) |
Size | unregisterWith (const boost::shared_ptr< Observable > &) |
void | unregisterWithAll () |
Cash flow dependent on an index ratio.
This cash flow is not a coupon, i.e., there's no accrual. The amount is either i(T)/i(0) or i(T)/i(0) - 1, depending on the growthOnly parameter.
We expect this to be used inside an instrument that does all the date adjustment etc., so this takes just dates and does not change them. growthOnly = false means i(T)/i(0), which is a bond-type setting. growthOnly = true means i(T)/i(0) - 1, which is a swap-type setting.