24#ifndef quantlib_capfloored_inflation_coupon_hpp
25#define quantlib_capfloored_inflation_coupon_hpp
70 const ext::shared_ptr<YoYInflationCoupon>& underlying,
77 const Date& startDate,
80 const ext::shared_ptr<YoYInflationIndex>&
index,
126 void setPricer(
const ext::shared_ptr<YoYInflationCouponPricer>&);
degenerate base class for the Acyclic Visitor pattern
Capped or floored inflation coupon.
ext::shared_ptr< YoYInflationCoupon > underlying_
void setCommon(Rate cap, Rate floor)
Rate rate() const override
swap(let) rate
void setPricer(const ext::shared_ptr< YoYInflationCouponPricer > &)
Rate effectiveCap() const
effective cap of fixing
Rate underlyingRate() const
this returns the expected rate before cap and floor are applied
Rate effectiveFloor() const
effective floor of fixing
CappedFlooredYoYInflationCoupon(const Date &paymentDate, Real nominal, const Date &startDate, const Date &endDate, Natural fixingDays, const ext::shared_ptr< YoYInflationIndex > &index, const Period &observationLag, const DayCounter &dayCounter, Real gearing=1.0, Spread spread=0.0, const Rate cap=Null< Rate >(), const Rate floor=Null< Rate >(), const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date())
void accept(AcyclicVisitor &v) override
virtual Real nominal() const
Natural fixingDays() const
fixing days
Period observationLag() const
how the coupon observes the index
DayCounter dayCounter() const override
day counter for accrual calculation
const ext::shared_ptr< InflationIndex > & index() const
yoy inflation index
template class providing a null value for a given type.
Coupon paying a YoY-inflation type index
Real gearing() const
index gearing, i.e. multiplicative coefficient for the index
Spread spread() const
spread paid over the fixing of the underlying index
unsigned QL_INTEGER Natural
positive integer
Real Spread
spreads on interest rates
ext::shared_ptr< BlackVolTermStructure > v
Coupon paying a yoy inflation index.