#include <ql/cashflows/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 |
not applicable here; use fixingDates() instead | |
std::vector< Date > | fixingDates () const |
fixing dates of the rates to be averaged | |
Rate | indexFixing () const |
not applicable here; use indexFixings() instead | |
std::vector< Rate > | indexFixings () const |
fixings of the underlying index to be averaged | |
Rate | convexityAdjustment () const |
not applicable here | |
![]() | |
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(), const DayCounter &dayCounter=DayCounter(), bool isInArrears=false, const Date &exCouponDate=Date()) | |
Real | amount () const |
returns the amount of the cash flow More... | |
Rate | rate () const |
accrued rate | |
Real | price (const Handle< YieldTermStructure > &discountingCurve) const |
DayCounter | dayCounter () const |
day counter for accrual calculation | |
Real | accruedAmount (const Date &) const |
accrued amount at the given date | |
const ext::shared_ptr< InterestRateIndex > & | index () const |
floating index | |
Natural | fixingDays () const |
fixing days | |
Real | gearing () const |
index gearing, i.e. multiplicative coefficient for the index | |
Spread | spread () const |
spread paid over the fixing of the underlying index | |
virtual Rate | adjustedFixing () const |
convexity-adjusted fixing | |
bool | isInArrears () const |
whether or not the coupon fixes in arrears | |
void | update () |
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 |
Date | exCouponDate () const |
returns the date that the cash flow trades exCoupon | |
virtual Real | nominal () const |
const Date & | accrualStartDate () const |
start of the accrual period | |
const Date & | accrualEndDate () const |
end of the accrual period | |
const Date & | referencePeriodStart () const |
start date of the reference period | |
const Date & | referencePeriodEnd () const |
end date of the reference period | |
Time | accrualPeriod () const |
accrual period as fraction of year | |
Date::serial_type | accrualDays () const |
accrual period in days | |
Time | accruedPeriod (const Date &) const |
accrued period as fraction of year at the given date | |
Date::serial_type | accruedDays (const Date &) const |
accrued days at the given date | |
![]() | |
bool | hasOccurred (const Date &refDate=Date(), boost::optional< bool > includeRefDate=boost::none) const |
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 | |
Event interface | |
Visitability | |
![]() | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
void | notifyObservers () |
![]() | |
Observer (const Observer &) | |
Observer & | operator= (const 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 | deepUpdate () |
Visitability | |
void | accept (AcyclicVisitor &) |
Additional Inherited Members | |
![]() | |
typedef boost::unordered_set< ext::shared_ptr< Observable > > | set_type |
typedef set_type::iterator | iterator |
![]() | |
Rate | convexityAdjustmentImpl (Rate fixing) const |
convexity adjustment for the given index fixing | |
![]() | |
ext::shared_ptr< InterestRateIndex > | index_ |
DayCounter | dayCounter_ |
Natural | fixingDays_ |
Real | gearing_ |
Spread | spread_ |
bool | isInArrears_ |
ext::shared_ptr< FloatingRateCouponPricer > | pricer_ |
![]() | |
Date | paymentDate_ |
Real | nominal_ |
Date | accrualStartDate_ |
Date | accrualEndDate_ |
Date | refPeriodStart_ |
Date | refPeriodEnd_ |
Date | exCouponDate_ |
Real | accrualPeriod_ |
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.