QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
#include <yoyinflationoptionletvolatilitystructure.hpp>
Public Member Functions | |
Constructor | |
calculate the reference date based on the global evaluation date | |
YoYOptionletVolatilitySurface (Natural settlementDays, const Calendar &, BusinessDayConvention bdc, const DayCounter &dc, const Period &observationLag, Frequency frequency, bool indexIsInterpolated, VolatilityType volType=ShiftedLognormal, Real displacement=0.0) | |
~YoYOptionletVolatilitySurface () override=default | |
Volatility (only) | |
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 More... | |
Volatility | volatility (Time time, Rate strike) const |
virtual VolatilityType | volatilityType () const |
Returns the volatility type. More... | |
virtual Real | displacement () const |
Returns the displacement for lognormal volatilities. More... | |
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 More... | |
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 More... | |
Public Member Functions inherited from VolatilityTermStructure | |
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 More... | |
VolatilityTermStructure (Natural settlementDays, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc=DayCounter()) | |
calculate the reference date based on the global evaluation date More... | |
virtual BusinessDayConvention | businessDayConvention () const |
the business day convention used in tenor to date conversion More... | |
Date | optionDateFromTenor (const Period &) const |
period/date conversion More... | |
Public Member Functions inherited from TermStructure | |
TermStructure (DayCounter dc=DayCounter()) | |
default constructor More... | |
TermStructure (const Date &referenceDate, Calendar calendar=Calendar(), DayCounter dc=DayCounter()) | |
initialize with a fixed reference date More... | |
TermStructure (Natural settlementDays, Calendar, DayCounter dc=DayCounter()) | |
calculate the reference date based on the global evaluation date More... | |
~TermStructure () override=default | |
virtual DayCounter | dayCounter () const |
the day counter used for date/time conversion More... | |
Time | timeFromReference (const Date &date) const |
date/time conversion More... | |
virtual Date | maxDate () const =0 |
the latest date for which the curve can return values More... | |
virtual Time | maxTime () const |
the latest time for which the curve can return values More... | |
virtual const Date & | referenceDate () const |
the date at which discount = 1.0 and/or variance = 0.0 More... | |
virtual Calendar | calendar () const |
the calendar used for reference and/or option date calculation More... | |
virtual Natural | settlementDays () const |
the settlementDays used for reference date calculation More... | |
void | update () override |
Public Member Functions inherited from Observer | |
Observer ()=default | |
Observer (const Observer &) | |
Observer & | operator= (const Observer &) |
virtual | ~Observer () |
std::pair< iterator, bool > | registerWith (const ext::shared_ptr< Observable > &) |
void | registerWithObservables (const ext::shared_ptr< Observer > &) |
Size | unregisterWith (const ext::shared_ptr< Observable > &) |
void | unregisterWithAll () |
virtual void | update ()=0 |
virtual void | deepUpdate () |
Public Member Functions inherited from Observable | |
Observable () | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
Observable (Observable &&)=delete | |
Observable & | operator= (Observable &&)=delete |
virtual | ~Observable ()=default |
void | notifyObservers () |
Public Member Functions inherited from Extrapolator | |
Extrapolator ()=default | |
virtual | ~Extrapolator ()=default |
void | enableExtrapolation (bool b=true) |
enable extrapolation in subsequent calls More... | |
void | disableExtrapolation (bool b=true) |
disable extrapolation in subsequent calls More... | |
bool | allowsExtrapolation () const |
tells whether extrapolation is enabled More... | |
Limits | |
Volatility | baseLevel_ |
Period | observationLag_ |
Frequency | frequency_ |
bool | indexIsInterpolated_ |
VolatilityType | volType_ |
Real | displacement_ |
Real | minStrike () const override=0 |
the minimum strike for which the term structure can return vols More... | |
Real | maxStrike () const override=0 |
the maximum strike for which the term structure can return vols More... | |
virtual Volatility | baseLevel () const |
virtual void | checkRange (const Date &, Rate strike, bool extrapolate) const |
virtual void | checkRange (Time, Rate strike, bool extrapolate) const |
virtual Volatility | volatilityImpl (Time length, Rate strike) const =0 |
virtual void | setBaseLevel (Volatility v) |
Additional Inherited Members | |
Public Types inherited from Observer | |
typedef set_type::iterator | iterator |
Protected Member Functions inherited from VolatilityTermStructure | |
void | checkStrike (Rate strike, bool extrapolate) const |
strike-range check More... | |
Protected Member Functions inherited from TermStructure | |
void | checkRange (const Date &d, bool extrapolate) const |
date-range check More... | |
void | checkRange (Time t, bool extrapolate) const |
time-range check More... | |
Protected Attributes inherited from TermStructure | |
bool | moving_ = false |
bool | updated_ = true |
Calendar | calendar_ |
Abstract interface ... no data, only results.
Basically used to change the BlackVariance() methods to totalVariance. Also deal with lagged observations of an index with a (usually different) availability lag.
Definition at line 41 of file yoyinflationoptionletvolatilitystructure.hpp.
YoYOptionletVolatilitySurface | ( | Natural | settlementDays, |
const Calendar & | cal, | ||
BusinessDayConvention | bdc, | ||
const DayCounter & | dc, | ||
const Period & | observationLag, | ||
Frequency | frequency, | ||
bool | indexIsInterpolated, | ||
VolatilityType | volType = ShiftedLognormal , |
||
Real | displacement = 0.0 |
||
) |
Definition at line 31 of file yoyinflationoptionletvolatilitystructure.cpp.
|
overridedefault |
Volatility volatility | ( | const Date & | maturityDate, |
Rate | strike, | ||
const Period & | obsLag = Period(-1,Days) , |
||
bool | extrapolate = false |
||
) | const |
Returns the volatility for a given maturity date and strike rate that observes inflation, by default, with the observation lag of the term structure. Because inflation is highly linked to dates (for interpolation, periods, etc) we do NOT provide a time version.
Definition at line 96 of file yoyinflationoptionletvolatilitystructure.cpp.
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
Definition at line 120 of file yoyinflationoptionletvolatilitystructure.cpp.
Volatility volatility | ( | Time | time, |
Rate | strike | ||
) | const |
Returns the volatility for a given time and strike rate. No adjustments due to lags and interpolation are applied to the input time.
Definition at line 128 of file yoyinflationoptionletvolatilitystructure.cpp.
|
virtual |
Returns the volatility type.
Definition at line 78 of file yoyinflationoptionletvolatilitystructure.hpp.
|
virtual |
Returns the displacement for lognormal volatilities.
Definition at line 80 of file yoyinflationoptionletvolatilitystructure.hpp.
|
virtual |
Returns the total integrated variance for a given exercise date and strike rate.
Total integrated variance is useful because it scales out t for the optionlet pricing formulae. Note that it is called "total" because the surface does not know whether it represents Black, Bachelier or Displaced Diffusion variance. These are virtual so alternate connections between const vol and total var are possible.
Because inflation is highly linked to dates (for interpolation, periods, etc) we do NOT provide a time version
Definition at line 158 of file yoyinflationoptionletvolatilitystructure.cpp.
|
virtual |
returns the total integrated variance for a given option tenor and strike rate
Definition at line 170 of file yoyinflationoptionletvolatilitystructure.cpp.
|
virtual |
The TS observes with a lag that is usually different from the availability lag of the index. An inflation rate is given, by default, for the maturity requested assuming this lag.
Definition at line 106 of file yoyinflationoptionletvolatilitystructure.hpp.
|
virtual |
Definition at line 107 of file yoyinflationoptionletvolatilitystructure.hpp.
|
virtual |
Definition at line 108 of file yoyinflationoptionletvolatilitystructure.hpp.
|
virtual |
Reimplemented in PiecewiseYoYOptionletVolatilityCurve< Interpolator, Bootstrap, Traits >.
Definition at line 52 of file yoyinflationoptionletvolatilitystructure.cpp.
base date will be in the past because of observation lag
needed for total variance calculations
Definition at line 134 of file yoyinflationoptionletvolatilitystructure.cpp.
|
overridepure virtual |
the minimum strike for which the term structure can return vols
Implements VolatilityTermStructure.
Implemented in KInterpolatedYoYOptionletVolatilitySurface< Interpolator1D >, InterpolatedYoYOptionletVolatilityCurve< Interpolator1D >, InterpolatedYoYOptionletVolatilityCurve< Interpolator >, and ConstantYoYOptionletVolatility.
|
overridepure virtual |
the maximum strike for which the term structure can return vols
Implements VolatilityTermStructure.
Implemented in KInterpolatedYoYOptionletVolatilitySurface< Interpolator1D >, InterpolatedYoYOptionletVolatilityCurve< Interpolator1D >, InterpolatedYoYOptionletVolatilityCurve< Interpolator >, and ConstantYoYOptionletVolatility.
|
virtual |
Definition at line 124 of file yoyinflationoptionletvolatilitystructure.hpp.
Definition at line 67 of file yoyinflationoptionletvolatilitystructure.cpp.
Definition at line 81 of file yoyinflationoptionletvolatilitystructure.cpp.
|
protectedpure virtual |
Implements the actual volatility surface calculation in derived classes e.g. bilinear interpolation. N.B. does not derive the surface.
Implemented in KInterpolatedYoYOptionletVolatilitySurface< Interpolator1D >, InterpolatedYoYOptionletVolatilityCurve< Interpolator1D >, InterpolatedYoYOptionletVolatilityCurve< Interpolator >, and ConstantYoYOptionletVolatility.
|
protectedvirtual |
Definition at line 141 of file yoyinflationoptionletvolatilitystructure.hpp.
|
mutableprotected |
Definition at line 142 of file yoyinflationoptionletvolatilitystructure.hpp.
|
protected |
Definition at line 145 of file yoyinflationoptionletvolatilitystructure.hpp.
|
protected |
Definition at line 146 of file yoyinflationoptionletvolatilitystructure.hpp.
|
protected |
Definition at line 147 of file yoyinflationoptionletvolatilitystructure.hpp.
|
protected |
Definition at line 148 of file yoyinflationoptionletvolatilitystructure.hpp.
|
protected |
Definition at line 149 of file yoyinflationoptionletvolatilitystructure.hpp.