### A free/open-source library for quantitative finance

Public Member Functions
CappedFlooredCoupon Class Reference

Capped and/or floored floating-rate coupon. More...

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

Inheritance diagram for CappedFlooredCoupon:
[legend]

List of all members.

## 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 ()

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

## Detailed Description

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:

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

Reimplemented from FloatingRateCoupon.