QuantLib: InterpolatedYoYOptionletVolatilityCurve< Interpolator1D > Class Template Reference

A free/open-source library for quantitative finance Reference manual - version 1.6

- Main Page
- Related Pages
- Modules
- Classes
- Examples

- Class List
- Class Index
- Class Hierarchy
- Class Members

Protected Member Functions | Protected Attributes | List of all members
InterpolatedYoYOptionletVolatilityCurve< Interpolator1D > Class Template Reference

Interpolated flat smile surface. More...

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

Inheritance diagram for InterpolatedYoYOptionletVolatilityCurve< Interpolator1D >:
[legend]

## Public Member Functions
Constructor
| InterpolatedYoYOptionletVolatilityCurve (Natural settlementDays, const Calendar &, BusinessDayConvention bdc, const DayCounter &dc, const Period &lag, Frequency frequency, bool indexIsInterpolated, const std::vector< Date > &d, const std::vector< Volatility > &v, Rate minStrike, Rate maxStrike, const Interpolator1D &interpolator=Interpolator1D())
| calculate the reference date based on the global evaluation date More...
Limits
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
Bootstrap interface
virtual const std::vector< Time > & | times () const
virtual const std::vector< Date > & | dates () const
virtual const std::vector< Real > & | data () const
virtual std::vector< std::pair< Date, Real > > | nodes () const
Public Member Functions inherited from YoYOptionletVolatilitySurface
virtual Volatility | baseLevel () const
| YoYOptionletVolatilitySurface (Natural settlementDays, const Calendar &, BusinessDayConvention bdc, const DayCounter &dc, const Period &observationLag, Frequency frequency, bool indexIsInterpolated)
virtual | ~YoYOptionletVolatilitySurface ()
Volatility | volatility (const Date &maturityDate, Rate strike, const Period &obsLag=Period(-1, Days), bool extrapolate=false) const
Volatility | volatility (const Period &optionTenor, Rate strike, const Period &obsLag=Period(-1, Days), bool extrapolate=false) const
| returns the volatility for a given option tenor and strike rate
virtual Volatility | totalVariance (const Date &exerciseDate, Rate strike, const Period &obsLag=Period(-1, Days), bool extrapolate=false) const
| Returns the total integrated variance for a given exercise date and strike rate. More...
virtual Volatility | totalVariance (const Period &optionTenor, Rate strike, const Period &obsLag=Period(-1, Days), bool extrapolate=false) const
| returns the total integrated variance for a given option tenor and strike rate
virtual Period | observationLag () const
virtual Frequency | frequency () const
virtual bool | indexIsInterpolated () const
virtual Date | baseDate () const
virtual Time | timeFromBase (const Date &date, const Period &obsLag=Period(-1, Days)) const
| base date will be in the past because of observation lag
Public Member Functions inherited from VolatilityTermStructure
virtual BusinessDayConvention | businessDayConvention () const
| the business day convention used in tenor to date conversion
Date | optionDateFromTenor (const Period &) const
| period/date conversion
| VolatilityTermStructure (BusinessDayConvention bdc, const DayCounter &dc=DayCounter())
| VolatilityTermStructure (const Date &referenceDate, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc=DayCounter())
| initialize with a fixed reference date
| VolatilityTermStructure (Natural settlementDays, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc=DayCounter())
| calculate the reference date based on the global evaluation date
Public Member Functions inherited from TermStructure
| TermStructure (const DayCounter &dc=DayCounter())
| default constructor More...
| TermStructure (const Date &referenceDate, const Calendar &calendar=Calendar(), const DayCounter &dc=DayCounter())
| initialize with a fixed reference date
| TermStructure (Natural settlementDays, const Calendar &, const DayCounter &dc=DayCounter())
| calculate the reference date based on the global evaluation date
virtual DayCounter | dayCounter () const
| the day counter used for date/time conversion
Time | timeFromReference (const Date &date) const
| date/time conversion
virtual Time | maxTime () const
| the latest time for which the curve can return values
virtual const Date & | referenceDate () const
| the date at which discount = 1.0 and/or variance = 0.0
virtual Calendar | calendar () const
| the calendar used for reference and/or option date calculation
virtual Natural | settlementDays () const
| the settlementDays used for reference date calculation
void | update ()
Public Member Functions inherited from Observer
| Observer (const Observer &)
Observer & | operator= (const Observer &)
std::pair< std::set< boost::shared_ptr< Observable > >::iterator, bool > | registerWith (const boost::shared_ptr< Observable > &)
void | registerWithObservables (const boost::shared_ptr< Observer > &)
Size | unregisterWith (const boost::shared_ptr< Observable > &)
void | unregisterWithAll ()
Public Member Functions inherited from Observable
| Observable (const Observable &)
Observable & | operator= (const Observable &)
void | notifyObservers ()
Public Member Functions inherited from Extrapolator
void | enableExtrapolation (bool b=true)
| enable extrapolation in subsequent calls
void | disableExtrapolation (bool b=true)
| disable extrapolation in subsequent calls
bool | allowsExtrapolation () const
| tells whether extrapolation is enabled

## Protected Member Functions
| InterpolatedYoYOptionletVolatilityCurve (Natural settlementDays, const Calendar &, BusinessDayConvention bdc, const DayCounter &dc, const Period &lag, Frequency frequency, bool indexIsInterpolated, Rate minStrike, Rate maxStrike, Volatility baseYoYVolatility, const Interpolator1D &interpolator=Interpolator1D())
virtual Volatility | volatilityImpl (Time length, Rate strike) const
| implements the actual volatility calculation in derived classes More...
Protected Member Functions inherited from YoYOptionletVolatilitySurface
virtual void | checkRange (const Date &, Rate strike, bool extrapolate) const
virtual void | checkRange (Time, Rate strike, bool extrapolate) const
virtual void | setBaseLevel (Volatility v)
Protected Member Functions inherited from VolatilityTermStructure
void | checkStrike (Rate strike, bool extrapolate) const
| strike-range check
Protected Member Functions inherited from TermStructure
void | checkRange (const Date &d, bool extrapolate) const
| date-range check
void | checkRange (Time t, bool extrapolate) const
| time-range check

## Protected Attributes
std::vector< Date > | dates_
std::vector< Time > | times_
std::vector< Real > | data_
std::vector< std::pair< Date, Real > > | nodes_
Interpolator1D | interpolator_
Interpolation | interpolation_
Rate | minStrike_
Rate | maxStrike_
Protected Attributes inherited from YoYOptionletVolatilitySurface
Volatility | baseLevel_
Period | observationLag_
Frequency | frequency_
bool | indexIsInterpolated_
Protected Attributes inherited from TermStructure
bool | moving_
bool | updated_
Calendar | calendar_

## Detailed Description

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

Interpolated flat smile surface.

Interpolated in T direction and constant in K direction.

## Constructor & Destructor Documentation

InterpolatedYoYOptionletVolatilityCurve | ( | Natural | settlementDays,
|  | const Calendar & | cal,
|  | BusinessDayConvention | bdc,
|  | const DayCounter & | dc,
|  | const Period & | lag,
|  | Frequency | frequency,
|  | bool | indexIsInterpolated,
|  | const std::vector< Date > & | d,
|  | const std::vector< Volatility > & | v,
|  | Rate | minStrike,
|  | Rate | maxStrike,
|  | const Interpolator1D & | interpolator = `Interpolator1D()`
| ) |  |

calculate the reference date based on the global evaluation date

The dates are those of the volatility ... there is no lag on the dates but they are relative to a start date earlier than the reference date as always for inflation.

## Member Function Documentation

Volatility volatilityImpl | ( | Time | length,
|  | Rate | strike
| ) |  | const
| protectedvirtual

implements the actual volatility calculation in derived classes

For the curve strike is ignored because the smile is (can only be) flat.

Implements YoYOptionletVolatilitySurface.