- QuantLib
- CappedFlooredYoYInflationCoupon
 
Capped or floored inflation coupon. More...
#include <ql/cashflows/capflooredinflationcoupon.hpp>

| Public Member Functions | |
| CappedFlooredYoYInflationCoupon (const boost::shared_ptr< YoYInflationCoupon > &underlying, Rate cap=Null< Rate >(), Rate floor=Null< Rate >()) | |
| CappedFlooredYoYInflationCoupon (const Date &paymentDate, Real nominal, const Date &startDate, const Date &endDate, Natural fixingDays, const boost::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()) | |
| bool | isCapped () const | 
| bool | isFloored () const | 
| void | setPricer (const boost::shared_ptr< YoYInflationCouponPricer > &) | 
| augmented Coupon interface | |
| Rate | rate () const | 
| swap(let) rate | |
| Rate | cap () const | 
| cap | |
| Rate | floor () const | 
| floor | |
| Rate | effectiveCap () const | 
| effective cap of fixing | |
| Rate | effectiveFloor () const | 
| effective floor of fixing | |
| Observer interface | |
| void | update () | 
| Visitability | |
| virtual void | accept (AcyclicVisitor &v) | 
| Protected Member Functions | |
| virtual void | setCommon (Rate cap, Rate floor) | 
| Protected Attributes | |
| boost::shared_ptr < YoYInflationCoupon > | underlying_ | 
| bool | isFloored_ | 
| bool | isCapped_ | 
| Rate | cap_ | 
| Rate | floor_ | 
Capped or floored inflation coupon.
Essentially a copy of the nominal version but taking a different index and a set of pricers (not just one).
The payoff  of a capped inflation-rate coupon with paysWithin = true is:
 of a capped inflation-rate coupon with paysWithin = true is:
![\[ P = N \times T \times \min(a L + b, C). \]](form_42.png) 
where  is the notional,
 is the notional,  is the accrual time,
 is the accrual time,  is the inflation rate,
 is the inflation rate,  is its gearing,
 is its gearing,  is the spread, and
 is the spread, and  and
 and  the strikes.
 the strikes.
The payoff of a floored inflation-rate coupon is:
![\[ P = N \times T \times \max(a L + b, F). \]](form_43.png) 
The payoff of a collared inflation-rate coupon is:
![\[ P = N \times T \times \min(\max(a L + b, F), C). \]](form_44.png) 
If paysWithin = false then the inverse is returned (this provides for instrument cap and caplet prices).
They can be decomposed in the following manner. Decomposition of a capped floating rate coupon when paysWithin = true:
![\[ R = \min(a L + b, C) = (a L + b) + \min(C - b - \xi |a| L, 0) \]](form_51.png) 
 where  . Then:
. Then: 
![\[ R = (a L + b) + |a| \min(\frac{C - b}{|a|} - \xi L, 0) \]](form_53.png) 
| void update | ( | ) |  [virtual] | 
This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.
Reimplemented from InflationCoupon.