Logo
Reference manual - version qle_version
InterpolatedCPIVolatilitySurface< Interpolator2D > Class Template Reference

Interpolated zero inflation volatility structure. More...

#include <qle/termstructures/interpolatedcpivolatilitysurface.hpp>

Inheritance diagram for InterpolatedCPIVolatilitySurface< Interpolator2D >:

Public Member Functions

 InterpolatedCPIVolatilitySurface (const std::vector< Period > &optionTenors, const std::vector< Real > &strikes, const std::vector< std::vector< Handle< Quote > > > quotes, const QuantLib::ext::shared_ptr< QuantLib::ZeroInflationIndex > &index, const bool quotedInstrumentsAreInterpolated, const Natural settlementDays, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc, const Period &observationLag, const Date &capFloorStartDate=Date(), const Interpolator2D &interpolator2d=Interpolator2D(), const QuantLib::VolatilityType volType=QuantLib::ShiftedLognormal, const double displacement=0.0)
LazyObject interface
void performCalculations () const override
void update () override
Limits
QuantLib::Real minStrike () const override
 the minimum strike for which the term structure can return vols
QuantLib::Real maxStrike () const override
 the maximum strike for which the term structure can return vols
QuantLib::Date maxDate () const override
 maximum date for which the term structure can return vols
Public Member Functions inherited from 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)
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
QuantLib::Date capFloorStartDate () const

Inspectors

const std::vector< QuantLib::Real > & strikes ()
const std::vector< QuantLib::Period > & optionTenors ()
const std::vector< std::vector< Handle< Quote > > > & quotes ()
const QuantLib::Matrix & volData ()
QuantLib::Volatility volatilityImpl (QuantLib::Time length, QuantLib::Rate strike) const override
QuantLib::Real atmStrike (const QuantLib::Date &maturity, const QuantLib::Period &obsLag=QuantLib::Period(-1, QuantLib::Days)) const override

Additional Inherited Members

Protected Member Functions inherited from CPIVolatilitySurface
virtual double fixingTime (const QuantLib::Date &maturityDate) const
 Computes the expiry time from the capFloorStartDate().
Protected Attributes inherited from CPIVolatilitySurface
QuantLib::VolatilityType volType_
double displacement_

Detailed Description

template<class Interpolator2D>
class QuantExt::InterpolatedCPIVolatilitySurface< Interpolator2D >

Interpolated zero inflation volatility structure.

The surface provides interpolated CPI Black volatilities. Volatility data is passed in as a vector of vector of quote Handles. When performCalculations is called, current quote values are copied to a matrix and the interpolator is updated.

Member Function Documentation

◆ atmStrike()

template<class Interpolator2D>
QuantLib::Real atmStrike ( const QuantLib::Date & maturity,
const QuantLib::Period & obsLag = QuantLib::Period(-1, QuantLib::Days) ) const
overridevirtual

Implements CPIVolatilitySurface.