25#ifndef quantlib_smile_section_hpp
26#define quantlib_smile_section_hpp
70 Real discount=1.0)
const;
74 Real gap=1.0e-5)
const;
76 Real discount=1.0)
const;
79 Real gap=1.0E-4)
const;
108 "referenceDate not available for this instance");
Object that notifies its changes to a set of observers.
Object that gets notified when a given observable changes.
interest rate volatility smile section
virtual Real digitalOptionPrice(Rate strike, Option::Type type=Option::Call, Real discount=1.0, Real gap=1.0e-5) const
virtual Real varianceImpl(Rate strike) const
virtual const DayCounter & dayCounter() const
virtual Real minStrike() const =0
virtual const Date & referenceDate() const
Real variance(Rate strike) const
virtual Time exerciseTime() const
Volatility volatility(Rate strike) const
~SmileSection() override=default
virtual Real vega(Rate strike, Real discount=1.0) const
virtual Volatility volatilityImpl(Rate strike) const =0
virtual VolatilityType volatilityType() const
virtual Real atmLevel() const =0
virtual Real density(Rate strike, Real discount=1.0, Real gap=1.0E-4) const
virtual void initializeExerciseTime() const
virtual const Date & exerciseDate() const
virtual Rate shift() const
virtual Real optionPrice(Rate strike, Option::Type type=Option::Call, Real discount=1.0) const
virtual Real maxStrike() const =0
VolatilityType volatilityType_
#define QL_REQUIRE(condition, message)
throw an error if the given pre-condition is not verified
LinearInterpolation variance
Real Time
continuous quantity with 1-year units
Real Volatility
volatility
observer/observable pattern
ext::shared_ptr< BlackVolTermStructure > v