SwaptionVolatilityMatrix Class Reference

#include <ql/termstructures/volatilities/swaptionvolmatrix.hpp>

Inheritance diagram for SwaptionVolatilityMatrix:

Inheritance graph
[legend]
List of all members.

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:


Public Member Functions

 SwaptionVolatilityMatrix (const Calendar &calendar, const std::vector< Period > &optionTenors, const std::vector< Period > &swapTenors, const std::vector< std::vector< Handle< Quote > > > &vols, const DayCounter &dayCounter=Actual365Fixed(), BusinessDayConvention bdc=Following)
 floating reference date, floating market data
 SwaptionVolatilityMatrix (const Date &referenceDate, const Calendar &calendar, const std::vector< Period > &optionTenors, const std::vector< Period > &swapTenors, const std::vector< std::vector< Handle< Quote > > > &vols, const DayCounter &dayCounter=Actual365Fixed(), BusinessDayConvention bdc=Following)
 fixed reference date, floating market data
 SwaptionVolatilityMatrix (const Calendar &calendar, const std::vector< Period > &optionTenors, const std::vector< Period > &swapTenors, const Matrix &volatilities, const DayCounter &dayCounter=Actual365Fixed(), BusinessDayConvention bdc=Following)
 floating reference date, fixed market data
 SwaptionVolatilityMatrix (const Date &referenceDate, const Calendar &calendar, const std::vector< Period > &optionTenors, const std::vector< Period > &swapTenors, const Matrix &volatilities, const DayCounter &dayCounter=Actual365Fixed(), BusinessDayConvention bdc=Following)
 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)
TermStructure interface
Date maxDate () const
 the latest date for which the curve can return values
LazyObject interface
void update ()
void performCalculations () const
SwaptionVolatilityStructure interface
const PeriodmaxSwapTenor () const
 the largest length for which the term structure can return vols
Time maxSwapLength () const
 the largest swapLength for which the term structure can return vols
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
boost::shared_ptr< SmileSectionsmileSectionImpl (Time optionTime, Time swapLength) const
 return trivial smile section
Other inspectors
std::pair< Size, Size > locate (const Date &optionDates, 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


Constructor & Destructor Documentation

SwaptionVolatilityMatrix ( const Date referenceDate,
const std::vector< Date > &  optionDates,
const std::vector< Period > &  swapTenors,
const Matrix volatilities,
const DayCounter dayCounter 
)

Deprecated:
alternative constructors instead


Member Function Documentation

void update (  )  [virtual]

This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.

Reimplemented from LazyObject.

void performCalculations (  )  const [virtual]

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

Implements LazyObject.