AverageBMACoupon Class Reference

Average BMA coupon. More...

#include <ql/cashflows/averagebmacoupon.hpp>

Inheritance diagram for AverageBMACoupon:

Public Member Functions

 AverageBMACoupon (const Date &paymentDate, Real nominal, const Date &startDate, const Date &endDate, const boost::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< DatefixingDates () const
 fixing dates of the rates to be averaged
 
Rate indexFixing () const
 not applicable here; use indexFixings() instead
 
std::vector< RateindexFixings () const
 fixings of the underlying index to be averaged
 
Rate convexityAdjustment () const
 not applicable here
 
Visitability
void accept (AcyclicVisitor &)
 
- Public Member Functions inherited from FloatingRateCoupon
 FloatingRateCoupon (const Date &paymentDate, Real nominal, const Date &startDate, const Date &endDate, Natural fixingDays, const boost::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)
 
void setPricer (const boost::shared_ptr< FloatingRateCouponPricer > &)
 
boost::shared_ptr
< FloatingRateCouponPricer
pricer () const
 
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 boost::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 ()
 
- 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())
 
Date date () const
 
Real nominal () const
 
const DateaccrualStartDate () const
 start of the accrual period
 
const DateaccrualEndDate () const
 end of the accrual period
 
const DatereferencePeriodStart () const
 start date of the reference period
 
const DatereferencePeriodEnd () const
 end date of the reference period
 
Time accrualPeriod () const
 accrual period as fraction of year
 
BigInteger accrualDays () const
 accrual period in days
 
Time accruedPeriod (const Date &) const
 accrued period as fraction of year at the given date
 
BigInteger 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...
 
Event interface
Visitability
- Public Member Functions inherited from Observable
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
void notifyObservers ()
 
- Public Member Functions inherited from Observer
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
std::pair< std::set
< boost::shared_ptr
< Observable > >::iterator,
bool > 
registerWith (const boost::shared_ptr< Observable > &)
 
Size unregisterWith (const boost::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 

Additional Inherited Members

- Protected Member Functions inherited from FloatingRateCoupon
Rate convexityAdjustmentImpl (Rate fixing) const
 convexity adjustment for the given index fixing
 
- Protected Attributes inherited from FloatingRateCoupon
boost::shared_ptr
< InterestRateIndex
index_
 
DayCounter dayCounter_
 
Natural fixingDays_
 
Real gearing_
 
Spread spread_
 
bool isInArrears_
 
boost::shared_ptr
< FloatingRateCouponPricer
pricer_
 
- Protected Attributes inherited from Coupon
Date paymentDate_
 
Real nominal_
 
Date accrualStartDate_
 
Date accrualEndDate_
 
Date refPeriodStart_
 
Date refPeriodEnd_
 

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.