Average overnight index swap. More...
#include <qle/instruments/averageois.hpp>
Public Types | |
enum | Type { Receiver = -1 , Payer = 1 } |
Receiver (Payer) means receive (pay) fixed. | |
Public Member Functions | |
AverageOIS (Type type, Real nominal, const Schedule &fixedSchedule, Rate fixedRate, const DayCounter &fixedDayCounter, BusinessDayConvention fixedPaymentAdjustment, const Calendar &fixedPaymentCalendar, const Schedule &onSchedule, const boost::shared_ptr< OvernightIndex > &overnightIndex, BusinessDayConvention onPaymentAdjustment, const Calendar &onPaymentCalendar, Natural rateCutoff=0, Spread onSpread=0.0, Real onGearing=1.0, const DayCounter &onDayCounter=DayCounter(), const boost::shared_ptr< AverageONIndexedCouponPricer > &onCouponPricer=boost::shared_ptr< AverageONIndexedCouponPricer >(), const bool telescopicValueDates=false) | |
Arithmetic average ON leg vs. fixed leg constructor. | |
AverageOIS (Type type, std::vector< Real > nominals, const Schedule &fixedSchedule, std::vector< Rate > fixedRates, const DayCounter &fixedDayCounter, BusinessDayConvention fixedPaymentAdjustment, const Calendar &fixedPaymentCalendar, const Schedule &onSchedule, const boost::shared_ptr< OvernightIndex > &overnightIndex, BusinessDayConvention onPaymentAdjustment, const Calendar &onPaymentCalendar, Natural rateCutoff=0, std::vector< Spread > onSpreads=std::vector< Spread >(1, 0.0), std::vector< Real > onGearings=std::vector< Real >(1, 1.0), const DayCounter &onDayCounter=DayCounter(), const boost::shared_ptr< AverageONIndexedCouponPricer > &onCouponPricer=boost::shared_ptr< AverageONIndexedCouponPricer >(), const bool telescopicValueDates=false) | |
Inspectors | |
Type | type () const |
Real | nominal () const |
const std::vector< Real > & | nominals () const |
Rate | fixedRate () const |
const std::vector< Rate > & | fixedRates () const |
const DayCounter & | fixedDayCounter () |
const boost::shared_ptr< OvernightIndex > & | overnightIndex () |
Natural | rateCutoff () |
Spread | onSpread () const |
const std::vector< Spread > & | onSpreads () const |
Real | onGearing () const |
const std::vector< Real > & | onGearings () const |
const DayCounter & | onDayCounter () |
const Leg & | fixedLeg () const |
const Leg & | overnightLeg () const |
Results | |
Real | fixedLegBPS () const |
Real | fixedLegNPV () const |
Real | fairRate () const |
Real | overnightLegBPS () const |
Real | overnightLegNPV () const |
Spread | fairSpread () const |
void | setONIndexedCouponPricer (const boost::shared_ptr< AverageONIndexedCouponPricer > &onCouponPricer) |
Average overnight index swap.
Swap with first leg fixed and the second leg being an arithmetic average overnight index.
\ingroup instruments
AverageOIS | ( | Type | type, |
std::vector< Real > | nominals, | ||
const Schedule & | fixedSchedule, | ||
std::vector< Rate > | fixedRates, | ||
const DayCounter & | fixedDayCounter, | ||
BusinessDayConvention | fixedPaymentAdjustment, | ||
const Calendar & | fixedPaymentCalendar, | ||
const Schedule & | onSchedule, | ||
const boost::shared_ptr< OvernightIndex > & | overnightIndex, | ||
BusinessDayConvention | onPaymentAdjustment, | ||
const Calendar & | onPaymentCalendar, | ||
Natural | rateCutoff = 0 , |
||
std::vector< Spread > | onSpreads = std::vector< Spread >(1, 0.0) , |
||
std::vector< Real > | onGearings = std::vector< Real >(1, 1.0) , |
||
const DayCounter & | onDayCounter = DayCounter() , |
||
const boost::shared_ptr< AverageONIndexedCouponPricer > & | onCouponPricer = boost::shared_ptr< AverageONIndexedCouponPricer >() , |
||
const bool | telescopicValueDates = false |
||
) |
Arithmetic average ON leg vs. fixed leg constructor, allowing for varying nominals, fixed rates, ON leg spreads and ON leg gearings.