Logo
Reference manual - version qle_version
Public Member Functions | List of all members
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 boost::shared_ptr< SwaptionVolatilityCube > &cube)
 
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
 
boost::shared_ptr< SwaptionVolatilityCubecube () const
 
boost::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 boost::shared_ptr< SwaptionVolatilityCube > &  cube)

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