QuantLib: SwaptionVolatilityStructure Class 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

Public Member Functions | Protected Member Functions | List of all members
SwaptionVolatilityStructure Class Referenceabstract

Swaption-volatility structure More...

`#include <ql/termstructures/volatility/swaption/swaptionvolstructure.hpp>`

Inheritance diagram for SwaptionVolatilityStructure:
[legend]

## Public Member Functions
Time | swapLength (const Period &swapTenor) const
| implements the conversion between swap tenor and swap (time) length
Time | swapLength (const Date &start, const Date &end) const
| implements the conversion between swap dates and swap (time) length
Constructors
See the TermStructure documentation for issues regarding constructors.
| SwaptionVolatilityStructure (BusinessDayConvention bdc, const DayCounter &dc=DayCounter())
| SwaptionVolatilityStructure (const Date &referenceDate, const Calendar &calendar, BusinessDayConvention bdc, const DayCounter &dc=DayCounter())
| initialize with a fixed reference date
| SwaptionVolatilityStructure (Natural settlementDays, const Calendar &, BusinessDayConvention bdc, const DayCounter &dc=DayCounter())
| calculate the reference date based on the global evaluation date
Volatility, variance and smile
Volatility | volatility (const Period &optionTenor, const Period &swapTenor, Rate strike, bool extrapolate=false) const
| returns the volatility for a given option tenor and swap tenor
Volatility | volatility (const Date &optionDate, const Period &swapTenor, Rate strike, bool extrapolate=false) const
| returns the volatility for a given option date and swap tenor
Volatility | volatility (Time optionTime, const Period &swapTenor, Rate strike, bool extrapolate=false) const
| returns the volatility for a given option time and swap tenor
Volatility | volatility (const Period &optionTenor, Time swapLength, Rate strike, bool extrapolate=false) const
| returns the volatility for a given option tenor and swap length
Volatility | volatility (const Date &optionDate, Time swapLength, Rate strike, bool extrapolate=false) const
| returns the volatility for a given option date and swap length
Volatility | volatility (Time optionTime, Time swapLength, Rate strike, bool extrapolate=false) const
| returns the volatility for a given option time and swap length
Real | blackVariance (const Period &optionTenor, const Period &swapTenor, Rate strike, bool extrapolate=false) const
| returns the Black variance for a given option tenor and swap tenor
Real | blackVariance (const Date &optionDate, const Period &swapTenor, Rate strike, bool extrapolate=false) const
| returns the Black variance for a given option date and swap tenor
Real | blackVariance (Time optionTime, const Period &swapTenor, Rate strike, bool extrapolate=false) const
| returns the Black variance for a given option time and swap tenor
Real | blackVariance (const Period &optionTenor, Time swapLength, Rate strike, bool extrapolate=false) const
| returns the Black variance for a given option tenor and swap length
Real | blackVariance (const Date &optionDate, Time swapLength, Rate strike, bool extrapolate=false) const
| returns the Black variance for a given option date and swap length
Real | blackVariance (Time optionTime, Time swapLength, Rate strike, bool extrapolate=false) const
| returns the Black variance for a given option time and swap length
boost::shared_ptr< SmileSection > | smileSection (const Period &optionTenor, const Period &swapTenor, bool extr=false) const
| returns the smile for a given option tenor and swap tenor
boost::shared_ptr< SmileSection > | smileSection (const Date &optionDate, const Period &swapTenor, bool extr=false) const
| returns the smile for a given option date and swap tenor
boost::shared_ptr< SmileSection > | smileSection (Time optionTime, const Period &swapTenor, bool extr=false) const
| returns the smile for a given option time and swap tenor
boost::shared_ptr< SmileSection > | smileSection (const Period &optionTenor, Time swapLength, bool extr=false) const
| returns the smile for a given option tenor and swap length
boost::shared_ptr< SmileSection > | smileSection (const Date &optionDate, Time swapLength, bool extr=false) const
| returns the smile for a given option date and swap length
boost::shared_ptr< SmileSection > | smileSection (Time optionTime, Time swapLength, bool extr=false) const
| returns the smile for a given option time and swap length
Limits
virtual const Period & | maxSwapTenor () const =0
| the largest length for which the term structure can return vols
Time | maxSwapLength () const
| the largest swapLength for which the term structure can return vols
virtual Real | shift (Time optionTime, Time swapLength) const
| shift size for displaced lognormal volatility
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
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
| 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 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< 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
virtual boost::shared_ptr< SmileSection > | smileSectionImpl (const Date &optionDate, const Period &swapTenor) const
virtual boost::shared_ptr< SmileSection > | smileSectionImpl (Time optionTime, Time swapLength) const =0
virtual Volatility | volatilityImpl (const Date &optionDate, const Period &swapTenor, Rate strike) const
virtual Volatility | volatilityImpl (Time optionTime, Time swapLength, Rate strike) const =0
void | checkSwapTenor (const Period &swapTenor, bool extrapolate) const
void | checkSwapTenor (Time swapLength, bool extrapolate) const
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

## Additional Inherited Members
Protected Attributes inherited from TermStructure
bool | moving_
bool | updated_
Calendar | calendar_

## Detailed Description

Swaption-volatility structure

This abstract class defines the interface of concrete swaption volatility structures which will be derived from this one.

## Constructor & Destructor Documentation

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

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