QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
#include <averagebmacoupon.hpp>
Public Member Functions | |
AverageBMACoupon (const Date &paymentDate, Real nominal, const Date &startDate, const Date &endDate, const ext::shared_ptr< BMAIndex > &index, Real gearing=1.0, Spread spread=0.0, const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date(), const DayCounter &dayCounter=DayCounter()) | |
FloatingRateCoupon interface | |
Date | fixingDate () const override |
not applicable here; use fixingDates() instead More... | |
std::vector< Date > | fixingDates () const |
fixing dates of the rates to be averaged More... | |
Rate | indexFixing () const override |
not applicable here; use indexFixings() instead More... | |
std::vector< Rate > | indexFixings () const |
fixings of the underlying index to be averaged More... | |
Rate | convexityAdjustment () const override |
not applicable here More... | |
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 | adjustedFixing () const |
convexity-adjusted fixing More... | |
bool | isInArrears () const |
whether or not the coupon fixes in arrears More... | |
void | accept (AcyclicVisitor &) override |
virtual void | setPricer (const ext::shared_ptr< FloatingRateCouponPricer > &) |
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 () |
Visitability | |
Schedule | fixingSchedule_ |
void | accept (AcyclicVisitor &) override |
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_ |
Average BMA coupon.
Coupon paying a BMA index, where the coupon rate is a weighted average of relevant fixings.
The weighted average is computed based on the actual calendar days for which a given fixing is valid and contributing to the given interest period.
Before weights are computed, the fixing schedule is adjusted for the index's fixing day gap. See rate() method for details.
Definition at line 44 of file averagebmacoupon.hpp.
AverageBMACoupon | ( | const Date & | paymentDate, |
Real | nominal, | ||
const Date & | startDate, | ||
const Date & | endDate, | ||
const ext::shared_ptr< BMAIndex > & | index, | ||
Real | gearing = 1.0 , |
||
Spread | spread = 0.0 , |
||
const Date & | refPeriodStart = Date() , |
||
const Date & | refPeriodEnd = Date() , |
||
const DayCounter & | dayCounter = DayCounter() |
||
) |
|
overridevirtual |
not applicable here; use fixingDates() instead
Reimplemented from FloatingRateCoupon.
Definition at line 132 of file averagebmacoupon.cpp.
std::vector< Date > fixingDates | ( | ) | const |
fixing dates of the rates to be averaged
Definition at line 136 of file averagebmacoupon.cpp.
|
overridevirtual |
not applicable here; use indexFixings() instead
Reimplemented from FloatingRateCoupon.
Definition at line 140 of file averagebmacoupon.cpp.
std::vector< Rate > indexFixings | ( | ) | const |
fixings of the underlying index to be averaged
Definition at line 144 of file averagebmacoupon.cpp.
|
overridevirtual |
not applicable here
Reimplemented from FloatingRateCoupon.
Definition at line 151 of file averagebmacoupon.cpp.
|
overridevirtual |
Reimplemented from CashFlow.
Definition at line 155 of file averagebmacoupon.cpp.
|
private |
Definition at line 78 of file averagebmacoupon.hpp.