27#ifndef quantlib_optionlet_volatility_structure_hpp
28#define quantlib_optionlet_volatility_structure_hpp
73 bool extrapolate =
false)
const;
77 bool extrapolate =
false)
const;
81 bool extrapolate =
false)
const;
86 bool extrapolate =
false)
const;
90 bool extrapolate =
false)
const;
94 bool extrapolate =
false)
const;
98 bool extr =
false)
const;
101 bool extr =
false)
const;
104 bool extr =
false)
const;
111 const Date& optionDate)
const;
114 Time optionTime)
const = 0;
119 Rate strike)
const = 0;
129 bool extrapolate)
const {
131 return volatility(optionDate, strike, extrapolate);
137 bool extrapolate)
const {
142 inline ext::shared_ptr<SmileSection>
144 bool extrapolate)
const {
153 bool extrapolate)
const {
162 bool extrapolate)
const {
164 return v*
v*optionTime;
171 bool extrapolate)
const {
180 bool extrapolate)
const {
186 inline ext::shared_ptr<SmileSection>
188 bool extrapolate)
const {
193 inline ext::shared_ptr<SmileSection>
195 bool extrapolate)
const {
202 inline ext::shared_ptr<SmileSection>
Optionlet (caplet/floorlet) volatility structure.
ext::shared_ptr< SmileSection > smileSection(const Period &optionTenor, bool extr=false) const
returns the smile for a given option tenor
Real blackVariance(const Period &optionTenor, Rate strike, bool extrapolate=false) const
returns the Black variance for a given option tenor and strike rate
virtual Volatility volatilityImpl(const Date &optionDate, Rate strike) const
virtual Volatility volatilityImpl(Time optionTime, Rate strike) const =0
implements the actual volatility calculation in derived classes
virtual Real displacement() const
virtual ext::shared_ptr< SmileSection > smileSectionImpl(const Date &optionDate) const
virtual ext::shared_ptr< SmileSection > smileSectionImpl(Time optionTime) const =0
implements the actual smile calculation in derived classes
virtual VolatilityType volatilityType() const
~OptionletVolatilityStructure() override=default
Volatility volatility(const Period &optionTenor, Rate strike, bool extrapolate=false) const
returns the volatility for a given option tenor and strike rate
virtual Natural settlementDays() const
the settlementDays used for reference date calculation
virtual const Date & referenceDate() const
the date at which discount = 1.0 and/or variance = 0.0
Time timeFromReference(const Date &date) const
date/time conversion
void checkRange(const Date &d, bool extrapolate) const
date-range check
Volatility term structure.
void checkStrike(Rate strike, bool extrapolate) const
strike-range check
Date optionDateFromTenor(const Period &) const
period/date conversion
BusinessDayConvention
Business Day conventions.
Real Time
continuous quantity with 1-year units
unsigned QL_INTEGER Natural
positive integer
Real Volatility
volatility
optionlet (caplet/floorlet) volatility stripper
ext::shared_ptr< BlackVolTermStructure > v
Volatility term structure.