Wrapper class for a SwaptionVolatilityCube that easily and efficiently exposes ATM vols. More...
#include <qle/termstructures/swaptionvolcubewithatm.hpp>
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< SwaptionVolatilityCube > | cube () 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 |
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.
SwaptionVolCubeWithATM | ( | const boost::shared_ptr< SwaptionVolatilityCube > & | cube | ) |
Constructor. This is a floating term structure (settlement days is zero) to match QuantLib::SwaptionVolatilityCube