|
QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
|
Cash flow dependent on an index ratio. More...
#include <ql/cashflows/indexedcashflow.hpp>
Public Member Functions | |
| IndexedCashFlow (Real notional, ext::shared_ptr< Index > index, const Date &baseDate, const Date &fixingDate, const Date &paymentDate, bool growthOnly=false) | |
Event interface | |
| Date | date () const override |
| virtual Real | notional () const |
| virtual Date | baseDate () const |
| virtual Date | fixingDate () const |
| virtual ext::shared_ptr< Index > | index () const |
| virtual bool | growthOnly () const |
| virtual Real | baseFixing () const |
| virtual Real | indexFixing () const |
CashFlow interface | |
| Real | amount () const override |
| returns the amount of the cash flow | |
Visitability | |
| void | accept (AcyclicVisitor &) override |
| Public Member Functions inherited from CashFlow | |
| bool | hasOccurred (const Date &refDate=Date(), ext::optional< bool > includeRefDate=ext::nullopt) const override |
| returns true if an event has already occurred before a date | |
| virtual Date | exCouponDate () const |
| returns the date that the cash flow trades exCoupon | |
| bool | tradingExCoupon (const Date &refDate=Date()) const |
| returns true if the cashflow is trading ex-coupon on the refDate | |
| Public Member Functions inherited from Event | |
| Public Member Functions inherited from Observable | |
| Observable (const Observable &) | |
| Observable & | operator= (const Observable &) |
| Observable (Observable &&)=delete | |
| Observable & | operator= (Observable &&)=delete |
| void | notifyObservers () |
| Public Member Functions inherited from LazyObject | |
| void | update () override |
| bool | isCalculated () const |
| void | forwardFirstNotificationOnly () |
| void | alwaysForwardNotifications () |
| void | recalculate () |
| void | freeze () |
| void | unfreeze () |
| Public Member Functions inherited from Observer | |
| Observer (const Observer &) | |
| Observer & | operator= (const Observer &) |
| std::pair< iterator, bool > | registerWith (const ext::shared_ptr< Observable > &) |
| void | registerWithObservables (const ext::shared_ptr< Observer > &) |
| Size | unregisterWith (const ext::shared_ptr< Observable > &) |
| void | unregisterWithAll () |
| virtual void | deepUpdate () |
LazyObject interface | |
| Real | amount_ |
| void | performCalculations () const override |
Additional Inherited Members | |
| Public Types inherited from Observer | |
| typedef set_type::iterator | iterator |
| virtual void | calculate () const |
| bool | calculated_ = false |
| bool | frozen_ = false |
| bool | alwaysForward_ |
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.
|
virtual |
Reimplemented in CPICashFlow.
|
virtual |
Reimplemented in CPICashFlow.
|
overridevirtual |
returns the amount of the cash flow
Implements CashFlow.
|
overridevirtual |
Reimplemented from CashFlow.
|
overridevirtual |
This method must implement any calculations which must be (re)done in order to calculate the desired results.
Reimplemented from CashFlow.