Logo
Reference manual - version qle_version
Public Member Functions | List of all members
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 boost::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)
 
QL_DEPRECATED InterpolatedCPIVolatilitySurface (const std::vector< Period > &optionTenors, const std::vector< Real > &strikes, const std::vector< std::vector< Handle< Quote >>> quotes, const boost::shared_ptr< QuantLib::ZeroInflationIndex > &index, 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.