Logo
Reference manual - version qle_version
CPIVolatilitySurface Class Referenceabstract

#include <qle/termstructures/inflation/cpivolatilitystructure.hpp>

Inheritance diagram for CPIVolatilitySurface:

Public Member Functions

 CPIVolatilitySurface (QuantLib::Natural settlementDays, const QuantLib::Calendar &, QuantLib::BusinessDayConvention bdc, const QuantLib::DayCounter &dc, const QuantLib::Period &observationLag, QuantLib::Frequency frequency, bool indexIsInterpolated, const QuantLib::Date &capFloorStartDate=QuantLib::Date(), QuantLib::VolatilityType volType=QuantLib::ShiftedLognormal, double displacement=0.0)
QuantLib::Date optionDateFromTenor (const QuantLib::Period &tenor) const override
 Computes the expiry date from the capFloorStartDate().
QuantLib::Date baseDate () const override
 base date will be in the past
QuantLib::VolatilityType volatilityType () const
 Returns the volatility type.
double displacement () const
 Returns the displacement for lognormal volatilities.
bool isLogNormal () const
QuantLib::Volatility volatility (const QuantLib::Date &maturityDate, QuantLib::Rate strike, const QuantLib::Period &obsLag=QuantLib::Period(-1, QuantLib::Days), bool extrapolate=false) const override
virtual QuantLib::Real atmStrike (const QuantLib::Date &maturity, const QuantLib::Period &obsLag=QuantLib::Period(-1, QuantLib::Days)) const =0
QuantLib::Date capFloorStartDate () const

Protected Member Functions

virtual double fixingTime (const QuantLib::Date &maturityDate) const
 Computes the expiry time from the capFloorStartDate().

Protected Attributes

QuantLib::VolatilityType volType_
double displacement_

Detailed Description

Abstract interface. CPI volatility is always with respect to some base date of the quoted Zero Coupon Caps and Floor. Also deal with lagged observations of an index with a (usually different) availability lag.

Constructor & Destructor Documentation

◆ CPIVolatilitySurface()

CPIVolatilitySurface ( QuantLib::Natural settlementDays,
const QuantLib::Calendar & ,
QuantLib::BusinessDayConvention bdc,
const QuantLib::DayCounter & dc,
const QuantLib::Period & observationLag,
QuantLib::Frequency frequency,
bool indexIsInterpolated,
const QuantLib::Date & capFloorStartDate = QuantLib::Date(),
QuantLib::VolatilityType volType = QuantLib::ShiftedLognormal,
double displacement = 0.0 )

the capfloor startdate is the start date of the quoted market instruments, usually its today, but it could be in the future (e.g. AUCPI)