Logo
Reference manual - version qle_version
SwaptionVolCubeWithATM Class Reference

Wrapper class for a SwaptionVolatilityCube that easily and efficiently exposes ATM vols. More...

#include <qle/termstructures/swaptionvolcubewithatm.hpp>

Inheritance diagram for SwaptionVolCubeWithATM:

Public Member Functions

 SwaptionVolCubeWithATM (const QuantLib::ext::shared_ptr< SwaptionVolatilityCube > &cube, const bool useAtmSubStructure=true)
TermStructure interface
DayCounter dayCounter () const override
Date maxDate () const override
Time maxTime () const override
const Date & referenceDate () const override
Calendar calendar () const override
Natural settlementDays () const override
VolatilityTermStructure interface
Rate minStrike () const override
Rate maxStrike () const override

SwaptionVolatilityStructure interface

const Period & maxSwapTenor () const override
VolatilityType volatilityType () const override
QuantLib::ext::shared_ptr< SwaptionVolatilityCubecube () const
QuantLib::ext::shared_ptr< SmileSection > smileSectionImpl (Time optionTime, Time swapLength) const override
Volatility volatilityImpl (Time optionTime, Time swapLength, Rate strike) const override
Real shiftImpl (Time optionTime, Time swapLength) const override

Detailed Description

Wrapper class for a SwaptionVolatilityCube that easily and efficiently exposes ATM vols.

This class implements SwaptionVolatilityStructure and takes a cube as an input. If asked for a volatility with strike=Null<Real>() it will return the ATM vol by asking the ATM surface directly. If asked for any other strike it will pass it on to the cube.

There is no calculation of ATM in this class.

Constructor & Destructor Documentation

◆ SwaptionVolCubeWithATM()

SwaptionVolCubeWithATM ( const QuantLib::ext::shared_ptr< SwaptionVolatilityCube > & cube,
const bool useAtmSubStructure = true )

Constructor. This is a floating term structure (settlement days is zero) to match QuantLib::SwaptionVolatilityCube