SwaptionVolatilityCube Class Reference

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

Inheritance diagram for SwaptionVolatilityCube:

Inheritance graph
[legend]
List of all members.

Detailed Description

swaption-volatility cube

Warning:
this class is not finalized and its interface might change in subsequent releases.


Public Member Functions

 SwaptionVolatilityCube (const Handle< SwaptionVolatilityStructure > &atmVolStructure, const std::vector< Period > &optionTenors, const std::vector< Period > &swapTenors, const std::vector< Spread > &strikeSpreads, const std::vector< std::vector< Handle< Quote > > > &volSpreads, const boost::shared_ptr< SwapIndex > &swapIndexBase, bool vegaWeightedSmileFit)
TermStructure interface
DayCounter dayCounter () const
 the day counter used for date/time conversion
Date maxDate () const
 the latest date for which the curve can return values
Time maxTime () const
 the latest time for which the curve can return values
const DatereferenceDate () const
 the date at which discount = 1.0 and/or variance = 0.0
Calendar calendar () const
 the calendar used for reference date calculation
LazyObject interface
void update ()
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
Other inspectors
Rate atmStrike (const Date &optionDate, const Period &swapTenor) const
Rate atmStrike (const Period &optionTenor, const Period &swapTenor) const

Protected Member Functions

SwaptionVolatilityStructure interface
std::pair< Time, Time > convertDates (const Date &optionDate, const Period &swapTenor) const
 implements the conversion between dates and times
void registerWithVolatilitySpread ()
Volatility volatilityImpl (Time optionTime, Time swapLength, Rate strike) const
 implements the actual volatility calculation in derived classes
Volatility volatilityImpl (const Date &optionDate, const Period &swapTenor, Rate strike) const
Volatility volatilityImpl (const Period &optionTenor, const Period &swapTenor, Rate strike) const

Protected Attributes

Handle< SwaptionVolatilityStructureatmVol_
Size nStrikes_
std::vector< Spread > strikeSpreads_
std::vector< Rate > localStrikes_
std::vector< Volatility > localSmile_
std::vector< std::vector<
Handle< Quote > > > 
volSpreads_
boost::shared_ptr< SwapIndexswapIndexBase_
bool vegaWeightedSmileFit_


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.