25#include <ql/termstructures/volatility/inflation/cpivolatilitystructure.hpp>
26#include <ql/termstructures/volatility/volatilitytype.hpp>
41 QuantLib::BusinessDayConvention bdc,
const QuantLib::DayCounter& dc,
42 const QuantLib::Period& observationLag, QuantLib::Frequency frequency,
43 bool indexIsInterpolated,
const QuantLib::Date&
capFloorStartDate = QuantLib::Date(),
44 QuantLib::VolatilityType volType = QuantLib::ShiftedLognormal,
double displacement = 0.0);
50 QuantLib::Date
baseDate()
const override;
59 using QuantLib::CPIVolatilitySurface::volatility;
60 QuantLib::Volatility
volatility(
const QuantLib::Date& maturityDate, QuantLib::Rate strike,
61 const QuantLib::Period& obsLag = QuantLib::Period(-1, QuantLib::Days),
62 bool extrapolate =
false)
const override;
64 virtual QuantLib::Real
atmStrike(
const QuantLib::Date& maturity,
65 const QuantLib::Period& obsLag = QuantLib::Period(-1, QuantLib::Days))
const = 0;
74 virtual double fixingTime(
const QuantLib::Date& maturityDate)
const;
QuantLib::Date capFloorStartDate_
QuantLib::VolatilityType volatilityType() const
Returns the volatility type.
double displacement() const
Returns the displacement for lognormal volatilities.
QuantLib::VolatilityType volType_
QuantLib::Date baseDate() const override
base date will be in the past
virtual QuantLib::Real atmStrike(const QuantLib::Date &maturity, const QuantLib::Period &obsLag=QuantLib::Period(-1, QuantLib::Days)) const =0
QuantLib::Date capFloorStartDate() const
virtual double fixingTime(const QuantLib::Date &maturityDate) const
Computes the expiry time from the capFloorStartDate()
QuantLib::Volatility volatility(const QuantLib::Date &maturityDate, QuantLib::Rate strike, const QuantLib::Period &obsLag=QuantLib::Period(-1, QuantLib::Days), bool extrapolate=false) const override
QuantLib::Date optionDateFromTenor(const QuantLib::Period &tenor) const override
Computes the expiry date from the capFloorStartDate()