Logo
Reference manual - version qle_version
SabrStrippedOptionletAdapter< TimeInterpolator > Class Template Reference
Inheritance diagram for SabrStrippedOptionletAdapter< TimeInterpolator >:

Public Member Functions

 SabrStrippedOptionletAdapter (const QuantLib::ext::shared_ptr< QuantLib::StrippedOptionletBase > &sob, const QuantExt::SabrParametricVolatility::ModelVariant modelVariant, const TimeInterpolator &ti=TimeInterpolator(), const QuantLib::ext::optional< QuantLib::VolatilityType > outputVolatilityType=QuantLib::ext::nullopt, const QuantLib::Real outputDisplacement=Null< Real >(), const QuantLib::Real modelDisplacement=Null< Real >(), const std::vector< std::vector< std::pair< Real, ParametricVolatility::ParameterCalibration > > > &initialModelParameters={}, const QuantLib::Size maxCalibrationAttempts=10, const QuantLib::Real exitEarlyErrorThreshold=0.005, const QuantLib::Real maxAcceptableError=0.05)
 SabrStrippedOptionletAdapter (const QuantLib::Date &referenceDate, const QuantLib::ext::shared_ptr< QuantLib::StrippedOptionletBase > &sob, const QuantExt::SabrParametricVolatility::ModelVariant modelVariant, const TimeInterpolator &ti=TimeInterpolator(), const QuantLib::ext::optional< QuantLib::VolatilityType > outputVolatilityType=QuantLib::ext::nullopt, const QuantLib::Real outputDisplacement=Null< Real >(), const QuantLib::Real modelDisplacement=Null< Real >(), const std::vector< std::vector< std::pair< Real, ParametricVolatility::ParameterCalibration > > > &initialModelParameters={}, const QuantLib::Size maxCalibrationAttempts=10, const QuantLib::Real exitEarlyErrorThreshold=0.005, const QuantLib::Real maxAcceptableError=0.05)
TermStructure interface
QuantLib::Date maxDate () const override
VolatilityTermStructure interface
QuantLib::Rate minStrike () const override
QuantLib::Rate maxStrike () const override
LazyObject interface
void update () override
void performCalculations () const override
Observer interface
void deepUpdate () override
Inspectors
QuantLib::ext::shared_ptr< QuantLib::StrippedOptionletBase > optionletBase () const
QuantLib::ext::shared_ptr< QuantExt::ParametricVolatilityparametricVolatility () const

OptionletVolatilityStructure interface

QuantLib::VolatilityType volatilityType () const override
QuantLib::Real displacement () const override
QuantLib::ext::shared_ptr< QuantLib::SmileSection > smileSectionImpl (QuantLib::Time optionTime) const override
QuantLib::Volatility volatilityImpl (QuantLib::Time length, QuantLib::Rate strike) const override

Constructor & Destructor Documentation

◆ SabrStrippedOptionletAdapter() [1/2]

template<class TimeInterpolator>
SabrStrippedOptionletAdapter ( const QuantLib::ext::shared_ptr< QuantLib::StrippedOptionletBase > & sob,
const QuantExt::SabrParametricVolatility::ModelVariant modelVariant,
const TimeInterpolator & ti = TimeInterpolator(),
const QuantLib::ext::optional< QuantLib::VolatilityType > outputVolatilityType = QuantLib::ext::nullopt,
const QuantLib::Real outputDisplacement = Null<Real>(),
const QuantLib::Real modelDisplacement = Null<Real>(),
const std::vector< std::vector< std::pair< Real, ParametricVolatility::ParameterCalibration > > > & initialModelParameters = {},
const QuantLib::Size maxCalibrationAttempts = 10,
const QuantLib::Real exitEarlyErrorThreshold = 0.005,
const QuantLib::Real maxAcceptableError = 0.05 )

Constructor that does not take a reference date. The settlement days is derived from sob and the term structure will be a moving term structure.

◆ SabrStrippedOptionletAdapter() [2/2]

template<class TimeInterpolator>
SabrStrippedOptionletAdapter ( const QuantLib::Date & referenceDate,
const QuantLib::ext::shared_ptr< QuantLib::StrippedOptionletBase > & sob,
const QuantExt::SabrParametricVolatility::ModelVariant modelVariant,
const TimeInterpolator & ti = TimeInterpolator(),
const QuantLib::ext::optional< QuantLib::VolatilityType > outputVolatilityType = QuantLib::ext::nullopt,
const QuantLib::Real outputDisplacement = Null<Real>(),
const QuantLib::Real modelDisplacement = Null<Real>(),
const std::vector< std::vector< std::pair< Real, ParametricVolatility::ParameterCalibration > > > & initialModelParameters = {},
const QuantLib::Size maxCalibrationAttempts = 10,
const QuantLib::Real exitEarlyErrorThreshold = 0.005,
const QuantLib::Real maxAcceptableError = 0.05 )

Constructor taking an explicit referenceDate and the term structure will therefore be not moving.