28#ifndef quantext_nonstandardyoycoupon_coupon_hpp
29#define quantext_nonstandardyoycoupon_coupon_hpp
31#include <ql/cashflows/inflationcoupon.hpp>
32#include <ql/indexes/inflationindex.hpp>
33#include <ql/time/schedule.hpp>
44 Natural fixingDays,
const ext::shared_ptr<ZeroInflationIndex>& index,
45 const Period& observationLag,
const DayCounter& dayCounter, Real
gearing = 1.0,
46 Spread
spread = 0.0,
const Date& refPeriodStart = Date(),
48 QuantLib::CPI::InterpolationType interpolation = QuantLib::CPI::InterpolationType::Flat);
62 virtual void accept(AcyclicVisitor&)
override;
67 virtual ext::shared_ptr<ZeroInflationIndex>
cpiIndex()
const;
71 virtual Rate
rate()
const override;
84 bool checkPricerImpl(
const ext::shared_ptr<InflationCouponPricer>&)
const override;
87 void setFixingDates(
const Date& denumatorDate,
const Date& numeratorDate,
const Period& observationLag);
Coupon paying a YoY-inflation type index
QuantLib::CPI::InterpolationType interpolationType() const
bool addInflationNotional_
virtual Date fixingDateNumerator() const
bool checkPricerImpl(const ext::shared_ptr< InflationCouponPricer > &) const override
bool isInterpolated() const
virtual Rate indexFixing() const override
QuantLib::CPI::InterpolationType interpolationType_
virtual ext::shared_ptr< ZeroInflationIndex > cpiIndex() const
void setFixingDates(const Date &denumatorDate, const Date &numeratorDate, const Period &observationLag)
virtual Date fixingDateDenumerator() const
virtual Rate rate() const override
Date fixingDateNumerator_
virtual void accept(AcyclicVisitor &) override
Real gearing() const
index gearing, i.e. multiplicative coefficient for the index
Rate adjustedFixing() const
Date fixingDateDenumerator_
bool addInflationNotional() const
Spread spread() const
spread paid over the fixing of the underlying index
virtual Date fixingDate() const override