QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
base floating-rate coupon class More...
#include <floatingratecoupon.hpp>
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 Date & | accrualStartDate () const |
start of the accrual period More... | |
const Date & | accrualEndDate () const |
end of the accrual period More... | |
const Date & | referencePeriodStart () const |
start date of the reference period More... | |
const Date & | referencePeriodEnd () 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 &) | |
Observable & | operator= (const Observable &) |
Observable (Observable &&)=delete | |
Observable & | operator= (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 &) | |
Observer & | operator= (const Observer &) |
virtual | ~Observer () |
std::pair< iterator, bool > | registerWith (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< InterestRateIndex > | index_ |
DayCounter | dayCounter_ |
Natural | fixingDays_ |
Real | gearing_ |
Spread | spread_ |
bool | isInArrears_ |
ext::shared_ptr< FloatingRateCouponPricer > | pricer_ |
Real | rate_ |
void | accept (AcyclicVisitor &) override |
virtual void | setPricer (const ext::shared_ptr< FloatingRateCouponPricer > &) |
ext::shared_ptr< FloatingRateCouponPricer > | pricer () 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_ |
base floating-rate coupon class
Definition at line 45 of file floatingratecoupon.hpp.
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() |
||
) |
|
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.
|
overridevirtual |
returns the amount of the cash flow
Implements CashFlow.
Definition at line 67 of file floatingratecoupon.hpp.
|
overridevirtual |
accrued rate
Implements Coupon.
Reimplemented in StrippedCappedFlooredCoupon.
Definition at line 86 of file floatingratecoupon.cpp.
Real price | ( | const Handle< YieldTermStructure > & | discountingCurve | ) | const |
|
overridevirtual |
day counter for accrual calculation
Implements Coupon.
Definition at line 74 of file floatingratecoupon.hpp.
accrued amount at the given date
Implements Coupon.
Reimplemented in OvernightIndexedCoupon.
Definition at line 70 of file floatingratecoupon.cpp.
const ext::shared_ptr< InterestRateIndex > & index | ( | ) | const |
floating index
Definition at line 123 of file floatingratecoupon.hpp.
Natural fixingDays | ( | ) | const |
fixing days
Definition at line 83 of file floatingratecoupon.hpp.
|
virtual |
fixing date
Reimplemented in AverageBMACoupon, IborCoupon, OvernightIndexedCoupon, and SubPeriodsCoupon.
Definition at line 79 of file floatingratecoupon.cpp.
Real gearing | ( | ) | const |
index gearing, i.e. multiplicative coefficient for the index
Definition at line 87 of file floatingratecoupon.hpp.
Spread spread | ( | ) | const |
spread paid over the fixing of the underlying index
Definition at line 89 of file floatingratecoupon.hpp.
|
virtual |
fixing of the underlying index
Reimplemented in AverageBMACoupon, and IborCoupon.
Definition at line 101 of file floatingratecoupon.cpp.
|
virtual |
convexity adjustment
Reimplemented in AverageBMACoupon, CappedFlooredCoupon, DigitalCoupon, and StrippedCappedFlooredCoupon.
Definition at line 127 of file floatingratecoupon.hpp.
|
virtual |
convexity-adjusted fixing
Definition at line 131 of file floatingratecoupon.hpp.
bool isInArrears | ( | ) | const |
whether or not the coupon fixes in arrears
Definition at line 97 of file floatingratecoupon.hpp.
|
overridevirtual |
Reimplemented from Coupon.
Reimplemented in IborCoupon, OvernightIndexedCoupon, RangeAccrualFloatersCoupon, SubPeriodsCoupon, CmsSpreadCoupon, DigitalCmsSpreadCoupon, StrippedCappedFlooredCoupon, and CappedFlooredCmsSpreadCoupon.
Definition at line 145 of file floatingratecoupon.hpp.
|
virtual |
Reimplemented in IborCoupon, CappedFlooredCoupon, DigitalCoupon, and StrippedCappedFlooredCoupon.
Definition at line 60 of file floatingratecoupon.cpp.
ext::shared_ptr< FloatingRateCouponPricer > pricer | ( | ) | const |
convexity adjustment for the given index fixing
Definition at line 141 of file floatingratecoupon.hpp.
|
protected |
Definition at line 110 of file floatingratecoupon.hpp.
|
protected |
Definition at line 111 of file floatingratecoupon.hpp.
|
protected |
Definition at line 112 of file floatingratecoupon.hpp.
|
protected |
Definition at line 113 of file floatingratecoupon.hpp.
|
protected |
Definition at line 114 of file floatingratecoupon.hpp.
|
protected |
Definition at line 115 of file floatingratecoupon.hpp.
|
protected |
Definition at line 116 of file floatingratecoupon.hpp.
|
mutableprotected |
Definition at line 117 of file floatingratecoupon.hpp.