|
QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
|
Base inflation-coupon class. More...
#include <ql/cashflows/inflationcoupon.hpp>
Public Member Functions | |
| InflationCoupon (const Date &paymentDate, Real nominal, const Date &startDate, const Date &endDate, Natural fixingDays, ext::shared_ptr< InflationIndex > index, const Period &observationLag, DayCounter dayCounter, const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date(), const Date &exCouponDate=Date()) | |
CashFlow interface | |
| Real | amount () const override |
| returns the amount of the cash flow | |
Coupon interface | |
| Real | price (const Handle< YieldTermStructure > &discountingCurve) const |
| DayCounter | dayCounter () const override |
| day counter for accrual calculation | |
| Real | accruedAmount (const Date &) const override |
| accrued amount at the given date | |
| Rate | rate () const override |
| accrued rate | |
Inspectors | |
| const ext::shared_ptr< InflationIndex > & | index () const |
| yoy inflation index | |
| Period | observationLag () const |
| how the coupon observes the index | |
| Natural | fixingDays () const |
| fixing days | |
| virtual Date | fixingDate () const |
| fixing date | |
| virtual Rate | indexFixing () const |
| fixing of the underlying index, as observed by the coupon | |
LazyObject interface | |
| void | performCalculations () const override |
| Public Member Functions inherited from Coupon | |
| Coupon (const Date &paymentDate, Real nominal, const Date &accrualStartDate, const Date &accrualEndDate, const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date(), const Date &exCouponDate=Date()) | |
| Date | date () const override |
| Date | exCouponDate () const override |
| returns the date that the cash flow trades exCoupon | |
| virtual Real | nominal () const |
| const Date & | accrualStartDate () const |
| start of the accrual period | |
| const Date & | accrualEndDate () const |
| end of the accrual period | |
| const Date & | referencePeriodStart () const |
| start date of the reference period | |
| const Date & | referencePeriodEnd () const |
| end date of the reference period | |
| Time | accrualPeriod () const |
| accrual period as fraction of year | |
| Date::serial_type | accrualDays () const |
| accrual period in days | |
| Time | accruedPeriod (const Date &) const |
| accrued period as fraction of year at the given date | |
| Date::serial_type | accruedDays (const Date &) const |
| accrued days at the given date | |
| 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 | |
| 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 () |
Visitability | |
| ext::shared_ptr< InflationCouponPricer > | pricer_ |
| ext::shared_ptr< InflationIndex > | index_ |
| Period | observationLag_ |
| DayCounter | dayCounter_ |
| Natural | fixingDays_ |
| Real | rate_ |
| void | accept (AcyclicVisitor &) override |
| void | setPricer (const ext::shared_ptr< InflationCouponPricer > &) |
| ext::shared_ptr< InflationCouponPricer > | pricer () const |
| virtual bool | checkPricerImpl (const ext::shared_ptr< InflationCouponPricer > &) const =0 |
| makes sure you were given the correct type of pricer | |
Additional Inherited Members | |
| Public Types inherited from Observer | |
| typedef set_type::iterator | iterator |
| virtual void | calculate () const |
| Date | paymentDate_ |
| Real | nominal_ |
| Date | accrualStartDate_ |
| Date | accrualEndDate_ |
| Date | refPeriodStart_ |
| Date | refPeriodEnd_ |
| Date | exCouponDate_ |
| Real | accrualPeriod_ |
| bool | calculated_ = false |
| bool | frozen_ = false |
| bool | alwaysForward_ |
Base inflation-coupon class.
The day counter is usually obtained from the inflation term structure that the inflation index uses for forecasting. There is no gearing or spread because these are relevant for YoY coupons but not zero inflation coupons.
|
overridevirtual |
returns the amount of the cash flow
Implements CashFlow.
|
overridevirtual |
day counter for accrual calculation
Implements Coupon.
accrued amount at the given date
Implements Coupon.
|
virtual |
fixing of the underlying index, as observed by the coupon
Reimplemented in CPICoupon, and YoYInflationCoupon.
|
overridevirtual |
This method must implement any calculations which must be (re)done in order to calculate the desired results.
Reimplemented from CashFlow.
|
overridevirtual |
Reimplemented from Coupon.
|
protectedpure virtual |
makes sure you were given the correct type of pricer
Implemented in CPICoupon, and YoYInflationCoupon.