Average overnight index swap. More...
#include <qle/instruments/averageois.hpp>
Public Types | |
enum | Type { Receiver = -1 , Payer = 1 } |
Receiver (Payer) means receive (pay) fixed. More... | |
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. More... | |
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 | |
Type | type_ |
std::vector< Real > | nominals_ |
std::vector< Rate > | fixedRates_ |
DayCounter | fixedDayCounter_ |
BusinessDayConvention | fixedPaymentAdjustment_ |
Calendar | fixedPaymentCalendar_ |
QuantLib::ext::shared_ptr< OvernightIndex > | overnightIndex_ |
BusinessDayConvention | onPaymentAdjustment_ |
Calendar | onPaymentCalendar_ |
Natural | rateCutoff_ |
std::vector< Spread > | onSpreads_ |
std::vector< Real > | onGearings_ |
DayCounter | onDayCounter_ |
QuantLib::ext::shared_ptr< AverageONIndexedCouponPricer > | onCouponPricer_ |
bool | telescopicValueDates_ |
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) |
void | initialize (const Schedule &fixedLegSchedule, const Schedule &onLegSchedule) |
Average overnight index swap.
Swap with first leg fixed and the second leg being an arithmetic average overnight index.
\ingroup instruments
Definition at line 46 of file averageois.hpp.
enum Type |
Receiver (Payer) means receive (pay) fixed.
Enumerator | |
---|---|
Receiver | |
Payer |
Definition at line 49 of file averageois.hpp.
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.
Definition at line 26 of file averageois.cpp.
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.
Definition at line 43 of file averageois.cpp.
Type type | ( | ) | const |
Definition at line 78 of file averageois.hpp.
Real nominal | ( | ) | const |
Definition at line 101 of file averageois.cpp.
const std::vector< Real > & nominals | ( | ) | const |
Definition at line 81 of file averageois.hpp.
Rate fixedRate | ( | ) | const |
Definition at line 106 of file averageois.cpp.
const std::vector< Rate > & fixedRates | ( | ) | const |
Definition at line 84 of file averageois.hpp.
const DayCounter & fixedDayCounter | ( | ) |
Definition at line 85 of file averageois.hpp.
const QuantLib::ext::shared_ptr< OvernightIndex > & overnightIndex | ( | ) |
Definition at line 87 of file averageois.hpp.
Natural rateCutoff | ( | ) |
Definition at line 88 of file averageois.hpp.
Spread onSpread | ( | ) | const |
Definition at line 111 of file averageois.cpp.
const std::vector< Spread > & onSpreads | ( | ) | const |
Definition at line 90 of file averageois.hpp.
Real onGearing | ( | ) | const |
Definition at line 116 of file averageois.cpp.
const std::vector< Real > & onGearings | ( | ) | const |
Definition at line 92 of file averageois.hpp.
const DayCounter & onDayCounter | ( | ) |
Definition at line 93 of file averageois.hpp.
const Leg & fixedLeg | ( | ) | const |
Definition at line 95 of file averageois.hpp.
const Leg & overnightLeg | ( | ) | const |
Definition at line 96 of file averageois.hpp.
Real fixedLegBPS | ( | ) | const |
Definition at line 121 of file averageois.cpp.
Real fixedLegNPV | ( | ) | const |
Definition at line 127 of file averageois.cpp.
Real fairRate | ( | ) | const |
Definition at line 133 of file averageois.cpp.
Real overnightLegBPS | ( | ) | const |
Definition at line 139 of file averageois.cpp.
Real overnightLegNPV | ( | ) | const |
Definition at line 145 of file averageois.cpp.
Spread fairSpread | ( | ) | const |
Definition at line 151 of file averageois.cpp.
void setONIndexedCouponPricer | ( | const QuantLib::ext::shared_ptr< AverageONIndexedCouponPricer > & | onCouponPricer | ) |
Definition at line 158 of file averageois.cpp.
|
private |
Definition at line 61 of file averageois.cpp.
|
private |
Definition at line 115 of file averageois.hpp.
|
private |
Definition at line 116 of file averageois.hpp.
|
private |
Definition at line 118 of file averageois.hpp.
|
private |
Definition at line 119 of file averageois.hpp.
|
private |
Definition at line 120 of file averageois.hpp.
|
private |
Definition at line 121 of file averageois.hpp.
|
private |
Definition at line 123 of file averageois.hpp.
|
private |
Definition at line 124 of file averageois.hpp.
|
private |
Definition at line 125 of file averageois.hpp.
|
private |
Definition at line 126 of file averageois.hpp.
|
private |
Definition at line 127 of file averageois.hpp.
|
private |
Definition at line 128 of file averageois.hpp.
|
private |
Definition at line 129 of file averageois.hpp.
|
private |
Definition at line 130 of file averageois.hpp.
|
private |
Definition at line 131 of file averageois.hpp.