Logo
Reference manual - version qle_version
CPILeg Class Reference

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 > &notionals)
CPILeg & withFixedRates (Real fixedRate)
CPILeg & withFixedRates (const std::vector< Real > &fixedRates)
CPILeg & withPaymentDayCounter (const DayCounter &)
CPILeg & withPaymentAdjustment (BusinessDayConvention)
CPILeg & withPaymentCalendar (const Calendar &)
CPILeg & withPaymentLag (Natural lag)
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

Detailed Description

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