Interpolated flat smile surface. More...
#include <ql/experimental/inflation/yoyinflationoptionletvolatilitystructure2.hpp>
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 |
![]() | |
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 | |
![]() | |
virtual BusinessDayConvention | businessDayConvention () const |
the business day convention used in tenor to date conversion | |
Date | optionDateFromTenor (const Period &) const |
period/date conversion | |
QL_DEPRECATED | VolatilityTermStructure (const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc=DayCounter()) |
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 | |
![]() | |
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 () |
![]() | |
Observer (const Observer &) | |
Observer & | operator= (const Observer &) |
std::pair< std::set < boost::shared_ptr < Observable > >::iterator, bool > | registerWith (const boost::shared_ptr< Observable > &) |
Size | unregisterWith (const boost::shared_ptr< Observable > &) |
void | unregisterWithAll () |
![]() | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
void | notifyObservers () |
![]() | |
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... | |
![]() | |
virtual void | checkRange (const Date &, Rate strike, bool extrapolate) const |
virtual void | checkRange (Time, Rate strike, bool extrapolate) const |
virtual void | setBaseLevel (Volatility v) |
![]() | |
void | checkStrike (Rate strike, bool extrapolate) const |
strike-range check | |
![]() | |
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_ |
![]() | |
Volatility | baseLevel_ |
Period | observationLag_ |
Frequency | frequency_ |
bool | indexIsInterpolated_ |
![]() | |
bool | moving_ |
bool | updated_ |
Calendar | calendar_ |
Interpolated flat smile surface.
Interpolated in T direction and constant in K direction.
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.
|
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.