24#ifndef quantext_yoy_inflation_model_term_structure_hpp
25#define quantext_yoy_inflation_model_term_structure_hpp
28#include <ql/termstructures/inflationtermstructure.hpp>
55 QuantLib::Date
maxDate()
const override;
56 QuantLib::Time
maxTime()
const override;
62 QuantLib::Date
baseDate()
const override;
69 void state(
const QuantLib::Array& s);
72 void move(
const QuantLib::Date& d,
const QuantLib::Array& s);
77 QuantLib::Real
yoyRate(
const QuantLib::Date& d,
const QuantLib::Period& obsLag = -1 * QuantLib::Days,
78 bool forceLinearInterpolation =
false,
bool extrapolate =
false)
const;
84 virtual std::map<QuantLib::Date, QuantLib::Real>
yoyRates(
const std::vector<QuantLib::Date>& dates,
85 const QuantLib::Period& obsLag = -1 * QuantLib::Days)
const = 0;
88 QuantLib::ext::shared_ptr<CrossAssetModel>
model_;
99 QuantLib::Real
yoyRateImpl(QuantLib::Time t)
const override;
QuantLib::Real yoyRateImpl(QuantLib::Time t) const override
This cannot be called. The implementation is set to throw an exception.
virtual void referenceDate(const QuantLib::Date &d)
Set the reference date.
virtual std::map< QuantLib::Date, QuantLib::Real > yoyRates(const std::vector< QuantLib::Date > &dates, const QuantLib::Period &obsLag=-1 *QuantLib::Days) const =0
virtual void checkState() const
QuantLib::Date baseDate() const override
const QuantLib::Date & referenceDate() const override
bool indexIsInterpolated_
void state(const QuantLib::Array &s)
Set the current state variables.
void move(const QuantLib::Date &d, const QuantLib::Array &s)
Set the current state and move the reference date to date d.
QuantLib::ext::shared_ptr< CrossAssetModel > model_
QuantLib::Date maxDate() const override
QuantLib::Date referenceDate_
QuantLib::Real yoyRate(const QuantLib::Date &d, const QuantLib::Period &obsLag=-1 *QuantLib::Days, bool forceLinearInterpolation=false, bool extrapolate=false) const
QuantLib::Time maxTime() const override
QuantLib::Time relativeTime_