QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
SwaptionVolatilityCube Class Reference

swaption-volatility cube More...

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

Inheritance diagram for SwaptionVolatilityCube:

Public Member Functions

 SwaptionVolatilityCube (const Handle< SwaptionVolatilityStructure > &atmVolStructure, const std::vector< Period > &optionTenors, const std::vector< Period > &swapTenors, const std::vector< Spread > &strikeSpreads, std::vector< std::vector< Handle< Quote > > > volSpreads, ext::shared_ptr< SwapIndex > swapIndexBase, ext::shared_ptr< SwapIndex > shortSwapIndexBase, bool vegaWeightedSmileFit)
TermStructure interface
DayCounter dayCounter () const override
 the day counter used for date/time conversion
Date maxDate () const override
 the latest date for which the curve can return values
Time maxTime () const override
 the latest time for which the curve can return values
const DatereferenceDate () const override
 the date at which discount = 1.0 and/or variance = 0.0
Calendar calendar () const override
 the calendar used for reference and/or option date calculation
Natural settlementDays () const override
 the settlementDays used for reference date calculation
VolatilityTermStructure interface
Rate minStrike () const override
 the minimum strike for which the term structure can return vols
Rate maxStrike () const override
 the maximum strike for which the term structure can return vols
SwaptionVolatilityStructure interface
const PeriodmaxSwapTenor () const override
 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
Handle< SwaptionVolatilityStructureatmVol () const
const std::vector< Spread > & strikeSpreads () const
const std::vector< std::vector< Handle< Quote > > > & volSpreads () const
ext::shared_ptr< SwapIndexswapIndexBase () const
ext::shared_ptr< SwapIndexshortSwapIndexBase () const
bool vegaWeightedSmileFit () const

LazyObject interface

Handle< SwaptionVolatilityStructureatmVol_
Size nStrikes_
std::vector< SpreadstrikeSpreads_
std::vector< RatelocalStrikes_
std::vector< VolatilitylocalSmile_
std::vector< std::vector< Handle< Quote > > > volSpreads_
ext::shared_ptr< SwapIndexswapIndexBase_
ext::shared_ptr< SwapIndexshortSwapIndexBase_
bool vegaWeightedSmileFit_
void performCalculations () const override
VolatilityType volatilityType () const override
 volatility type
void registerWithVolatilitySpread ()
virtual Size requiredNumberOfStrikes () const
Volatility volatilityImpl (Time optionTime, Time swapLength, Rate strike) const override
Volatility volatilityImpl (const Date &optionDate, const Period &swapTenor, Rate strike) const override
Real shiftImpl (Time optionTime, Time swapLength) const override

Detailed Description

swaption-volatility cube

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

Member Function Documentation

◆ dayCounter()

DayCounter dayCounter ( ) const
overridevirtual

the day counter used for date/time conversion

Reimplemented from TermStructure.

◆ maxDate()

Date maxDate ( ) const
overridevirtual

the latest date for which the curve can return values

Implements TermStructure.

◆ maxTime()

Time maxTime ( ) const
overridevirtual

the latest time for which the curve can return values

Reimplemented from TermStructure.

◆ referenceDate()

const Date & referenceDate ( ) const
overridevirtual

the date at which discount = 1.0 and/or variance = 0.0

Reimplemented from TermStructure.

◆ calendar()

Calendar calendar ( ) const
overridevirtual

the calendar used for reference and/or option date calculation

Reimplemented from TermStructure.

◆ settlementDays()

Natural settlementDays ( ) const
overridevirtual

the settlementDays used for reference date calculation

Reimplemented from TermStructure.

◆ minStrike()

Rate minStrike ( ) const
overridevirtual

the minimum strike for which the term structure can return vols

Implements VolatilityTermStructure.

◆ maxStrike()

Rate maxStrike ( ) const
overridevirtual

the maximum strike for which the term structure can return vols

Implements VolatilityTermStructure.

◆ maxSwapTenor()

const Period & maxSwapTenor ( ) const
overridevirtual

the largest length for which the term structure can return vols

Implements SwaptionVolatilityStructure.

◆ performCalculations()

void performCalculations ( ) const
overridevirtual

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

Implements LazyObject.

Reimplemented in XabrSwaptionVolatilityCube< Model >, XabrSwaptionVolatilityCube< SwaptionVolCubeNoArbSabrModel >, and XabrSwaptionVolatilityCube< SwaptionVolCubeSabrModel >.

◆ volatilityType()

VolatilityType volatilityType ( ) const
overridevirtual

volatility type

Reimplemented from SwaptionVolatilityStructure.

◆ volatilityImpl() [1/2]

Volatility volatilityImpl ( Time optionTime,
Time swapLength,
Rate strike ) const
overrideprotectedvirtual

◆ volatilityImpl() [2/2]

Volatility volatilityImpl ( const Date & optionDate,
const Period & swapTenor,
Rate strike ) const
overrideprotectedvirtual

Reimplemented from SwaptionVolatilityStructure.

◆ shiftImpl()

Real shiftImpl ( Time optionTime,
Time swapLength ) const
overrideprotectedvirtual

Reimplemented from SwaptionVolatilityStructure.