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 () |
![]() | |
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 () |
![]() | |
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 | |
![]() | |
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 | |
![]() | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
void | notifyObservers () |
![]() | |
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 | |
![]() | |
Rate | convexityAdjustmentImpl (Rate fixing) const |
convexity adjustment for the given index fixing | |
![]() | |
boost::shared_ptr < InterestRateIndex > | index_ |
DayCounter | dayCounter_ |
Natural | fixingDays_ |
Real | gearing_ |
Spread | spread_ |
bool | isInArrears_ |
boost::shared_ptr < FloatingRateCouponPricer > | pricer_ |
![]() | |
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: