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, bool flatExtrapolation=false, VolatilityType type=ShiftedLognormal, const std::vector< std::vector< Real > > &shifts=std::vector< std::vector< Real > >()) | |
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, bool flatExtrapolation=false, VolatilityType type=ShiftedLognormal, const std::vector< std::vector< Real > > &shifts=std::vector< std::vector< Real > >()) | |
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, bool flatExtrapolation=false, VolatilityType type=ShiftedLognormal, const Matrix &shifts=Matrix()) | |
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, bool flatExtrapolation=false, VolatilityType type=ShiftedLognormal, const Matrix &shifts=Matrix()) | |
fixed reference date, fixed market data | |
SwaptionVolatilityMatrix (const Date &referenceDate, const Calendar &calendar, BusinessDayConvention bdc, const std::vector< Date > &optionDates, const std::vector< Period > &swapTenors, const Matrix &volatilities, const DayCounter &dayCounter, bool flatExtrapolation=false, VolatilityType type=ShiftedLognormal, const Matrix &shifts=Matrix()) | |
fixed reference date and fixed market data, option dates | |
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 | |
VolatilityType | volatilityType () const |
volatility type | |
ext::shared_ptr< SmileSection > | smileSectionImpl (Time, Time) const |
Volatility | volatilityImpl (Time optionTime, Time swapLength, Rate strike) const |
Real | shiftImpl (Time optionTime, Time swapLength) const |
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.