Logo
Reference manual - version qle_version
BlackVarianceSurfaceSparse< StrikeInterpolation, TimeInterpolation > Class Template Reference

#include <qle/termstructures/blackvariancesurfacesparse.hpp>

Inheritance diagram for BlackVarianceSurfaceSparse< StrikeInterpolation, TimeInterpolation >:

Public Types

enum class  TimeInterpolationMethod { Linear , Flat }

Public Member Functions

 BlackVarianceSurfaceSparse (const QuantLib::Date &referenceDate, const QuantLib::Calendar &cal, const std::vector< QuantLib::Date > &dates, const std::vector< QuantLib::Real > &strikes, const std::vector< QuantLib::Volatility > &volatilities, const QuantLib::DayCounter &dayCounter, bool lowerStrikeConstExtrap=true, bool upperStrikeConstExtrap=true, QuantLib::BlackVolTimeExtrapolation timeExtrapolation=QuantLib::BlackVolTimeExtrapolation::FlatVolatility, const QuantLib::VolatilityType volType=QuantLib::VolatilityType::ShiftedLognormal, const Real shift=0.0)
TermStructure interface
QuantLib::Date maxDate () const override
const QuantLib::Date & referenceDate () const override
QuantLib::DayCounter dayCounter () const override
VolatilityTermStructure interface
QuantLib::Real minStrike () const override
QuantLib::Real maxStrike () const override
Public Member Functions inherited from OptionInterpolator2d< QuantLib::Linear, QuantLib::Linear >
 OptionInterpolator2d (const QuantLib::Date &referenceDate, const QuantLib::DayCounter &dayCounter, bool lowerStrikeConstExtrap=true, bool upperStrikeConstExtrap=true, const QuantLib::Linear &interpolatorStrike=QuantLib::Linear(), const QuantLib::Linear &interpolatorExpiry=QuantLib::Linear(), const QuantLib::Date &baseDate=QuantLib::Date())
 OptionInterpolator2d default Constructor.
OptionInterpolator2doperator= (const OptionInterpolator2d &)=delete
void initialise (const std::vector< QuantLib::Date > &dates, const std::vector< QuantLib::Real > &strikes, const std::vector< QuantLib::Real > &values)
 Initialise.
std::vector< QuantLib::Time > times () const
std::vector< QuantLib::Date > expiries () const
std::vector< std::vector< QuantLib::Real > > strikes () const
std::vector< std::vector< QuantLib::Real > > values () const
QuantLib::DayCounter dayCounter () const
QuantLib::Real getValue (QuantLib::Time t, QuantLib::Real strike) const override
 virtual access methods
Public Member Functions inherited from OptionInterpolatorBase
 OptionInterpolatorBase (const QuantLib::Date &referenceDate)
virtual QuantLib::Real getValue (QuantLib::Date d, QuantLib::Real strike) const =0
const QuantLib::Date & referenceDate () const
std::vector< QuantLib::Time > times () const
std::vector< QuantLib::Date > expiries () const
std::vector< std::vector< QuantLib::Real > > strikes () const
std::vector< std::vector< QuantLib::Real > > values () const

Visitability

QuantLib::BlackVolTimeExtrapolation timeExtrapolation_
virtual void accept (QuantLib::AcyclicVisitor &v) override
virtual QuantLib::Real blackVarianceImpl (QuantLib::Time t, QuantLib::Real strike) const override

Additional Inherited Members

std::vector< QuantLib::Interpolation > interpolations_
Protected Attributes inherited from OptionInterpolatorBase
std::vector< QuantLib::Date > expiries_
std::vector< QuantLib::Time > times_
std::vector< std::vector< QuantLib::Real > > strikes_
std::vector< std::vector< QuantLib::Real > > values_
QuantLib::Date referenceDate_

Detailed Description

template<class StrikeInterpolation = QuantLib::Linear, class TimeInterpolation = QuantLib::Linear>
class QuantExt::BlackVarianceSurfaceSparse< StrikeInterpolation, TimeInterpolation >

Black volatility surface based on sparse matrix.