QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
|
multiple-reset coupon More...
#include <multipleresetscoupon.hpp>
Public Member Functions | |
MultipleResetsCoupon (const Date &paymentDate, Real nominal, const Schedule &resetSchedule, Natural fixingDays, const ext::shared_ptr< IborIndex > &index, Real gearing=1.0, Rate couponSpread=0.0, Rate rateSpread=0.0, const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date(), const DayCounter &dayCounter=DayCounter(), const Date &exCouponDate=Date()) | |
MultipleResetsCoupon (const Date &paymentDate, Real nominal, const Date &startDate, const Date &endDate, Natural fixingDays, const ext::shared_ptr< IborIndex > &index, Real gearing=1.0, Rate couponSpread=0.0, Rate rateSpread=0.0, const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date(), const DayCounter &dayCounter=DayCounter(), const Date &exCouponDate=Date()) | |
Inspectors | |
const std::vector< Date > & | fixingDates () const |
fixing dates for the rates to be compounded More... | |
const std::vector< Time > & | dt () const |
accrual (compounding) periods More... | |
const std::vector< Date > & | valueDates () const |
value dates for the rates to be compounded More... | |
Spread | rateSpread () const |
rate spread More... | |
FloatingRateCoupon interface | |
Date | fixingDate () const override |
the date when the coupon is fully determined More... | |
![]() | |
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 | 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... | |
virtual void | setPricer (const ext::shared_ptr< FloatingRateCouponPricer > &) |
ext::shared_ptr< FloatingRateCouponPricer > | pricer () const |
![]() | |
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... | |
![]() | |
~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... | |
![]() | |
~Event () override=default | |
![]() | |
Observable ()=default | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
Observable (Observable &&)=delete | |
Observable & | operator= (Observable &&)=delete |
virtual | ~Observable ()=default |
void | notifyObservers () |
![]() | |
LazyObject () | |
~LazyObject () override=default | |
void | update () override |
bool | isCalculated () const |
void | forwardFirstNotificationOnly () |
void | alwaysForwardNotifications () |
void | recalculate () |
void | freeze () |
void | unfreeze () |
![]() | |
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 | |
std::vector< Date > | valueDates_ |
std::vector< Date > | fixingDates_ |
Size | n_ |
std::vector< Time > | dt_ |
Rate | rateSpread_ |
void | accept (AcyclicVisitor &) override |
Date | fixingDate (const Date &valueDate) const |
Additional Inherited Members | |
![]() | |
typedef set_type::iterator | iterator |
![]() | |
Rate | convexityAdjustmentImpl (Rate fixing) const |
convexity adjustment for the given index fixing More... | |
![]() | |
virtual void | calculate () const |
![]() | |
ext::shared_ptr< InterestRateIndex > | index_ |
DayCounter | dayCounter_ |
Natural | fixingDays_ |
Real | gearing_ |
Spread | spread_ |
bool | isInArrears_ |
ext::shared_ptr< FloatingRateCouponPricer > | pricer_ |
Real | rate_ |
![]() | |
Date | paymentDate_ |
Real | nominal_ |
Date | accrualStartDate_ |
Date | accrualEndDate_ |
Date | refPeriodStart_ |
Date | refPeriodEnd_ |
Date | exCouponDate_ |
Real | accrualPeriod_ |
![]() | |
bool | calculated_ = false |
bool | frozen_ = false |
bool | alwaysForward_ |
multiple-reset coupon
Coupon paying a rate calculated by compounding or averaging multiple fixings during its accrual period.
Definition at line 42 of file multipleresetscoupon.hpp.
MultipleResetsCoupon | ( | const Date & | paymentDate, |
Real | nominal, | ||
const Schedule & | resetSchedule, | ||
Natural | fixingDays, | ||
const ext::shared_ptr< IborIndex > & | index, | ||
Real | gearing = 1.0 , |
||
Rate | couponSpread = 0.0 , |
||
Rate | rateSpread = 0.0 , |
||
const Date & | refPeriodStart = Date() , |
||
const Date & | refPeriodEnd = Date() , |
||
const DayCounter & | dayCounter = DayCounter() , |
||
const Date & | exCouponDate = Date() |
||
) |
resetSchedule | the schedule for the multiple resets. The first and last dates are also the start and end dates of the coupon. Each period specified by the schedule is the underlying period for one fixing; the corresponding fixing date is the passed number of fixing days before the start of the period. |
couponSpread | an optional spread added to the final coupon rate. |
rateSpread | an optional spread added to each of the underlying fixings. |
gearing | an optional multiplier for the final coupon rate. |
Definition at line 30 of file multipleresetscoupon.cpp.
MultipleResetsCoupon | ( | const Date & | paymentDate, |
Real | nominal, | ||
const Date & | startDate, | ||
const Date & | endDate, | ||
Natural | fixingDays, | ||
const ext::shared_ptr< IborIndex > & | index, | ||
Real | gearing = 1.0 , |
||
Rate | couponSpread = 0.0 , |
||
Rate | rateSpread = 0.0 , |
||
const Date & | refPeriodStart = Date() , |
||
const Date & | refPeriodEnd = Date() , |
||
const DayCounter & | dayCounter = DayCounter() , |
||
const Date & | exCouponDate = Date() |
||
) |
Definition at line 67 of file multipleresetscoupon.cpp.
const std::vector< Date > & fixingDates | ( | ) | const |
fixing dates for the rates to be compounded
Definition at line 88 of file multipleresetscoupon.hpp.
const std::vector< Time > & dt | ( | ) | const |
accrual (compounding) periods
Definition at line 90 of file multipleresetscoupon.hpp.
const std::vector< Date > & valueDates | ( | ) | const |
value dates for the rates to be compounded
Definition at line 92 of file multipleresetscoupon.hpp.
Spread rateSpread | ( | ) | const |
rate spread
Definition at line 94 of file multipleresetscoupon.hpp.
|
overridevirtual |
the date when the coupon is fully determined
Reimplemented from FloatingRateCoupon.
Definition at line 99 of file multipleresetscoupon.hpp.
|
overridevirtual |
Reimplemented from FloatingRateCoupon.
Definition at line 112 of file multipleresetscoupon.cpp.
|
private |
Definition at line 108 of file multipleresetscoupon.hpp.
|
private |
Definition at line 108 of file multipleresetscoupon.hpp.
|
private |
Definition at line 109 of file multipleresetscoupon.hpp.
|
private |
Definition at line 110 of file multipleresetscoupon.hpp.
|
private |
Definition at line 111 of file multipleresetscoupon.hpp.