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

Average overnight index swap. More...

#include <qle/instruments/averageois.hpp>

+ Inheritance diagram for AverageOIS:

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)
 

Detailed Description

Average overnight index swap.

Swap with first leg fixed and the second leg being an arithmetic average overnight index.

    \ingroup instruments

Constructor & Destructor Documentation

◆ AverageOIS()

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.