Helper class building a sequence of capped/floored CPI coupons. More...
#include <qle/cashflows/cpicoupon.hpp>
Public Member Functions | |
CPILeg (const Schedule &schedule, const ext::shared_ptr< ZeroInflationIndex > &index, const Handle< YieldTermStructure > &rateCurve, const Real baseCPI, const Period &observationLag) | |
CPILeg & | withNotionals (Real notional) |
CPILeg & | withNotionals (const std::vector< Real > ¬ionals) |
CPILeg & | withFixedRates (Real fixedRate) |
CPILeg & | withFixedRates (const std::vector< Real > &fixedRates) |
CPILeg & | withPaymentDayCounter (const DayCounter &) |
CPILeg & | withPaymentAdjustment (BusinessDayConvention) |
CPILeg & | withPaymentCalendar (const Calendar &) |
CPILeg & | withFixingDays (Natural fixingDays) |
CPILeg & | withFixingDays (const std::vector< Natural > &fixingDays) |
CPILeg & | withObservationInterpolation (CPI::InterpolationType) |
CPILeg & | withSubtractInflationNominal (bool) |
CPILeg & | withCaps (Rate cap) |
CPILeg & | withCaps (const std::vector< Rate > &caps) |
CPILeg & | withFloors (Rate floor) |
CPILeg & | withFloors (const std::vector< Rate > &floors) |
CPILeg & | withFinalFlowCap (Rate cap) |
CPILeg & | withFinalFlowFloor (Rate floor) |
CPILeg & | withExCouponPeriod (const Period &, const Calendar &, BusinessDayConvention, bool endOfMonth=false) |
CPILeg & | withStartDate (const Date &startDate) |
CPILeg & | withObservationLag (const Period &observationLag) |
CPILeg & | withSubtractInflationNominalAllCoupons (bool subtractInflationNominalAllCoupons) |
CPILeg & | withBaseDate (const Date &baseDate) |
operator Leg () const | |
Helper class building a sequence of capped/floored CPI coupons.
Also allowing for the inflated notional at the end... especially if there is only one date in the schedule. If a fixedRate is zero you get a FixedRateCoupon, otherwise you get a ZeroInflationCoupon.
payoff is: spread + fixedRate x index