Capped and/or floored floating-rate coupon. More...
#include <ql/cashflows/capflooredcoupon.hpp>

Public Member Functions | |
| CappedFlooredCoupon (const boost::shared_ptr< FloatingRateCoupon > &underlying, Rate cap=Null< Rate >(), Rate floor=Null< Rate >()) | |
| Rate | cap () const |
| cap | |
| Rate | floor () const |
| floor | |
| Rate | effectiveCap () const |
| effective cap of fixing | |
| Rate | effectiveFloor () const |
| effective floor of fixing | |
Coupon interface | |
| Rate | rate () const |
| accrued rate | |
| Rate | convexityAdjustment () const |
| convexity adjustment | |
Observer interface | |
| void | update () |
Public Member Functions inherited from FloatingRateCoupon | |
| FloatingRateCoupon (const Date &paymentDate, Real nominal, const Date &startDate, const Date &endDate, Natural fixingDays, const boost::shared_ptr< InterestRateIndex > &index, Real gearing=1.0, Spread spread=0.0, const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date(), const DayCounter &dayCounter=DayCounter(), bool isInArrears=false) | |
| void | setPricer (const boost::shared_ptr< FloatingRateCouponPricer > &) |
|
boost::shared_ptr < FloatingRateCouponPricer > | pricer () const |
| Real | amount () const |
| returns the amount of the cash flow More... | |
| Rate | rate () const |
| accrued rate | |
| Real | price (const Handle< YieldTermStructure > &discountingCurve) const |
| DayCounter | dayCounter () const |
| day counter for accrual calculation | |
| Real | accruedAmount (const Date &) const |
| accrued amount at the given date | |
|
const boost::shared_ptr < InterestRateIndex > & | index () const |
| floating index | |
| Natural | fixingDays () const |
| fixing days | |
| virtual Date | fixingDate () const |
| fixing date | |
| Real | gearing () const |
| index gearing, i.e. multiplicative coefficient for the index | |
| Spread | spread () const |
| spread paid over the fixing of the underlying index | |
| virtual Rate | indexFixing () const |
| fixing of the underlying index | |
| virtual Rate | adjustedFixing () const |
| convexity-adjusted fixing | |
| bool | isInArrears () const |
| whether or not the coupon fixes in arrears | |
| void | update () |
Public Member Functions inherited from Coupon | |
| Coupon (const Date &paymentDate, Real nominal, const Date &accrualStartDate, const Date &accrualEndDate, const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date()) | |
| Date | date () const |
| Real | nominal () const |
| const Date & | accrualStartDate () const |
| start of the accrual period | |
| const Date & | accrualEndDate () const |
| end of the accrual period | |
| const Date & | referencePeriodStart () const |
| start date of the reference period | |
| const Date & | referencePeriodEnd () const |
| end date of the reference period | |
| Time | accrualPeriod () const |
| accrual period as fraction of year | |
| BigInteger | accrualDays () const |
| accrual period in days | |
| Time | accruedPeriod (const Date &) const |
| accrued period as fraction of year at the given date | |
| BigInteger | accruedDays (const Date &) const |
| accrued days at the given date | |
Public Member Functions inherited from CashFlow | |
| bool | hasOccurred (const Date &refDate=Date(), boost::optional< bool > includeRefDate=boost::none) const |
| returns true if an event has already occurred before a date More... | |
Event interface | |
Visitability | |
Public Member Functions inherited from Observable | |
| Observable (const Observable &) | |
| Observable & | operator= (const Observable &) |
| void | notifyObservers () |
Public Member Functions inherited from Observer | |
| Observer (const Observer &) | |
| Observer & | operator= (const Observer &) |
|
std::pair< std::set < boost::shared_ptr < Observable > >::iterator, bool > | registerWith (const boost::shared_ptr< Observable > &) |
| Size | unregisterWith (const boost::shared_ptr< Observable > &) |
| void | unregisterWithAll () |
Visitability | |
|
boost::shared_ptr < FloatingRateCoupon > | underlying_ |
| bool | isCapped_ |
| bool | isFloored_ |
| Rate | cap_ |
| Rate | floor_ |
| virtual void | accept (AcyclicVisitor &) |
| bool | isCapped () const |
| bool | isFloored () const |
| void | setPricer (const boost::shared_ptr< FloatingRateCouponPricer > &pricer) |
Additional Inherited Members | |
Protected Member Functions inherited from FloatingRateCoupon | |
| Rate | convexityAdjustmentImpl (Rate fixing) const |
| convexity adjustment for the given index fixing | |
Protected Attributes inherited from FloatingRateCoupon | |
|
boost::shared_ptr < InterestRateIndex > | index_ |
| DayCounter | dayCounter_ |
| Natural | fixingDays_ |
| Real | gearing_ |
| Spread | spread_ |
| bool | isInArrears_ |
|
boost::shared_ptr < FloatingRateCouponPricer > | pricer_ |
Protected Attributes inherited from Coupon | |
| Date | paymentDate_ |
| Real | nominal_ |
| Date | accrualStartDate_ |
| Date | accrualEndDate_ |
| Date | refPeriodStart_ |
| Date | refPeriodEnd_ |
Capped and/or floored floating-rate coupon.
The payoff
of a capped floating-rate coupon is:
The payoff of a floored floating-rate coupon is:
The payoff of a collared floating-rate coupon is:
where
is the notional,
is the accrual time,
is the floating rate,
is its gearing,
is the spread, and
and
the strikes.
They can be decomposed in the following manner. Decomposition of a capped floating rate coupon:
where
. Then: