#include <qle/indexes/bmaindexwrapper.hpp>
Public Member Functions | |
BMAIndexWrapper (const boost::shared_ptr< QuantLib::BMAIndex > &bma) | |
BMAIndexWrapper (const boost::shared_ptr< QuantLib::BMAIndex > &bma, const Handle< YieldTermStructure > &h) | |
std::string | name () const override |
bool | isValidFixingDate (const Date &date) const override |
Handle< YieldTermStructure > | forwardingTermStructure () const |
Date | maturityDate (const Date &valueDate) const override |
Schedule | fixingSchedule (const Date &start, const Date &end) |
Rate | forecastFixing (const Date &fixingDate) const override |
Date | adjustedFixingDate (const Date &fixingDate) const |
Rate | pastFixing (const Date &fixingDate) const override |
boost::shared_ptr< IborIndex > | clone (const Handle< YieldTermStructure > &h) const override |
boost::shared_ptr< QuantLib::BMAIndex > | bma () const |
operator QuantLib::BMAIndex & () | |
operator QuantLib::BMAIndex * () | |
Wrapper that adapts the quantlib BMAIndex into a class inheriting from IborIndex The purpose of this is twofold: 1) we can use Market::iborIndex() to retrieve a BMA index 2) we can set up an IborCoupon using this index wrapper to approximate an AveragedBMACoupon at places where a pricer only supports an IborCoupon, e.g. for cap/floors or swaptions on BMA underlyings To make 2) work we tweak the implementations of isValidFixingDate(), maturityDate() and pastFixing() to make sure an Ibor coupon on this index class will behave gracefully.