QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.8
Public Member Functions | Protected Member Functions | List of all members
SwaptionVolatilityMatrix Class Reference

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, const bool flatExtrapolation=false, const 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, const bool flatExtrapolation=false, const 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, const bool flatExtrapolation=false, const 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, const bool flatExtrapolation=false, const VolatilityType type=ShiftedLognormal, const Matrix &shifts=Matrix())
 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, const bool flatExtrapolation=false, const VolatilityType type=ShiftedLognormal, const Matrix &shifts=Matrix())
 
QL_DEPRECATED 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, const bool flatExtrapolation, const std::vector< std::vector< Real > > &shifts)
 floating reference date, floating market data More...
 
QL_DEPRECATED 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, const bool flatExtrapolation, const std::vector< std::vector< Real > > &shifts)
 fixed reference date, floating market data More...
 
QL_DEPRECATED SwaptionVolatilityMatrix (const Calendar &calendar, BusinessDayConvention bdc, const std::vector< Period > &optionTenors, const std::vector< Period > &swapTenors, const Matrix &volatilities, const DayCounter &dayCounter, const bool flatExtrapolation, const Matrix &shifts)
 floating reference date, fixed market data More...
 
QL_DEPRECATED 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, const bool flatExtrapolation, const Matrix &shifts)
 fixed reference date, fixed market data More...
 
QL_DEPRECATED SwaptionVolatilityMatrix (const Date &referenceDate, const std::vector< Date > &optionDates, const std::vector< Period > &swapTenors, const Matrix &volatilities, const DayCounter &dayCounter, const bool flatExtrapolation, const Matrix &shifts)
 
VolatilityType volatilityType () const
 volatility type
 
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 PeriodmaxSwapTenor () const
 the largest length for which the term structure can return vols
 
Other inspectors
std::pair< Size, Sizelocate (const Date &optionDate, const Period &swapTenor) const
 returns the lower indexes of surrounding volatility matrix corners
 
std::pair< Size, Sizelocate (Time optionTime, Time swapLength) const
 returns the lower indexes of surrounding volatility matrix corners
 

Protected Member Functions

boost::shared_ptr< SmileSectionsmileSectionImpl (Time, Time) const
 
Volatility volatilityImpl (Time optionTime, Time swapLength, Rate strike) const
 
Real shiftImpl (Time optionTime, Time swapLength) const
 

Detailed Description

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:

Constructor & Destructor Documentation

QL_DEPRECATED 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,
const bool  flatExtrapolation,
const std::vector< std::vector< Real > > &  shifts 
)

floating reference date, floating market data

Deprecated:
Use the constructor taking an explicit volatility type
QL_DEPRECATED 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,
const bool  flatExtrapolation,
const std::vector< std::vector< Real > > &  shifts 
)

fixed reference date, floating market data

Deprecated:
Use the constructor taking an explicit volatility type
QL_DEPRECATED SwaptionVolatilityMatrix ( const Calendar calendar,
BusinessDayConvention  bdc,
const std::vector< Period > &  optionTenors,
const std::vector< Period > &  swapTenors,
const Matrix volatilities,
const DayCounter dayCounter,
const bool  flatExtrapolation,
const Matrix shifts 
)

floating reference date, fixed market data

Deprecated:
Use the constructor taking an explicit volatility type
QL_DEPRECATED 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,
const bool  flatExtrapolation,
const Matrix shifts 
)

fixed reference date, fixed market data

Deprecated:
Use the constructor taking an explicit volatility type
QL_DEPRECATED SwaptionVolatilityMatrix ( const Date referenceDate,
const std::vector< Date > &  optionDates,
const std::vector< Period > &  swapTenors,
const Matrix volatilities,
const DayCounter dayCounter,
const bool  flatExtrapolation,
const Matrix shifts 
)
Deprecated:
Use the constructor taking an explicit volatility type

Member Function Documentation

void performCalculations ( ) const
virtual

This method must implement any calculations which must be (re)done in order to calculate the desired results.

Implements LazyObject.