QuantLib: InflationCoupon Class Reference

A free/open-source library for quantitative finance Reference manual - version 1.20

Public Member Functions | List of all members
InflationCoupon Class Referenceabstract

Base inflation-coupon class. More...

`#include <ql/cashflows/inflationcoupon.hpp>`

Inheritance diagram for InflationCoupon:
[legend]

## Public Member Functions
| InflationCoupon (const Date &paymentDate, Real nominal, const Date &startDate, const Date &endDate, Natural fixingDays, const ext::shared_ptr< InflationIndex > &index, const Period &observationLag, const DayCounter &dayCounter, const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date(), const Date &exCouponDate=Date())
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 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
Observer interface
void | update ()
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
Date | exCouponDate () const
| 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(), 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
Public Member Functions inherited from Observable
| Observable (const Observable &)
Observable & | operator= (const Observable &)
void | notifyObservers ()
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_
virtual void | accept (AcyclicVisitor &)
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 boost::unordered_set< ext::shared_ptr< Observable > > | set_type
typedef set_type::iterator | iterator
Protected Attributes inherited from Coupon
Date | paymentDate_
Real | nominal_
Date | accrualStartDate_
Date | accrualEndDate_
Date | refPeriodStart_
Date | refPeriodEnd_
Date | exCouponDate_
Real | accrualPeriod_

## Detailed Description

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.

Note
  inflation indices do not contain day counters or calendars.

## Member Function Documentation

## ◆ amount()

Real amount | ( |  | ) | const
| virtual

returns the amount of the cash flow

Note
  The amount is not discounted, i.e., it is the actual amount paid at the cash flow date.

Implements CashFlow.

## ◆ update()

void update | ( |  | ) |
| 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.