QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
Coupon paying a Libor-type index More...
#include <iborcoupon.hpp>
Classes | |
class | Settings |
Per-session settings for IborCoupon class. More... | |
Public Member Functions | |
IborCoupon (const Date &paymentDate, Real nominal, const Date &startDate, const Date &endDate, Natural fixingDays, const ext::shared_ptr< IborIndex > &index, Real gearing=1.0, Spread spread=0.0, const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date(), const DayCounter &dayCounter=DayCounter(), bool isInArrears=false, const Date &exCouponDate=Date()) | |
Inspectors | |
const ext::shared_ptr< IborIndex > & | iborIndex () const |
FloatingRateCoupon interface | |
Date | fixingDate () const override |
fixing date More... | |
Rate | indexFixing () const override |
fixing of the underlying index More... | |
void | setPricer (const ext::shared_ptr< FloatingRateCouponPricer > &) override |
Visitability | |
void | accept (AcyclicVisitor &) override |
Public Member Functions inherited from 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()) | |
void | performCalculations () const override |
Real | amount () const override |
returns the amount of the cash flow More... | |
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... | |
const ext::shared_ptr< InterestRateIndex > & | index () const |
floating index More... | |
Natural | fixingDays () const |
fixing days 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 | 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... | |
ext::shared_ptr< FloatingRateCouponPricer > | pricer () const |
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 () |
Internal calculations | |
You won't probably need these methods unless you're implementing a coupon pricer. | |
class | IborCouponPricer |
ext::shared_ptr< IborIndex > | iborIndex_ |
Date | fixingDate_ |
bool | cachedDataIsInitialized_ = false |
Date | fixingValueDate_ |
Date | fixingEndDate_ |
Date | fixingMaturityDate_ |
Time | spanningTime_ |
Time | spanningTimeIndexMaturity_ |
const Date & | fixingValueDate () const |
Start of the deposit period underlying the index fixing. More... | |
const Date & | fixingMaturityDate () const |
End of the deposit period underlying the index fixing. More... | |
const Date & | fixingEndDate () const |
End of the deposit period underlying the coupon fixing. More... | |
Time | spanningTimeIndexMaturity () const |
Period underlying the index fixing, as a year fraction. More... | |
Time | spanningTime () const |
Period underlying the coupon fixing, as a year fraction. More... | |
void | initializeCachedData () const |
Additional Inherited Members | |
Public Types inherited from Observer | |
typedef set_type::iterator | iterator |
Protected Member Functions inherited from FloatingRateCoupon | |
Rate | convexityAdjustmentImpl (Rate fixing) const |
convexity adjustment for the given index fixing More... | |
Protected Member Functions inherited from LazyObject | |
virtual void | calculate () const |
Protected Attributes inherited from FloatingRateCoupon | |
ext::shared_ptr< InterestRateIndex > | index_ |
DayCounter | dayCounter_ |
Natural | fixingDays_ |
Real | gearing_ |
Spread | spread_ |
bool | isInArrears_ |
ext::shared_ptr< FloatingRateCouponPricer > | pricer_ |
Real | rate_ |
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_ |
Coupon paying a Libor-type index
Definition at line 41 of file iborcoupon.hpp.
IborCoupon | ( | const Date & | paymentDate, |
Real | nominal, | ||
const Date & | startDate, | ||
const Date & | endDate, | ||
Natural | fixingDays, | ||
const ext::shared_ptr< IborIndex > & | index, | ||
Real | gearing = 1.0 , |
||
Spread | spread = 0.0 , |
||
const Date & | refPeriodStart = Date() , |
||
const Date & | refPeriodEnd = Date() , |
||
const DayCounter & | dayCounter = DayCounter() , |
||
bool | isInArrears = false , |
||
const Date & | exCouponDate = Date() |
||
) |
const ext::shared_ptr< IborIndex > & iborIndex | ( | ) | const |
|
overridevirtual |
fixing date
Reimplemented from FloatingRateCoupon.
Definition at line 87 of file iborcoupon.cpp.
|
overridevirtual |
fixing of the underlying index
Reimplemented from FloatingRateCoupon.
Definition at line 91 of file iborcoupon.cpp.
|
overridevirtual |
Reimplemented from FloatingRateCoupon.
Definition at line 131 of file iborcoupon.cpp.
|
overridevirtual |
Reimplemented from FloatingRateCoupon.
Definition at line 136 of file iborcoupon.cpp.
const Date & fixingValueDate | ( | ) | const |
Start of the deposit period underlying the index fixing.
Definition at line 62 of file iborcoupon.cpp.
const Date & fixingMaturityDate | ( | ) | const |
End of the deposit period underlying the index fixing.
Definition at line 72 of file iborcoupon.cpp.
const Date & fixingEndDate | ( | ) | const |
End of the deposit period underlying the coupon fixing.
This might be not the same as fixingMaturityDate if par coupons are used.
Definition at line 67 of file iborcoupon.cpp.
Time spanningTimeIndexMaturity | ( | ) | const |
Period underlying the index fixing, as a year fraction.
Definition at line 82 of file iborcoupon.cpp.
Time spanningTime | ( | ) | const |
Period underlying the coupon fixing, as a year fraction.
This might be not the same as spanningTimeIndexMaturity if par coupons are used.
Definition at line 77 of file iborcoupon.cpp.
|
private |
|
friend |
Definition at line 92 of file iborcoupon.hpp.
|
private |
Definition at line 93 of file iborcoupon.hpp.
|
private |
Definition at line 94 of file iborcoupon.hpp.
|
mutableprivate |
Definition at line 97 of file iborcoupon.hpp.
|
mutableprivate |
Definition at line 98 of file iborcoupon.hpp.
|
private |
Definition at line 98 of file iborcoupon.hpp.
|
private |
Definition at line 98 of file iborcoupon.hpp.
|
mutableprivate |
Definition at line 99 of file iborcoupon.hpp.
|
private |
Definition at line 99 of file iborcoupon.hpp.