24#ifndef quantlib_arithmetic_average_ois_hpp
25#define quantlib_arithmetic_average_ois_hpp
27#include <ql/instruments/swap.hpp>
28#include <ql/time/daycounter.hpp>
44 const Schedule& overnightLegSchedule,
46 Real meanReversionSpeed = 0.03,
47 Real volatility = 0.00,
48 bool byApprox =
false);
55 const Schedule& overnightLegSchedule,
57 Real meanReversionSpeed = 0.03,
58 Real volatility = 0.00,
59 bool byApprox =
false);
92 const Schedule& overnightLegSchedule);
115 QL_REQUIRE(
nominals_.size()==1,
"varying nominals");
Arithemtic Average OIS: fix vs arithmetic average of overnight rate.
ext::shared_ptr< OvernightIndex > overnightIndex_
const DayCounter & fixedDayCount()
std::vector< Real > nominals() const
Frequency fixedLegPaymentFrequency_
Spread fairSpread() const
const Leg & overnightLeg() const
Frequency overnightLegPaymentFrequency()
const ext::shared_ptr< OvernightIndex > & overnightIndex()
Frequency fixedLegPaymentFrequency()
const Leg & fixedLeg() const
void initialize(const Schedule &fixedLegSchedule, const Schedule &overnightLegSchedule)
Real overnightLegBPS() const
Frequency overnightLegPaymentFrequency_
Real overnightLegNPV() const
std::vector< Real > nominals_
Frequency
Frequency of events.
Real Spread
spreads on interest rates
std::vector< ext::shared_ptr< CashFlow > > Leg
Sequence of cash-flows.