K-interpolated YoY optionlet volatility. More...
#include <qle/termstructures/kinterpolatedyoyoptionletvolatilitysurface.hpp>
Constructor | |
calculate the reference date based on the global evaluation date | |
ext::shared_ptr< YoYCapFloorTermPriceSurface > | capFloorPrices_ |
ext::shared_ptr< QuantLib::YoYInflationCapFloorEngine > | yoyInflationCouponPricer_ |
ext::shared_ptr< YoYOptionletStripper > | yoyOptionletStripper_ |
Interpolator1D | factory1D_ |
Real | slope_ |
bool | lastDateisSet_ |
Date | lastDate_ |
Interpolation | tempKinterpolation_ |
std::pair< std::vector< Rate >, std::vector< Volatility > > | slice_ |
KInterpolatedYoYOptionletVolatilitySurface (const Natural settlementDays, const Calendar &, const BusinessDayConvention bdc, const DayCounter &dc, const Period &lag, const ext::shared_ptr< YoYCapFloorTermPriceSurface > &capFloorPrices, const ext::shared_ptr< QuantLib::YoYInflationCapFloorEngine > &pricer, const ext::shared_ptr< YoYOptionletStripper > &yoyOptionletStripper, const Real slope, const Interpolator1D &interpolator=Interpolator1D(), VolatilityType volType=ShiftedLognormal, Real displacement=0.0) | |
virtual Real | minStrike () const override |
virtual Real | maxStrike () const override |
virtual Date | maxDate () const override |
std::pair< std::vector< Rate >, std::vector< Volatility > > | Dslice (const Date &d) const |
virtual Volatility | volatilityImpl (const Date &d, Rate strike) const |
virtual Volatility | volatilityImpl (Time length, Rate strike) const override |
virtual void | performCalculations () const |
K-interpolated YoY optionlet volatility.
The stripper provides curves in the T direction along each K. We don't know whether this is interpolating or fitting in the T direction. Our K direction interpolations are not model fitting.
An alternative design would be a FittedYoYOptionletVolatilitySurface taking a model, e.g. SABR in the interest rate world. This could use the same stripping in the T direction along each K.