Logo
Reference manual - version qle_version
Public Member Functions | List of all members
BMAIndexWrapper Class Reference

#include <qle/indexes/bmaindexwrapper.hpp>

+ Inheritance diagram for BMAIndexWrapper:

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< IborIndexclone (const Handle< YieldTermStructure > &h) const override
 
boost::shared_ptr< QuantLib::BMAIndex > bma () const
 
 operator QuantLib::BMAIndex & ()
 
 operator QuantLib::BMAIndex * ()
 

Detailed Description

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.