QuantLib_CappedFlooredYoYInflationCoupon man page

CappedFlooredYoYInflationCoupon — Capped or floored inflation coupon.


#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
Rate floor () const
Rate effectiveCap () const
effective cap of fixing
Rate effectiveFloor () const
effective floor of fixing

Observer interface

void update ()


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.


Generated automatically by Doxygen for QuantLib from the source code.

Referenced By

CappedFlooredYoYInflationCoupon(3) and setCommon(3) are aliases of QuantLib_CappedFlooredYoYInflationCoupon(3).

QuantLib Version 1.8.1 Fri Sep 23 2016