### A free/open-source library for quantitative finance

Public Member Functions | Protected Member Functions
SwaptionVolatilityMatrix Class Reference

At-the-money swaption-volatility matrix. More...

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

Inherits SwaptionVolatilityDiscrete, and noncopyable.

List of all members.

## 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

## Protected Member Functions

boost::shared_ptr< SmileSection > | smileSectionImpl (Time, Time) const
Volatility | volatilityImpl (Time optionTime, Time swapLength, Rate strike) 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

void performCalculations | ( |  | ) | const`[virtual]`

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

Implements LazyObject.