24#ifndef quantlib_inflation_termstructure_hpp
25#define quantlib_inflation_termstructure_hpp
27#include <ql/termstructures/yieldtermstructure.hpp>
28#include <ql/termstructures/inflation/seasonality.hpp>
103 bool extrapolate)
const;
105 bool extrapolate)
const;
124 const ext::shared_ptr<Seasonality> &
seasonality = {});
132 const ext::shared_ptr<Seasonality>&
seasonality = {});
140 const ext::shared_ptr<Seasonality> &
seasonality = {});
156 bool forceLinearInterpolation =
false,
157 bool extrapolate =
false)
const;
166 bool extrapolate =
false)
const;
184 const ext::shared_ptr<Seasonality> &
seasonality = {});
193 const ext::shared_ptr<Seasonality> &
seasonality = {});
202 const ext::shared_ptr<Seasonality> &
seasonality = {});
214 bool forceLinearInterpolation =
false,
215 bool extrapolate =
false)
const;
224 bool extrapolate =
false)
const;
243 bool indexIsInterpolated,
Interface for inflation term structures.
bool hasSeasonality() const
ext::shared_ptr< Seasonality > seasonality_
virtual Rate baseRate() const
ext::shared_ptr< Seasonality > seasonality() const
void setSeasonality(const ext::shared_ptr< Seasonality > &seasonality={})
Functions to set and get seasonality.
virtual Period observationLag() const
virtual void setBaseRate(const Rate &r)
virtual Frequency frequency() const
void checkRange(const Date &, bool extrapolate) const
virtual Date baseDate() const =0
minimum (base) date
Basic term-structure functionality.
virtual Natural settlementDays() const
the settlementDays used for reference date calculation
virtual const Date & referenceDate() const
the date at which discount = 1.0 and/or variance = 0.0
virtual Calendar calendar() const
the calendar used for reference and/or option date calculation
virtual DayCounter dayCounter() const
the day counter used for date/time conversion
Base class for year-on-year inflation term structures.
virtual Rate yoyRateImpl(Time time) const =0
to be defined in derived classes
virtual bool indexIsInterpolated() const
bool indexIsInterpolated_
Rate yoyRate(const Date &d, const Period &instObsLag=Period(-1, Days), bool forceLinearInterpolation=false, bool extrapolate=false) const
year-on-year inflation rate.
Interface for zero inflation term structures.
virtual Rate zeroRateImpl(Time t) const =0
to be defined in derived classes
Rate zeroRate(const Date &d, const Period &instObsLag=Period(-1, Days), bool forceLinearInterpolation=false, bool extrapolate=false) const
zero-coupon inflation rate.
Frequency
Frequency of events.
Real Time
continuous quantity with 1-year units
unsigned QL_INTEGER Natural
positive integer
std::pair< Date, Date > inflationPeriod(const Date &d, Frequency frequency)
utility function giving the inflation period for a given date
Time inflationYearFraction(Frequency f, bool indexIsInterpolated, const DayCounter &dayCounter, const Date &d1, const Date &d2)