Logo
Reference manual - version qle_version
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
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)