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

Public Types | Public Member Functions | Friends
PiecewiseYoYOptionletVolatilityCurve< Interpolator, Bootstrap, Traits > Class Template Reference

Piecewise year-on-year inflation volatility term structure. More...

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

Inheritance diagram for PiecewiseYoYOptionletVolatilityCurve< Interpolator, Bootstrap, Traits >:
[legend]

List of all members.

## Public Types

typedef Traits | traits_type
typedef Interpolator | interpolator_type

## Public Member Functions

PiecewiseYoYOptionletVolatilityCurve (Natural settlementDays, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc, const Period &lag, Frequency frequency, bool indexIsInterpolated, Rate minStrike, Rate maxStrike, Volatility baseYoYVolatility, const std::vector< boost::shared_ptr< typename Traits::helper > > &instruments, Real accuracy=1.0e-12, const Interpolator &interpolator=Interpolator())

Inflation interface
Date | baseDate () const
Date | maxDate () const
| the latest date for which the curve can return values
Inspectors
const std::vector< Time > & | times () const
const std::vector< Date > & | dates () const
const std::vector< Real > & | data () const
std::vector< std::pair< Date, Real > > | nodes () const
Observer interface
void | update ()

## Friends

class | Bootstrap< this_curve >
class | BootstrapError< this_curve >

## Detailed Description

### template<class Interpolator, template< class > class Bootstrap = IterativeBootstrap, class Traits = YoYInflationVolatilityTraits>
class QuantLib::PiecewiseYoYOptionletVolatilityCurve< Interpolator, Bootstrap, Traits >

Piecewise year-on-year inflation volatility term structure.

We use a flat smile for bootstrapping at constant K. Happily most of the work has already been done in the bootstrapping classes. We only need to add special attention for the start where there is usually no data, only assumptions.

## Member Function Documentation

void update | ( |  | ) | `[virtual]`

This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.

Reimplemented from LazyObject.