OptionletVolatilityStructure Class Referenceabstract

Optionlet (caplet/floorlet) volatility structure. More...

`#include <ql/termstructures/volatility/optionlet/optionletvolatilitystructure.hpp>`

Inheritance diagram for OptionletVolatilityStructure:
[legend]

## Public Member Functions

Constructors
See the TermStructure documentation for issues regarding constructors.
| OptionletVolatilityStructure (BusinessDayConvention bdc=Following, const DayCounter &dc=DayCounter())
| default constructor More...
| OptionletVolatilityStructure (const Date &referenceDate, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc=DayCounter())
| initialize with a fixed reference date
| OptionletVolatilityStructure (Natural settlementDays, const Calendar &, BusinessDayConvention bdc, const DayCounter &dc=DayCounter())
| calculate the reference date based on the global evaluation date
virtual | ~OptionletVolatilityStructure ()
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
| VolatilityTermStructure (Natural settlementDays, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc=DayCounter())
| calculate the reference date based on the global evaluation date
virtual BusinessDayConvention | businessDayConvention () const
| the business day convention used in tenor to date conversion
Date | optionDateFromTenor (const Period &) const
| period/date conversion
virtual Rate | minStrike () const =0
| the minimum strike for which the term structure can return vols
virtual Rate | maxStrike () const =0
| the maximum strike for which the term structure can return vols
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 | ~TermStructure ()
virtual DayCounter | dayCounter () const
| the day counter used for date/time conversion
Time | timeFromReference (const Date &date) const
| date/time conversion
virtual Date | maxDate () const =0
| the latest date for which the curve can return values
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< 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 | deepUpdate ()
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

## Volatility and Variance

Volatility | volatility (const Period &optionTenor, Rate strike, bool extrapolate=false) const
| returns the volatility for a given option tenor and strike rate
Volatility | volatility (const Date &optionDate, Rate strike, bool extrapolate=false) const
| returns the volatility for a given option date and strike rate
Volatility | volatility (Time optionTime, Rate strike, bool extrapolate=false) const
| returns the volatility for a given option time and strike rate
Real | blackVariance (const Period &optionTenor, Rate strike, bool extrapolate=false) const
| returns the Black variance for a given option tenor and strike rate
Real | blackVariance (const Date &optionDate, Rate strike, bool extrapolate=false) const
| returns the Black variance for a given option date and strike rate
Real | blackVariance (Time optionTime, Rate strike, bool extrapolate=false) const
| returns the Black variance for a given option time and strike rate
ext::shared_ptr< SmileSection > | smileSection (const Period &optionTenor, bool extr=false) const
| returns the smile for a given option tenor
ext::shared_ptr< SmileSection > | smileSection (const Date &optionDate, bool extr=false) const
| returns the smile for a given option date
ext::shared_ptr< SmileSection > | smileSection (Time optionTime, bool extr=false) const
| returns the smile for a given option time
virtual VolatilityType | volatilityType () const
virtual Real | displacement () const
virtual ext::shared_ptr< SmileSection > | smileSectionImpl (const Date &optionDate) const
virtual ext::shared_ptr< SmileSection > | smileSectionImpl (Time optionTime) const =0
| implements the actual smile calculation in derived classes
virtual Volatility | volatilityImpl (const Date &optionDate, Rate strike) const
virtual Volatility | volatilityImpl (Time optionTime, Rate strike) const =0
| implements the actual volatility calculation in derived classes

## Additional Inherited Members

Public Types inherited from Observer
typedef boost::unordered_set< ext::shared_ptr< Observable > > | set_type
typedef set_type::iterator | iterator
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 inherited from TermStructure
bool | moving_
bool | updated_
Calendar | calendar_

## Detailed Description

Optionlet (caplet/floorlet) volatility structure.

This class is purely abstract and defines the interface of concrete structures which will be derived from this one.

## Constructor & Destructor Documentation

## OptionletVolatilityStructure()

OptionletVolatilityStructure | ( | BusinessDayConvention | bdc = `Following`,
|  | const DayCounter & | dc = `DayCounter()`
| ) |  |

default constructor

Warning:
  term structures initialized by means of this constructor must manage their own reference date by overriding the referenceDate() method.