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 QuantLib::ext::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 QuantLib::ext::shared_ptr< AverageONIndexedCouponPricer > &onCouponPricer=QuantLib::ext::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 QuantLib::ext::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 QuantLib::ext::shared_ptr< AverageONIndexedCouponPricer > &onCouponPricer=QuantLib::ext::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 QuantLib::ext::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 QuantLib::ext::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 QuantLib::ext::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 QuantLib::ext::shared_ptr< AverageONIndexedCouponPricer > & | onCouponPricer = QuantLib::ext::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.