Logo
Reference manual - version qle_version
Classes | Public Member Functions | List of all members
StrippedCPIVolatilitySurface< Interpolator2D > Class Template Reference

Stripped zero inflation volatility structure. More...

#include <qle/termstructures/strippedcpivolatilitystructure.hpp>

+ Inheritance diagram for StrippedCPIVolatilitySurface< Interpolator2D >:

Public Member Functions

QL_DEPRECATED StrippedCPIVolatilitySurface (PriceQuotePreference type, const QuantLib::Handle< QuantLib::CPICapFloorTermPriceSurface > &priceSurface, const boost::shared_ptr< QuantLib::ZeroInflationIndex > &zeroIndex, const boost::shared_ptr< QuantExt::CPICapFloorEngine > &engine, const QuantLib::Date &capFloorStartDate=Date(), const QuantLib::Real &upperVolBound=StrippedCPIVolSurfaceDefaultValues::upperVolBound, const QuantLib::Real &lowerVolBound=StrippedCPIVolSurfaceDefaultValues::lowerVolBound, const QuantLib::Real &solverTolerance=StrippedCPIVolSurfaceDefaultValues::solverTolerance, const Interpolator2D &interpolator2d=Interpolator2D(), const QuantLib::VolatilityType &volType=QuantLib::ShiftedLognormal, const double displacement=0.0)
 
 StrippedCPIVolatilitySurface (PriceQuotePreference type, const QuantLib::Handle< QuantLib::CPICapFloorTermPriceSurface > &priceSurface, const boost::shared_ptr< QuantLib::ZeroInflationIndex > &zeroIndex, const bool quotedPricesUseInterpolatedCPIFixings, const boost::shared_ptr< QuantExt::CPICapFloorEngine > &engine, const QuantLib::Date &capFloorStartDate=Date(), const QuantLib::Real &upperVolBound=StrippedCPIVolSurfaceDefaultValues::upperVolBound, const QuantLib::Real &lowerVolBound=StrippedCPIVolSurfaceDefaultValues::lowerVolBound, const QuantLib::Real &solverTolerance=StrippedCPIVolSurfaceDefaultValues::solverTolerance, const Interpolator2D &interpolator2d=Interpolator2D(), const QuantLib::VolatilityType &volType=QuantLib::ShiftedLognormal, const double displacement=0.0)
 
LazyObject interface
void performCalculations () const
 
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 > & maturities ()
 
const QuantLib::Matrix & volData ()
 
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::StrippedCPIVolatilitySurface< Interpolator2D >

Stripped zero inflation volatility structure.

The surface provides implied CPI Black volatilities for the union of strikes that occur in the underlying cap and floor price surface.

The type argument determines which kind of price quotes are used with priority when there is an overlap, i.e. strikes for which we have both cap and floor quotes: If type is Cap: Use cap quotes where available, floor quotes otherwise If type is Floor: Use floor quotes where available, cap quotes otherwise If type is CapFloor: In case of overlap, use floor quotes up to the ATM strike, cap quotes for strikes beyond ATM