25#ifndef quantlib_swaption_volatility_cube_h
26#define quantlib_swaption_volatility_cube_h
70 const Period& swapTenor)
const;
72 const Period& swapTenor)
const {
88 <<
") required are at least "
115 return atmVol_->volatilityType();
126 const Date& optionDate,
133 Time swapLength)
const {
Shared handle to an observable.
Rate atmStrike(const Date &optionDate, const Period &swapTenor) const
void performCalculations() const override
Calendar calendar() const override
the calendar used for reference and/or option date calculation
Volatility volatilityImpl(Time optionTime, Time swapLength, Rate strike) const override
ext::shared_ptr< SwapIndex > swapIndexBase_
std::vector< Spread > strikeSpreads_
Rate maxStrike() const override
the maximum strike for which the term structure can return vols
Rate minStrike() const override
the minimum strike for which the term structure can return vols
Handle< SwaptionVolatilityStructure > atmVol() const
const std::vector< std::vector< Handle< Quote > > > & volSpreads() const
Handle< SwaptionVolatilityStructure > atmVol_
const Date & referenceDate() const override
the date at which discount = 1.0 and/or variance = 0.0
Real shiftImpl(Time optionTime, Time swapLength) const override
ext::shared_ptr< SwapIndex > shortSwapIndexBase_
std::vector< Volatility > localSmile_
VolatilityType volatilityType() const override
volatility type
bool vegaWeightedSmileFit_
ext::shared_ptr< SwapIndex > shortSwapIndexBase() const
Natural settlementDays() const override
the settlementDays used for reference date calculation
DayCounter dayCounter() const override
the day counter used for date/time conversion
std::vector< Rate > localStrikes_
Date maxDate() const override
the latest date for which the curve can return values
virtual Size requiredNumberOfStrikes() const
std::vector< std::vector< Handle< Quote > > > volSpreads_
bool vegaWeightedSmileFit() const
ext::shared_ptr< SwapIndex > swapIndexBase() const
Rate atmStrike(const Period &optionTenor, const Period &swapTenor) const
const Period & maxSwapTenor() const override
the largest length for which the term structure can return vols
Time maxTime() const override
the latest time for which the curve can return values
const std::vector< Spread > & strikeSpreads() const
void registerWithVolatilitySpread()
void performCalculations() const override
const std::vector< Period > & swapTenors() const
const std::vector< Period > & optionTenors() const
virtual ext::shared_ptr< SmileSection > smileSectionImpl(const Date &optionDate, const Period &swapTenor) const
Time swapLength(const Period &swapTenor) const
implements the conversion between swap tenor and swap (time) length
Date optionDateFromTenor(const Period &) const
period/date conversion
#define QL_REQUIRE(condition, message)
throw an error if the given pre-condition is not verified
Real Time
continuous quantity with 1-year units
unsigned QL_INTEGER Natural
positive integer
Real Volatility
volatility
std::size_t Size
size of a container
Smile section base class.
Discretized swaption volatility.