QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
coupon accruing over a fixed period More...
#include <coupon.hpp>
Public Member Functions | |
Coupon (const Date &paymentDate, Real nominal, const Date &accrualStartDate, const Date &accrualEndDate, const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date(), const Date &exCouponDate=Date()) | |
Event interface | |
Date | date () const override |
CashFlow interface | |
Date | exCouponDate () const override |
returns the date that the cash flow trades exCoupon More... | |
Inspectors | |
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... | |
virtual Rate | rate () const =0 |
accrued rate More... | |
virtual DayCounter | dayCounter () const =0 |
day counter for accrual calculation 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... | |
virtual Real | accruedAmount (const Date &) const =0 |
accrued amount 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... | |
void | performCalculations () const override |
virtual Real | amount () const =0 |
returns the amount of the cash flow 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 | |
Date | paymentDate_ |
Real | nominal_ |
Date | accrualStartDate_ |
Date | accrualEndDate_ |
Date | refPeriodStart_ |
Date | refPeriodEnd_ |
Date | exCouponDate_ |
Real | accrualPeriod_ |
void | accept (AcyclicVisitor &) override |
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 LazyObject | |
bool | calculated_ = false |
bool | frozen_ = false |
bool | alwaysForward_ |
coupon accruing over a fixed period
This class implements part of the CashFlow interface but it is still abstract and provides derived classes with methods for accrual period calculations.
Definition at line 39 of file coupon.hpp.
Coupon | ( | const Date & | paymentDate, |
Real | nominal, | ||
const Date & | accrualStartDate, | ||
const Date & | accrualEndDate, | ||
const Date & | refPeriodStart = Date() , |
||
const Date & | refPeriodEnd = Date() , |
||
const Date & | exCouponDate = Date() |
||
) |
Definition at line 27 of file coupon.cpp.
|
overridevirtual |
Implements CashFlow.
Definition at line 53 of file coupon.hpp.
|
overridevirtual |
returns the date that the cash flow trades exCoupon
Reimplemented from CashFlow.
Definition at line 57 of file coupon.hpp.
|
virtual |
const Date & accrualStartDate | ( | ) | const |
start of the accrual period
Definition at line 104 of file coupon.hpp.
const Date & accrualEndDate | ( | ) | const |
end of the accrual period
Definition at line 108 of file coupon.hpp.
const Date & referencePeriodStart | ( | ) | const |
start date of the reference period
Definition at line 112 of file coupon.hpp.
const Date & referencePeriodEnd | ( | ) | const |
end date of the reference period
Definition at line 116 of file coupon.hpp.
Time accrualPeriod | ( | ) | const |
accrual period as fraction of year
Definition at line 44 of file coupon.cpp.
Date::serial_type accrualDays | ( | ) | const |
accrual period in days
Definition at line 52 of file coupon.cpp.
|
pure virtual |
accrued rate
Implemented in CappedFlooredCoupon, CappedFlooredYoYInflationCoupon, DigitalCoupon, FixedRateCoupon, FloatingRateCoupon, InflationCoupon, and StrippedCappedFlooredCoupon.
|
pure virtual |
day counter for accrual calculation
Implemented in FixedRateCoupon, FloatingRateCoupon, and InflationCoupon.
accrued period as fraction of year at the given date
Definition at line 57 of file coupon.cpp.
Date::serial_type accruedDays | ( | const Date & | d | ) | const |
accrued days at the given date
Definition at line 71 of file coupon.cpp.
accrued amount at the given date
Implemented in CPICoupon, FixedRateCoupon, FloatingRateCoupon, InflationCoupon, and OvernightIndexedCoupon.
|
overridevirtual |
Reimplemented from CashFlow.
Reimplemented in CPICoupon, DigitalCmsCoupon, DigitalCoupon, DigitalIborCoupon, FixedRateCoupon, FloatingRateCoupon, IborCoupon, InflationCoupon, OvernightIndexedCoupon, RangeAccrualFloatersCoupon, SubPeriodsCoupon, YoYInflationCoupon, CmsSpreadCoupon, DigitalCmsSpreadCoupon, StrippedCappedFlooredCoupon, and CappedFlooredCmsSpreadCoupon.
Definition at line 80 of file coupon.cpp.
|
protected |
Definition at line 90 of file coupon.hpp.
|
protected |
Definition at line 91 of file coupon.hpp.
|
protected |
Definition at line 92 of file coupon.hpp.
|
protected |
Definition at line 92 of file coupon.hpp.
|
protected |
Definition at line 92 of file coupon.hpp.
|
protected |
Definition at line 92 of file coupon.hpp.
|
protected |
Definition at line 93 of file coupon.hpp.
|
mutableprotected |
Definition at line 94 of file coupon.hpp.