Swaption cube that combines an ATM matrix and vol spreads from a cube. More...
#include <qle/termstructures/swaptionvolconstantspread.hpp>
Public Member Functions | |
SwaptionVolatilityConstantSpread (const Handle< SwaptionVolatilityStructure > &atm, const Handle< SwaptionVolatilityStructure > &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 |
Observer interface | |
void | deepUpdate () override |
const Handle< SwaptionVolatilityStructure > & | atmVol () |
const Handle< SwaptionVolatilityStructure > & | cube () |
boost::shared_ptr< SmileSection > | smileSectionImpl (Time optionTime, Time swapLength) const override |
Volatility | volatilityImpl (Time optionTime, Time swapLength, Rate strike) const override |
Swaption cube that combines an ATM matrix and vol spreads from a cube.
Notice that the TS has a floating reference date and accesses the source TS only via their time-based volatility methods.
the given atm vol structure should be strike independent, this is not checked
the given cube must provide smile sections that provide an ATM level