24#ifndef quantlib_arithmetic_average_ois_hpp
25#define quantlib_arithmetic_average_ois_hpp
45 ext::shared_ptr<OvernightIndex> overnightIndex,
48 Real meanReversionSpeed = 0.03,
49 Real volatility = 0.00,
50 bool byApprox =
false);
52 std::vector<Real> nominals,
56 ext::shared_ptr<OvernightIndex> overnightIndex,
59 Real meanReversionSpeed = 0.03,
60 Real volatility = 0.00,
61 bool byApprox =
false);
66 QL_REQUIRE(nominals_.size()==1,
"varying nominals");
69 std::vector<Real>
nominals()
const {
return nominals_; }
78 const ext::shared_ptr<OvernightIndex>&
overnightIndex() {
return overnightIndex_; }
87 Real fixedLegBPS()
const;
88 Real fixedLegNPV()
const;
89 Real fairRate()
const;
91 Real overnightLegBPS()
const;
92 Real overnightLegNPV()
const;
ext::shared_ptr< OvernightIndex > overnightIndex_
const DayCounter & fixedDayCount()
std::vector< Real > nominals() const
Frequency fixedLegPaymentFrequency_
const Leg & overnightLeg() const
Frequency overnightLegPaymentFrequency()
const ext::shared_ptr< OvernightIndex > & overnightIndex()
Frequency fixedLegPaymentFrequency()
const Leg & fixedLeg() const
Frequency overnightLegPaymentFrequency_
std::vector< Real > nominals_
#define QL_REQUIRE(condition, message)
throw an error if the given pre-condition is not verified
Frequency
Frequency of events.
Real Spread
spreads on interest rates
std::vector< ext::shared_ptr< CashFlow > > Leg
Sequence of cash-flows.