24#ifndef quantlib_sabr_vol_surface_hpp
25#define quantlib_sabr_vol_surface_hpp
43 const std::vector<Period>& optionTenors,
44 std::vector<Spread> atmRateSpreads,
142 inline std::vector<Volatility>
Black at-the-money (no-smile) volatility curve base class.
degenerate base class for the Acyclic Visitor pattern
Shared handle to an observable.
Interest rate volatility (smile) surface.
Date optionDateFromTenor(const Period &) const
period/date conversion
SABR volatility (smile) surface.
std::vector< Date > optionDates_
void registerWithMarketData()
Handle< BlackAtmVolCurve > atmCurve_
Calendar calendar() const override
the calendar used for reference and/or option date calculation
void performCalculations() const
std::vector< std::array< Real, 4 > > sabrGuesses_
std::array< Real, 4 > sabrGuesses(const Date &) const
const Date & referenceDate() const override
the date at which discount = 1.0 and/or variance = 0.0
Real minStrike() const override
the minimum strike for which the term structure can return vols
void accept(AcyclicVisitor &) override
std::vector< Volatility > volatilitySpreads(const Period &) const
std::vector< Time > optionTimes_
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< Spread > atmRateSpreads_
Date maxDate() const override
the latest date for which the curve can return values
std::vector< Period > optionTenors_
std::vector< std::vector< Handle< Quote > > > volSpreads_
const Handle< BlackAtmVolCurve > & atmCurve() const
Real maxStrike() const override
the maximum strike for which the term structure can return vols
Time maxTime() const override
the latest time for which the curve can return values
ext::shared_ptr< SmileSection > smileSectionImpl(Time) const override
void updateSabrGuesses(const Date &d, std::array< Real, 4 > newGuesses) const
Real Time
continuous quantity with 1-year units
unsigned QL_INTEGER Natural
positive integer
Interest rate volatility (smile) surface.
purely virtual base class for market observables
Interpolated smile section class.