AverageBMACoupon Class Reference

Average BMA coupon. More...

`#include <ql/cashflows/averagebmacoupon.hpp>`

Inheritance diagram for AverageBMACoupon:
[legend]

## 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
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(), 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
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
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
Public Member Functions inherited from CashFlow
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
Public Member Functions inherited from Observable
| Observable (const Observable &)
Observable & | operator= (const Observable &)
void | notifyObservers ()
Public Member Functions inherited from Observer
| 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

Public Types inherited from Observer
typedef boost::unordered_set< ext::shared_ptr< Observable > > | set_type
typedef set_type::iterator | iterator
Protected Member Functions inherited from FloatingRateCoupon
Rate | convexityAdjustmentImpl (Rate fixing) const
| convexity adjustment for the given index fixing
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_
Protected Attributes inherited from Coupon
Date | paymentDate_
Real | nominal_
Date | accrualStartDate_
Date | accrualEndDate_
Date | refPeriodStart_
Date | refPeriodEnd_
Date | exCouponDate_
Real | accrualPeriod_

## Detailed Description

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.