Interpolated zero inflation volatility structure. More...
#include <qle/termstructures/interpolatedcpivolatilitysurface.hpp>
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) | |
QL_DEPRECATED | 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 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 More... | |
QuantLib::Real | maxStrike () const override |
the maximum strike for which the term structure can return vols More... | |
QuantLib::Date | maxDate () const override |
maximum date for which the term structure can return vols More... | |
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() More... | |
QuantLib::Date | baseDate () const override |
base date will be in the past More... | |
QuantLib::VolatilityType | volatilityType () const |
Returns the volatility type. More... | |
double | displacement () const |
Returns the displacement for lognormal volatilities. More... | |
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 |
Inspectors | |
std::vector< QuantLib::Period > | optionTenors_ |
std::vector< QuantLib::Time > | optionTimes_ |
std::vector< QuantLib::Rate > | strikes_ |
std::vector< std::vector< Handle< Quote > > > | quotes_ |
QuantLib::ext::shared_ptr< QuantLib::ZeroInflationIndex > | index_ |
Matrix | volData_ |
QuantLib::Interpolation2D | vols_ |
Interpolator2D | interpolator2d_ |
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() More... | |
Protected Attributes inherited from CPIVolatilitySurface | |
QuantLib::VolatilityType | volType_ |
double | displacement_ |
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.
Definition at line 44 of file interpolatedcpivolatilitysurface.hpp.
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 |
||
) |
Definition at line 115 of file interpolatedcpivolatilitysurface.hpp.
QL_DEPRECATED_DISABLE_WARNING 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 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 |
||
) |
Definition at line 135 of file interpolatedcpivolatilitysurface.hpp.
|
override |
Definition at line 152 of file interpolatedcpivolatilitysurface.hpp.
|
override |
Definition at line 72 of file interpolatedcpivolatilitysurface.hpp.
|
override |
the minimum strike for which the term structure can return vols
Definition at line 171 of file interpolatedcpivolatilitysurface.hpp.
|
override |
the maximum strike for which the term structure can return vols
Definition at line 175 of file interpolatedcpivolatilitysurface.hpp.
|
override |
maximum date for which the term structure can return vols
Definition at line 179 of file interpolatedcpivolatilitysurface.hpp.
const std::vector< QuantLib::Real > & strikes | ( | ) |
Definition at line 90 of file interpolatedcpivolatilitysurface.hpp.
const std::vector< QuantLib::Period > & optionTenors | ( | ) |
Definition at line 91 of file interpolatedcpivolatilitysurface.hpp.
const std::vector< std::vector< Handle< Quote > > > & quotes | ( | ) |
Definition at line 92 of file interpolatedcpivolatilitysurface.hpp.
const QuantLib::Matrix & volData | ( | ) |
Definition at line 93 of file interpolatedcpivolatilitysurface.hpp.
|
override |
Definition at line 185 of file interpolatedcpivolatilitysurface.hpp.
|
overridevirtual |
Implements CPIVolatilitySurface.
Definition at line 192 of file interpolatedcpivolatilitysurface.hpp.
|
mutableprivate |
Definition at line 103 of file interpolatedcpivolatilitysurface.hpp.
|
mutableprivate |
Definition at line 104 of file interpolatedcpivolatilitysurface.hpp.
|
mutableprivate |
Definition at line 105 of file interpolatedcpivolatilitysurface.hpp.
|
mutableprivate |
Definition at line 106 of file interpolatedcpivolatilitysurface.hpp.
|
private |
Definition at line 107 of file interpolatedcpivolatilitysurface.hpp.
|
mutableprivate |
Definition at line 108 of file interpolatedcpivolatilitysurface.hpp.
|
mutableprivate |
Definition at line 109 of file interpolatedcpivolatilitysurface.hpp.
|
private |
Definition at line 110 of file interpolatedcpivolatilitysurface.hpp.