Logo
Reference manual - version qle_version
Public Member Functions | List of all members
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)
 
CPILegwithNotionals (Real notional)
 
CPILegwithNotionals (const std::vector< Real > &notionals)
 
CPILegwithFixedRates (Real fixedRate)
 
CPILegwithFixedRates (const std::vector< Real > &fixedRates)
 
CPILegwithPaymentDayCounter (const DayCounter &)
 
CPILegwithPaymentAdjustment (BusinessDayConvention)
 
CPILegwithPaymentCalendar (const Calendar &)
 
CPILegwithFixingDays (Natural fixingDays)
 
CPILegwithFixingDays (const std::vector< Natural > &fixingDays)
 
CPILegwithObservationInterpolation (CPI::InterpolationType)
 
CPILegwithSubtractInflationNominal (bool)
 
CPILegwithCaps (Rate cap)
 
CPILegwithCaps (const std::vector< Rate > &caps)
 
CPILegwithFloors (Rate floor)
 
CPILegwithFloors (const std::vector< Rate > &floors)
 
CPILegwithFinalFlowCap (Rate cap)
 
CPILegwithFinalFlowFloor (Rate floor)
 
CPILegwithExCouponPeriod (const Period &, const Calendar &, BusinessDayConvention, bool endOfMonth=false)
 
CPILegwithStartDate (const Date &startDate)
 
CPILegwithObservationLag (const Period &observationLag)
 
CPILegwithSubtractInflationNominalAllCoupons (bool subtractInflationNominalAllCoupons)
 
CPILegwithBaseDate (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