- QuantLib
- CPICoupon
Coupon paying the performance of a CPI (zero inflation) index More...
#include <ql/cashflows/cpicoupon.hpp>
Public Member Functions | |
CPICoupon (Real baseCPI, const Date &paymentDate, Real nominal, const Date &startDate, const Date &endDate, Natural fixingDays, const boost::shared_ptr< ZeroInflationIndex > &index, const Period &observationLag, CPI::InterpolationType observationInterpolation, const DayCounter &dayCounter, Real fixedRate, Spread spread=0.0, const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date()) | |
Inspectors | |
Real | fixedRate () const |
fixed rate that will be inflated by the index ratio | |
Spread | spread () const |
spread paid over the fixing of the underlying index | |
Rate | adjustedFixing () const |
adjusted fixing (already divided by the base fixing) | |
Rate | indexFixing () const |
allows for a different interpolation from the index | |
Rate | baseCPI () const |
base value for the CPI index | |
CPI::InterpolationType | observationInterpolation () const |
how do you observe the index? as-is, flat, linear? | |
Rate | indexObservation (const Date &onDate) const |
utility method, calls indexFixing | |
boost::shared_ptr < ZeroInflationIndex > | cpiIndex () const |
index used | |
Visitability | |
virtual void | accept (AcyclicVisitor &) |
Protected Member Functions | |
bool | checkPricerImpl (const boost::shared_ptr< InflationCouponPricer > &) const |
makes sure you were given the correct type of pricer | |
Rate | indexFixing (const Date &) const |
Protected Attributes | |
Real | baseCPI_ |
Real | fixedRate_ |
Spread | spread_ |
CPI::InterpolationType | observationInterpolation_ |
Coupon paying the performance of a CPI (zero inflation) index
The performance is relative to the index value on the base date.
The other inflation value is taken from the refPeriodEnd date with observation lag, so any roll/calendar etc. will be built in by the caller. By default this is done in the InflationCoupon which uses ModifiedPreceding with fixing days assumed positive meaning earlier, i.e. always stay in same month (relative to referencePeriodEnd).
This is more sophisticated than an IndexedCashFlow because it does date calculations itself.