# QuantLib_CappedFlooredYoYInflationCoupon man page

CappedFlooredYoYInflationCoupon — Capped or floored inflation coupon.

## Synopsis

`#include <ql/cashflows/capflooredinflationcoupon.hpp>`

Inherits **YoYInflationCoupon**.

### 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_**

### Additional Inherited Members

## Detailed Description

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 $ P $ of a capped inflation-rate coupon with paysWithin = true is:

[ P = N imes T imes min(a L + b, C). ].PP where $ N $ is the notional, $ T $ is the accrual time, $ L $ is the inflation rate, $ a $ is its gearing, $ b $ is the spread, and $ C $ and $ F $ the strikes.

The payoff of a floored inflation-rate coupon is:

[ P = N imes T imes max(a L + b, F). ].PP The payoff of a collared inflation-rate coupon is:

[ P = N imes T imes min(max(a L + b, F), C). ].PP 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) ] where $ xi = sgn(a) $. Then: [ R = (a L + b) + |a| min(ac{C - b}{|a|} - xi L, 0) ]

## Member Function Documentation

### 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.

Implements **Observer**.

## Author

Generated automatically by Doxygen for QuantLib from the source code.

## Referenced By

The man pages CappedFlooredYoYInflationCoupon(3) and setCommon(3) are aliases of QuantLib_CappedFlooredYoYInflationCoupon(3).