### A free/open-source library for quantitative finance

KInterpolatedYoYOptionletVolatilitySurface< Interpolator1D > Class Template Reference

K-interpolated YoY optionlet volatility. More...

`#include <ql/experimental/inflation/kinterpolatedyoyoptionletvolatilitysurface.hpp>`

Inheritance diagram for KInterpolatedYoYOptionletVolatilitySurface< Interpolator1D >:
[legend]

List of all members.

## Constructor

calculate the reference date based on the global evaluation date
boost::shared_ptr < YoYCapFloorTermPriceSurface > | capFloorPrices_
boost::shared_ptr < YoYInflationCapFloorEngine > | yoyInflationCouponPricer_
boost::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 boost::shared_ptr< YoYCapFloorTermPriceSurface > &capFloorPrices, const boost::shared_ptr< YoYInflationCapFloorEngine > &pricer, const boost::shared_ptr< YoYOptionletStripper > &yoyOptionletStripper, const Real slope, const Interpolator1D &interpolator=Interpolator1D())

virtual Real | minStrike () const
| the minimum strike for which the term structure can return vols
virtual Real | maxStrike () const
| the maximum strike for which the term structure can return vols
virtual Date | maxDate () const
| the latest date for which the curve can return values
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
virtual void | performCalculations () const

## Detailed Description

### template<class Interpolator1D>
class QuantLib::KInterpolatedYoYOptionletVolatilitySurface< Interpolator1D >

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.

Bug:
  Tests currently fail.

## Member Function Documentation

Volatility volatilityImpl | ( | Time | length,
|  | Rate | strike
| ) |  | const`[protected, virtual]`

Implements the actual volatility surface calculation in derived classes e.g. bilinear interpolation. N.B. does not derive the surface.

Implements YoYOptionletVolatilitySurface.