24#ifndef quantlib_extended_black_variance_surface_hpp
25#define quantlib_extended_black_variance_surface_hpp
46 const std::vector<Date>& dates,
47 std::vector<Real> strikes,
56 template <
class Interpolator>
Black volatility term structure base classes.
degenerate base class for the Acyclic Visitor pattern
Black variance term structure.
void accept(AcyclicVisitor &) override
Black volatility surface modelled as variance surface.
Extrapolation upperExtrapolation_
std::vector< Real > strikes_
const std::vector< Handle< Quote > > & volatilities_
Real minStrike() const override
the minimum strike for which the term structure can return vols
std::vector< Time > times_
void accept(AcyclicVisitor &) override
@ InterpolatorDefaultExtrapolation
DayCounter dayCounter() const override
the day counter used for date/time conversion
void setInterpolation(const Interpolator &i=Interpolator())
Date maxDate() const override
the latest date for which the curve can return values
Interpolation2D varianceSurface_
Real blackVarianceImpl(Time t, Real strike) const override
Black variance calculation.
Real maxStrike() const override
the maximum strike for which the term structure can return vols
Extrapolation lowerExtrapolation_
Shared handle to an observable.
base class for 2-D interpolations.
Matrix used in linear algebra.
virtual const Date & referenceDate() const
the date at which discount = 1.0 and/or variance = 0.0
virtual Calendar calendar() const
the calendar used for reference and/or option date calculation
Visitor for a specific class
virtual void visit(T &)=0
Real Time
continuous quantity with 1-year units
Globally accessible relinkable pointer.
abstract base classes for 2-D interpolations
matrix used in linear algebra.
ext::shared_ptr< BlackVolTermStructure > v
purely virtual base class for market observables