26#include <ql/indexes/iborindex.hpp>
34 const std::map<QuantLib::Date, double>& fixingOverrides)
36 index->fixingCalendar(), index->businessDayConvention(), index->endOfMonth(),
37 index->dayCounter(), index->forwardingTermStructure(), fixingOverrides) {}
40 QuantLib::Natural settlementDays,
const QuantLib::Currency& currency,
41 const QuantLib::Calendar& fixingCalendar, QuantLib::BusinessDayConvention convention,
42 bool endOfMonth,
const QuantLib::DayCounter& dayCounter,
43 QuantLib::Handle<QuantLib::YieldTermStructure> h,
44 const std::map<QuantLib::Date, double>& fixingOverrides)
45 :
QuantLib::IborIndex(familyName, tenor, settlementDays, currency, fixingCalendar, convention, endOfMonth,
51 QuantLib::ext::shared_ptr<QuantLib::IborIndex>
52 clone(
const QuantLib::Handle<QuantLib::YieldTermStructure>& forwarding)
const override {
53 return ext::make_shared<IborIndexWithFixingOverride>(familyName(), tenor(), fixingDays(), currency(),
54 fixingCalendar(), businessDayConvention(), endOfMonth(),
59 QuantLib::Rate
pastFixing(
const QuantLib::Date& fixingDate)
const override {
62 return histFixing->second;
64 return QuantLib::IborIndex::pastFixing(fixingDate);
75 const std::map<QuantLib::Date, double>& fixingOverrides)
77 index->fixingCalendar(), index->dayCounter(),
78 index->forwardingTermStructure(), fixingOverrides) {}
81 const QuantLib::Currency& currency,
const QuantLib::Calendar& fixingCalendar,
82 const QuantLib::DayCounter& dayCounter,
83 const QuantLib::Handle<QuantLib::YieldTermStructure>& h,
84 const std::map<QuantLib::Date, double>& fixingOverrides)
85 :
QuantLib::OvernightIndex(familyName, settlementDays, currency, fixingCalendar, dayCounter, h),
88 QuantLib::ext::shared_ptr<QuantLib::IborIndex>
89 clone(
const QuantLib::Handle<QuantLib::YieldTermStructure>& forwarding)
const override {
90 return ext::make_shared<OvernightIndexWithFixingOverride>(
91 familyName(), fixingDays(), currency(), fixingCalendar(), dayCounter(), forwarding,
fixingOverrides_);
95 QuantLib::Rate
pastFixing(
const QuantLib::Date& fixingDate)
const override {
98 return histFixing->second;
100 return QuantLib::IborIndex::pastFixing(fixingDate);
wrapper for ibor index wit individiual trade level fixings
QuantLib::ext::shared_ptr< QuantLib::IborIndex > clone(const QuantLib::Handle< QuantLib::YieldTermStructure > &forwarding) const override
std::map< QuantLib::Date, double > fixingOverrides_
IborIndexWithFixingOverride(const QuantLib::ext::shared_ptr< QuantLib::IborIndex > &index, const std::map< QuantLib::Date, double > &fixingOverrides)
IborIndexWithFixingOverride(const std::string &familyName, const QuantLib::Period &tenor, QuantLib::Natural settlementDays, const QuantLib::Currency ¤cy, const QuantLib::Calendar &fixingCalendar, QuantLib::BusinessDayConvention convention, bool endOfMonth, const QuantLib::DayCounter &dayCounter, QuantLib::Handle< QuantLib::YieldTermStructure > h, const std::map< QuantLib::Date, double > &fixingOverrides)
QuantLib::Rate pastFixing(const QuantLib::Date &fixingDate) const override
QuantLib::ext::shared_ptr< QuantLib::IborIndex > clone(const QuantLib::Handle< QuantLib::YieldTermStructure > &forwarding) const override
OvernightIndexWithFixingOverride(const std::string &familyName, QuantLib::Natural settlementDays, const QuantLib::Currency ¤cy, const QuantLib::Calendar &fixingCalendar, const QuantLib::DayCounter &dayCounter, const QuantLib::Handle< QuantLib::YieldTermStructure > &h, const std::map< QuantLib::Date, double > &fixingOverrides)
OvernightIndexWithFixingOverride(const QuantLib::ext::shared_ptr< QuantLib::OvernightIndex > &index, const std::map< QuantLib::Date, double > &fixingOverrides)
std::map< QuantLib::Date, double > fixingOverrides_
QuantLib::Rate pastFixing(const QuantLib::Date &fixingDate) const override