QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
Public Member Functions | List of all members
FloatingRateCoupon Class Reference

base floating-rate coupon class More...

#include <floatingratecoupon.hpp>

+ Inheritance diagram for FloatingRateCoupon:
+ Collaboration diagram for FloatingRateCoupon:

Public Member Functions

 FloatingRateCoupon (const Date &paymentDate, Real nominal, const Date &startDate, const Date &endDate, Natural fixingDays, const ext::shared_ptr< InterestRateIndex > &index, Real gearing=1.0, Spread spread=0.0, const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date(), DayCounter dayCounter=DayCounter(), bool isInArrears=false, const Date &exCouponDate=Date())
 
LazyObject interface
void performCalculations () const override
 
CashFlow interface
Real amount () const override
 returns the amount of the cash flow More...
 
Coupon interface
Rate rate () const override
 accrued rate More...
 
Real price (const Handle< YieldTermStructure > &discountingCurve) const
 
DayCounter dayCounter () const override
 day counter for accrual calculation More...
 
Real accruedAmount (const Date &) const override
 accrued amount at the given date More...
 
Inspectors
const ext::shared_ptr< InterestRateIndex > & index () const
 floating index More...
 
Natural fixingDays () const
 fixing days More...
 
virtual Date fixingDate () const
 fixing date More...
 
Real gearing () const
 index gearing, i.e. multiplicative coefficient for the index More...
 
Spread spread () const
 spread paid over the fixing of the underlying index More...
 
virtual Rate indexFixing () const
 fixing of the underlying index More...
 
virtual Rate convexityAdjustment () const
 convexity adjustment More...
 
virtual Rate adjustedFixing () const
 convexity-adjusted fixing More...
 
bool isInArrears () const
 whether or not the coupon fixes in arrears More...
 
- 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(), const Date &exCouponDate=Date())
 
Date date () const override
 
Date exCouponDate () const override
 returns the date that the cash flow trades exCoupon More...
 
virtual Real nominal () const
 
const DateaccrualStartDate () const
 start of the accrual period More...
 
const DateaccrualEndDate () const
 end of the accrual period More...
 
const DatereferencePeriodStart () const
 start date of the reference period More...
 
const DatereferencePeriodEnd () const
 end date of the reference period More...
 
Time accrualPeriod () const
 accrual period as fraction of year More...
 
Date::serial_type accrualDays () const
 accrual period in days More...
 
Time accruedPeriod (const Date &) const
 accrued period as fraction of year at the given date More...
 
Date::serial_type accruedDays (const Date &) const
 accrued days at the given date More...
 
- Public Member Functions inherited from CashFlow
 ~CashFlow () override=default
 
bool hasOccurred (const Date &refDate=Date(), ext::optional< bool > includeRefDate=ext::nullopt) const override
 returns true if an event has already occurred before a date More...
 
bool tradingExCoupon (const Date &refDate=Date()) const
 returns true if the cashflow is trading ex-coupon on the refDate More...
 
- Public Member Functions inherited from Event
 ~Event () override=default
 
- Public Member Functions inherited from Observable
 Observable ()
 
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
 Observable (Observable &&)=delete
 
Observableoperator= (Observable &&)=delete
 
virtual ~Observable ()=default
 
void notifyObservers ()
 
- Public Member Functions inherited from LazyObject
 LazyObject ()
 
 ~LazyObject () override=default
 
void update () override
 
bool isCalculated () const
 
void forwardFirstNotificationOnly ()
 
void alwaysForwardNotifications ()
 
void recalculate ()
 
void freeze ()
 
void unfreeze ()
 
- Public Member Functions inherited from Observer
 Observer ()=default
 
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
virtual ~Observer ()
 
std::pair< iterator, boolregisterWith (const ext::shared_ptr< Observable > &)
 
void registerWithObservables (const ext::shared_ptr< Observer > &)
 
Size unregisterWith (const ext::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
virtual void update ()=0
 
virtual void deepUpdate ()
 

Visitability

ext::shared_ptr< InterestRateIndexindex_
 
DayCounter dayCounter_
 
Natural fixingDays_
 
Real gearing_
 
Spread spread_
 
bool isInArrears_
 
ext::shared_ptr< FloatingRateCouponPricerpricer_
 
Real rate_
 
void accept (AcyclicVisitor &) override
 
virtual void setPricer (const ext::shared_ptr< FloatingRateCouponPricer > &)
 
ext::shared_ptr< FloatingRateCouponPricerpricer () const
 
Rate convexityAdjustmentImpl (Rate fixing) const
 convexity adjustment for the given index fixing More...
 

Additional Inherited Members

- Public Types inherited from Observer
typedef set_type::iterator iterator
 
- Protected Member Functions inherited from LazyObject
virtual void calculate () const
 
- Protected Attributes inherited from Coupon
Date paymentDate_
 
Real nominal_
 
Date accrualStartDate_
 
Date accrualEndDate_
 
Date refPeriodStart_
 
Date refPeriodEnd_
 
Date exCouponDate_
 
Real accrualPeriod_
 
- Protected Attributes inherited from LazyObject
bool calculated_ = false
 
bool frozen_ = false
 
bool alwaysForward_
 

Detailed Description

base floating-rate coupon class

Definition at line 45 of file floatingratecoupon.hpp.

Constructor & Destructor Documentation

◆ FloatingRateCoupon()

FloatingRateCoupon ( const Date paymentDate,
Real  nominal,
const Date startDate,
const Date endDate,
Natural  fixingDays,
const ext::shared_ptr< InterestRateIndex > &  index,
Real  gearing = 1.0,
Spread  spread = 0.0,
const Date refPeriodStart = Date(),
const Date refPeriodEnd = Date(),
DayCounter  dayCounter = DayCounter(),
bool  isInArrears = false,
const Date exCouponDate = Date() 
)

Definition at line 33 of file floatingratecoupon.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ performCalculations()

void performCalculations ( ) const
overridevirtual

This method must implement any calculations which must be (re)done in order to calculate the desired results.

Reimplemented from CashFlow.

Reimplemented in StrippedCappedFlooredCoupon.

Definition at line 91 of file floatingratecoupon.cpp.

◆ amount()

Real amount ( ) const
overridevirtual

returns the amount of the cash flow

Note
The amount is not discounted, i.e., it is the actual amount paid at the cash flow date.

Implements CashFlow.

Definition at line 67 of file floatingratecoupon.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rate()

Rate rate ( ) const
overridevirtual

accrued rate

Implements Coupon.

Reimplemented in StrippedCappedFlooredCoupon.

Definition at line 86 of file floatingratecoupon.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ price()

Real price ( const Handle< YieldTermStructure > &  discountingCurve) const

Definition at line 97 of file floatingratecoupon.cpp.

+ Here is the call graph for this function:

◆ dayCounter()

DayCounter dayCounter ( ) const
overridevirtual

day counter for accrual calculation

Implements Coupon.

Definition at line 74 of file floatingratecoupon.hpp.

+ Here is the caller graph for this function:

◆ accruedAmount()

Real accruedAmount ( const Date ) const
overridevirtual

accrued amount at the given date

Implements Coupon.

Reimplemented in OvernightIndexedCoupon.

Definition at line 70 of file floatingratecoupon.cpp.

+ Here is the call graph for this function:

◆ index()

const ext::shared_ptr< InterestRateIndex > & index ( ) const

floating index

Definition at line 123 of file floatingratecoupon.hpp.

+ Here is the caller graph for this function:

◆ fixingDays()

Natural fixingDays ( ) const

fixing days

Definition at line 83 of file floatingratecoupon.hpp.

+ Here is the caller graph for this function:

◆ fixingDate()

Date fixingDate ( ) const
virtual

fixing date

Reimplemented in AverageBMACoupon, IborCoupon, OvernightIndexedCoupon, and SubPeriodsCoupon.

Definition at line 79 of file floatingratecoupon.cpp.

+ Here is the caller graph for this function:

◆ gearing()

Real gearing ( ) const

index gearing, i.e. multiplicative coefficient for the index

Definition at line 87 of file floatingratecoupon.hpp.

+ Here is the caller graph for this function:

◆ spread()

Spread spread ( ) const

spread paid over the fixing of the underlying index

Definition at line 89 of file floatingratecoupon.hpp.

+ Here is the caller graph for this function:

◆ indexFixing()

Rate indexFixing ( ) const
virtual

fixing of the underlying index

Reimplemented in AverageBMACoupon, and IborCoupon.

Definition at line 101 of file floatingratecoupon.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ convexityAdjustment()

Rate convexityAdjustment ( ) const
virtual

convexity adjustment

Reimplemented in AverageBMACoupon, CappedFlooredCoupon, DigitalCoupon, and StrippedCappedFlooredCoupon.

Definition at line 127 of file floatingratecoupon.hpp.

+ Here is the call graph for this function:

◆ adjustedFixing()

Rate adjustedFixing ( ) const
virtual

convexity-adjusted fixing

Definition at line 131 of file floatingratecoupon.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isInArrears()

bool isInArrears ( ) const

whether or not the coupon fixes in arrears

Definition at line 97 of file floatingratecoupon.hpp.

+ Here is the caller graph for this function:

◆ accept()

void accept ( AcyclicVisitor v)
overridevirtual

Reimplemented from Coupon.

Reimplemented in IborCoupon, OvernightIndexedCoupon, RangeAccrualFloatersCoupon, SubPeriodsCoupon, CmsSpreadCoupon, DigitalCmsSpreadCoupon, StrippedCappedFlooredCoupon, and CappedFlooredCmsSpreadCoupon.

Definition at line 145 of file floatingratecoupon.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setPricer()

void setPricer ( const ext::shared_ptr< FloatingRateCouponPricer > &  pricer)
virtual

Reimplemented in IborCoupon, CappedFlooredCoupon, DigitalCoupon, and StrippedCappedFlooredCoupon.

Definition at line 60 of file floatingratecoupon.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pricer()

ext::shared_ptr< FloatingRateCouponPricer > pricer ( ) const

Definition at line 136 of file floatingratecoupon.hpp.

+ Here is the caller graph for this function:

◆ convexityAdjustmentImpl()

Rate convexityAdjustmentImpl ( Rate  fixing) const
protected

convexity adjustment for the given index fixing

Definition at line 141 of file floatingratecoupon.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ index_

ext::shared_ptr<InterestRateIndex> index_
protected

Definition at line 110 of file floatingratecoupon.hpp.

◆ dayCounter_

DayCounter dayCounter_
protected

Definition at line 111 of file floatingratecoupon.hpp.

◆ fixingDays_

Natural fixingDays_
protected

Definition at line 112 of file floatingratecoupon.hpp.

◆ gearing_

Real gearing_
protected

Definition at line 113 of file floatingratecoupon.hpp.

◆ spread_

Spread spread_
protected

Definition at line 114 of file floatingratecoupon.hpp.

◆ isInArrears_

bool isInArrears_
protected

Definition at line 115 of file floatingratecoupon.hpp.

◆ pricer_

ext::shared_ptr<FloatingRateCouponPricer> pricer_
protected

Definition at line 116 of file floatingratecoupon.hpp.

◆ rate_

Real rate_
mutableprotected

Definition at line 117 of file floatingratecoupon.hpp.