SwaptionVolatilityMatrix Class Reference

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

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

Inherits QuantLib::SwaptionVolatilityDiscrete, and boost::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 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

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.