24#ifndef quantlib_newyoy_coupon_hpp
25#define quantlib_newyoy_coupon_hpp
32 class YoYInflationCouponPricer;
39 const Date& startDate,
42 const ext::shared_ptr<YoYInflationIndex>&
index,
60 const ext::shared_ptr<YoYInflationIndex>&
yoyIndex()
const;
74 bool checkPricerImpl(
const ext::shared_ptr<InflationCouponPricer>&)
const override;
77 inline const ext::shared_ptr<YoYInflationIndex>&
95 ext::shared_ptr<YoYInflationIndex> index,
96 const Period& observationLag);
111 operator Leg()
const;
114 ext::shared_ptr<YoYInflationIndex>
index_;
degenerate base class for the Acyclic Visitor pattern
virtual Real nominal() const
Base inflation-coupon class.
Natural fixingDays() const
fixing days
Rate rate() const override
accrued rate
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
Coupon paying a YoY-inflation type index
bool checkPricerImpl(const ext::shared_ptr< InflationCouponPricer > &) const override
makes sure you were given the correct type of pricer
void accept(AcyclicVisitor &) override
Real gearing() const
index gearing, i.e. multiplicative coefficient for the index
const ext::shared_ptr< YoYInflationIndex > & yoyIndex() const
Rate adjustedFixing() const
ext::shared_ptr< YoYInflationIndex > yoyIndex_
Spread spread() const
spread paid over the fixing of the underlying index
BusinessDayConvention paymentAdjustment_
std::vector< Rate > caps_
yoyInflationLeg & withSpreads(Spread spread)
yoyInflationLeg & withFloors(Rate floor)
yoyInflationLeg & withPaymentAdjustment(BusinessDayConvention)
ext::shared_ptr< YoYInflationIndex > index_
yoyInflationLeg & withNotionals(Real notional)
Calendar paymentCalendar_
yoyInflationLeg & withGearings(Real gearing)
std::vector< Real > notionals_
std::vector< Spread > spreads_
yoyInflationLeg & withPaymentDayCounter(const DayCounter &)
std::vector< Natural > fixingDays_
yoyInflationLeg & withCaps(Rate cap)
std::vector< Rate > floors_
yoyInflationLeg & withFixingDays(Natural fixingDays)
std::vector< Real > gearings_
DayCounter paymentDayCounter_
BusinessDayConvention
Business Day conventions.
unsigned QL_INTEGER Natural
positive integer
Real Spread
spreads on interest rates
Coupon paying a variable index-based rate.
base classes for inflation indexes
std::vector< ext::shared_ptr< CashFlow > > Leg
Sequence of cash-flows.