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, const boost::shared_ptr< InflationIndex > &index, const Period &observationLag, const DayCounter &dayCounter, const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date(), const Date &exCouponDate=Date()) | |
void | setPricer (const boost::shared_ptr< InflationCouponPricer > &) |
boost::shared_ptr< InflationCouponPricer > | pricer () const |
CashFlow interface | |
Real | amount () const |
returns the amount of the cash flow More... | |
Coupon interface | |
Real | price (const Handle< YieldTermStructure > &discountingCurve) const |
DayCounter | dayCounter () const |
day counter for accrual calculation | |
Real | accruedAmount (const Date &) const |
accrued amount at the given date | |
Rate | rate () const |
accrued rate | |
Inspectors | |
const boost::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 | |
Observer interface | |
void | update () |
Visitability | |
virtual void | accept (AcyclicVisitor &) |
![]() | |
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 |
Date | exCouponDate () const |
returns the date that the cash flow trades exCoupon | |
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 | |
BigInteger | accrualDays () const |
accrual period in days | |
Time | accruedPeriod (const Date &) const |
accrued period as fraction of year at the given date | |
BigInteger | accruedDays (const Date &) const |
accrued days at the given date | |
![]() | |
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... | |
bool | tradingExCoupon (const Date &refDate=Date()) const |
returns true if the cashflow is trading ex-coupon on the refDate | |
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 > &) |
void | registerWithObservables (const boost::shared_ptr< Observer > &) |
Size | unregisterWith (const boost::shared_ptr< Observable > &) |
void | unregisterWithAll () |
Protected Member Functions | |
virtual bool | checkPricerImpl (const boost::shared_ptr< InflationCouponPricer > &) const =0 |
makes sure you were given the correct type of pricer | |
Protected Attributes | |
boost::shared_ptr< InflationCouponPricer > | pricer_ |
boost::shared_ptr< InflationIndex > | index_ |
Period | observationLag_ |
DayCounter | dayCounter_ |
Natural | fixingDays_ |
![]() | |
Date | paymentDate_ |
Real | nominal_ |
Date | accrualStartDate_ |
Date | accrualEndDate_ |
Date | refPeriodStart_ |
Date | refPeriodEnd_ |
Date | exCouponDate_ |
Real | accrualPeriod_ |
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.
|
virtual |
returns the amount of the cash flow
Implements CashFlow.
|
virtual |
This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.
Implements Observer.