SwaptionVolatilityCube Class Reference

swaption-volatility cube More...

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

Inherits SwaptionVolatilityDiscrete.

Inherited by SwaptionVolCube1, and SwaptionVolCube2.

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, const boost::shared_ptr< SwapIndex > &shortSwapIndexBase, 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 and/or option date calculation
 
Natural settlementDays () const
 the settlementDays used for reference date calculation
 
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
Rate atmStrike (const Date &optionDate, const Period &swapTenor) const
 
Rate atmStrike (const Period &optionTenor, const Period &swapTenor) const
 
- Public Member Functions inherited from SwaptionVolatilityDiscrete
 SwaptionVolatilityDiscrete (const std::vector< Period > &optionTenors, const std::vector< Period > &swapTenors, Natural settlementDays, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc)
 
 SwaptionVolatilityDiscrete (const std::vector< Period > &optionTenors, const std::vector< Period > &swapTenors, const Date &referenceDate, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc)
 
 SwaptionVolatilityDiscrete (const std::vector< Date > &optionDates, const std::vector< Period > &swapTenors, const Date &referenceDate, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc)
 
const std::vector< Period > & optionTenors () const
 
const std::vector< Date > & optionDates () const
 
const std::vector< Time > & optionTimes () const
 
const std::vector< Period > & swapTenors () const
 
const std::vector< Time > & swapLengths () const
 
void update ()
 
void performCalculations () const
 
- Public Member Functions inherited from SwaptionVolatilityStructure
Time swapLength (const Period &swapTenor) const
 implements the conversion between swap tenor and swap (time) length
 
Time swapLength (const Date &start, const Date &end) const
 implements the conversion between swap dates and swap (time) length
 
 SwaptionVolatilityStructure (const Calendar &calendar, BusinessDayConvention bdc, const DayCounter &dc=DayCounter())
 
 SwaptionVolatilityStructure (BusinessDayConvention bdc, const DayCounter &dc=DayCounter())
 
 SwaptionVolatilityStructure (const Date &referenceDate, const Calendar &calendar, BusinessDayConvention bdc, const DayCounter &dc=DayCounter())
 initialize with a fixed reference date
 
 SwaptionVolatilityStructure (Natural settlementDays, const Calendar &, BusinessDayConvention bdc, const DayCounter &dc=DayCounter())
 calculate the reference date based on the global evaluation date
 
Volatility volatility (const Period &optionTenor, const Period &swapTenor, Rate strike, bool extrapolate=false) const
 returns the volatility for a given option tenor and swap tenor
 
Volatility volatility (const Date &optionDate, const Period &swapTenor, Rate strike, bool extrapolate=false) const
 returns the volatility for a given option date and swap tenor
 
Volatility volatility (Time optionTime, const Period &swapTenor, Rate strike, bool extrapolate=false) const
 returns the volatility for a given option time and swap tenor
 
Volatility volatility (const Period &optionTenor, Time swapLength, Rate strike, bool extrapolate=false) const
 returns the volatility for a given option tenor and swap length
 
Volatility volatility (const Date &optionDate, Time swapLength, Rate strike, bool extrapolate=false) const
 returns the volatility for a given option date and swap length
 
Volatility volatility (Time optionTime, Time swapLength, Rate strike, bool extrapolate=false) const
 returns the volatility for a given option time and swap length
 
Real blackVariance (const Period &optionTenor, const Period &swapTenor, Rate strike, bool extrapolate=false) const
 returns the Black variance for a given option tenor and swap tenor
 
Real blackVariance (const Date &optionDate, const Period &swapTenor, Rate strike, bool extrapolate=false) const
 returns the Black variance for a given option date and swap tenor
 
Real blackVariance (Time optionTime, const Period &swapTenor, Rate strike, bool extrapolate=false) const
 returns the Black variance for a given option time and swap tenor
 
Real blackVariance (const Period &optionTenor, Time swapLength, Rate strike, bool extrapolate=false) const
 returns the Black variance for a given option tenor and swap length
 
Real blackVariance (const Date &optionDate, Time swapLength, Rate strike, bool extrapolate=false) const
 returns the Black variance for a given option date and swap length
 
Real blackVariance (Time optionTime, Time swapLength, Rate strike, bool extrapolate=false) const
 returns the Black variance for a given option time and swap length
 
boost::shared_ptr< SmileSectionsmileSection (const Period &optionTenor, const Period &swapTenor, bool extr=false) const
 returns the smile for a given option tenor and swap tenor
 
boost::shared_ptr< SmileSectionsmileSection (const Date &optionDate, const Period &swapTenor, bool extr=false) const
 returns the smile for a given option date and swap tenor
 
boost::shared_ptr< SmileSectionsmileSection (Time optionTime, const Period &swapTenor, bool extr=false) const
 returns the smile for a given option time and swap tenor
 
boost::shared_ptr< SmileSectionsmileSection (const Period &optionTenor, Time swapLength, bool extr=false) const
 returns the smile for a given option tenor and swap length
 
boost::shared_ptr< SmileSectionsmileSection (const Date &optionDate, Time swapLength, bool extr=false) const
 returns the smile for a given option date and swap length
 
boost::shared_ptr< SmileSectionsmileSection (Time optionTime, Time swapLength, bool extr=false) const
 returns the smile for a given option time and swap length
 
Time maxSwapLength () const
 the largest swapLength for which the term structure can return vols
 
- Public Member Functions inherited from VolatilityTermStructure
virtual BusinessDayConvention businessDayConvention () const
 the business day convention used in tenor to date conversion
 
Date optionDateFromTenor (const Period &) const
 period/date conversion
 
 VolatilityTermStructure (const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc=DayCounter())
 
 VolatilityTermStructure (BusinessDayConvention bdc, const DayCounter &dc=DayCounter())
 
 VolatilityTermStructure (const Date &referenceDate, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc=DayCounter())
 initialize with a fixed reference date
 
 VolatilityTermStructure (Natural settlementDays, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc=DayCounter())
 calculate the reference date based on the global evaluation date
 
- Public Member Functions inherited from TermStructure
 TermStructure (const DayCounter &dc=DayCounter())
 default constructor
 
 TermStructure (const Date &referenceDate, const Calendar &calendar=Calendar(), const DayCounter &dc=DayCounter())
 initialize with a fixed reference date
 
 TermStructure (Natural settlementDays, const Calendar &, const DayCounter &dc=DayCounter())
 calculate the reference date based on the global evaluation date
 
Time timeFromReference (const Date &date) const
 date/time conversion
 
void update ()
 
- Public Member Functions inherited from Observer
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
std::pair< std::set
< boost::shared_ptr
< Observable > >::iterator,
bool > 
registerWith (const boost::shared_ptr< Observable > &)
 
Size unregisterWith (const boost::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
- Public Member Functions inherited from Observable
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
void notifyObservers ()
 
- Public Member Functions inherited from Extrapolator
void enableExtrapolation (bool b=true)
 enable extrapolation in subsequent calls
 
void disableExtrapolation (bool b=true)
 disable extrapolation in subsequent calls
 
bool allowsExtrapolation () const
 tells whether extrapolation is enabled
 
- Public Member Functions inherited from LazyObject
void update ()
 
void recalculate ()
 
void freeze ()
 
void unfreeze ()
 

Protected Member Functions

void registerWithVolatilitySpread ()
 
Volatility volatilityImpl (Time optionTime, Time swapLength, Rate strike) const
 
Volatility volatilityImpl (const Date &optionDate, const Period &swapTenor, Rate strike) const
 

Protected Attributes

Handle
< SwaptionVolatilityStructure
atmVol_
 
Size nStrikes_
 
std::vector< SpreadstrikeSpreads_
 
std::vector< RatelocalStrikes_
 
std::vector< VolatilitylocalSmile_
 
std::vector< std::vector
< Handle< Quote > > > 
volSpreads_
 
boost::shared_ptr< SwapIndexswapIndexBase_
 
boost::shared_ptr< SwapIndexshortSwapIndexBase_
 
bool vegaWeightedSmileFit_
 
- Protected Attributes inherited from SwaptionVolatilityDiscrete
Size nOptionTenors_
 
std::vector< PeriodoptionTenors_
 
std::vector< DateoptionDates_
 
std::vector< TimeoptionTimes_
 
std::vector< RealoptionDatesAsReal_
 
Interpolation optionInterpolator_
 
Size nSwapTenors_
 
std::vector< PeriodswapTenors_
 
std::vector< TimeswapLengths_
 
Date evaluationDate_
 
- Protected Attributes inherited from LazyObject
bool calculated_
 
bool frozen_
 

Detailed Description

swaption-volatility cube

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