QuantLib: SwaptionVolatilityMatrix Class Reference

A free/open-source library for quantitative finance Reference manual - version 1.12

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())
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 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

## Protected Member Functions
boost::shared_ptr< SmileSection > | smileSectionImpl (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:

- the number of rows equals the number of option dates;
- the number of columns equals the number of swap tenors;
- `M[i][j]` contains the volatility corresponding to the `i`-th option and `j`-th tenor.

## Member Function Documentation

## ◆ performCalculations()

void performCalculations | ( |  | ) | const
| virtual

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

Implements LazyObject.