At-the-money swaption-volatility matrix. More...
#include <ql/termstructures/volatility/swaption/swaptionvolmatrix.hpp>
Inherits SwaptionVolatilityDiscrete, and noncopyable.
Public Member Functions | |
| SwaptionVolatilityMatrix (const Calendar &calendar, BusinessDayConvention bdc, const std::vector< Period > &optionTenors, const std::vector< Period > &swapTenors, const std::vector< std::vector< Handle< Quote > > > &vols, const DayCounter &dayCounter) | |
| floating reference date, floating market data | |
| SwaptionVolatilityMatrix (const Date &referenceDate, const Calendar &calendar, BusinessDayConvention bdc, const std::vector< Period > &optionTenors, const std::vector< Period > &swapTenors, const std::vector< std::vector< Handle< Quote > > > &vols, const DayCounter &dayCounter) | |
| fixed reference date, floating market data | |
| SwaptionVolatilityMatrix (const Calendar &calendar, BusinessDayConvention bdc, const std::vector< Period > &optionTenors, const std::vector< Period > &swapTenors, const Matrix &volatilities, const DayCounter &dayCounter) | |
| floating reference date, fixed market data | |
| SwaptionVolatilityMatrix (const Date &referenceDate, const Calendar &calendar, BusinessDayConvention bdc, const std::vector< Period > &optionTenors, const std::vector< Period > &swapTenors, const Matrix &volatilities, const DayCounter &dayCounter) | |
| fixed reference date, fixed market data | |
| SwaptionVolatilityMatrix (const Date &referenceDate, const std::vector< Date > &optionDates, const std::vector< Period > &swapTenors, const Matrix &volatilities, const DayCounter &dayCounter) | |
LazyObject interface | |
| void | performCalculations () const |
TermStructure interface | |
| Date | maxDate () const |
| the latest date for which the curve can return values | |
VolatilityTermStructure interface | |
| Rate | minStrike () const |
| the minimum strike for which the term structure can return vols | |
| Rate | maxStrike () const |
| the maximum strike for which the term structure can return vols | |
SwaptionVolatilityStructure interface | |
| const Period & | maxSwapTenor () const |
| the largest length for which the term structure can return vols | |
Other inspectors | |
| std::pair< Size, Size > | locate (const Date &optionDate, const Period &swapTenor) const |
| returns the lower indexes of surrounding volatility matrix corners | |
| std::pair< Size, Size > | locate (Time optionTime, Time swapLength) const |
| returns the lower indexes of surrounding volatility matrix corners | |
Public Member Functions inherited from SwaptionVolatilityDiscrete | |
| SwaptionVolatilityDiscrete (const std::vector< Period > &optionTenors, const std::vector< Period > &swapTenors, Natural settlementDays, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc) | |
| SwaptionVolatilityDiscrete (const std::vector< Period > &optionTenors, const std::vector< Period > &swapTenors, const Date &referenceDate, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc) | |
| SwaptionVolatilityDiscrete (const std::vector< Date > &optionDates, const std::vector< Period > &swapTenors, const Date &referenceDate, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc) | |
| const std::vector< Period > & | optionTenors () const |
| const std::vector< Date > & | optionDates () const |
| const std::vector< Time > & | optionTimes () const |
| const std::vector< Period > & | swapTenors () const |
| const std::vector< Time > & | swapLengths () const |
| void | update () |
| void | performCalculations () const |
Public Member Functions inherited from SwaptionVolatilityStructure | |
| 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 | |
| SwaptionVolatilityStructure (const Calendar &calendar, BusinessDayConvention bdc, const DayCounter &dc=DayCounter()) | |
| 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 | 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 | |
| Time | maxSwapLength () const |
| the largest swapLength for which the term structure can return vols | |
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 (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 | |
Public Member Functions inherited from TermStructure | |
| TermStructure (const DayCounter &dc=DayCounter()) | |
| default constructor | |
| 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 > &) |
| 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 | |
Public Member Functions inherited from LazyObject | |
| void | update () |
| void | recalculate () |
| void | freeze () |
| void | unfreeze () |
Protected Member Functions | |
| boost::shared_ptr< SmileSection > | smileSectionImpl (Time, Time) const |
| Volatility | volatilityImpl (Time optionTime, Time swapLength, Rate strike) const |
Additional Inherited Members | |
Protected Attributes inherited from SwaptionVolatilityDiscrete | |
| Size | nOptionTenors_ |
| std::vector< Period > | optionTenors_ |
| std::vector< Date > | optionDates_ |
| std::vector< Time > | optionTimes_ |
| std::vector< Real > | optionDatesAsReal_ |
| Interpolation | optionInterpolator_ |
| Size | nSwapTenors_ |
| std::vector< Period > | swapTenors_ |
| std::vector< Time > | swapLengths_ |
| Date | evaluationDate_ |
At-the-money swaption-volatility matrix.
This class provides the at-the-money volatility for a given swaption by interpolating a volatility matrix whose elements are the market volatilities of a set of swaption with given option date and swapLength.
The volatility matrix M must be defined so that:
M[i][j] contains the volatility corresponding to the i-th option and j-th tenor.
|
virtual |
This method must implement any calculations which must be (re)done in order to calculate the desired results.
Implements LazyObject.