Logo
Reference manual - version ored_version
LocalVolModelBuilder Class Reference
Inheritance diagram for LocalVolModelBuilder:

Public Types

enum class  Type { Dupire , DupireFloored , AndreasenHuge }

Public Member Functions

 LocalVolModelBuilder (const std::vector< Handle< YieldTermStructure > > &curves, const std::vector< ext::shared_ptr< GeneralizedBlackScholesProcess > > &processes, const std::set< Date > &simulationDates={}, const std::set< Date > &addDates={}, const Size timeStepsPerYear=1, const Type lvType=Type::Dupire, const std::vector< Real > &calibrationMoneyness={-2.0, -1.0, 0.0, 1.0, 2.0}, const std::string &referenceCalibrationGrid="", const bool dontCalibrate=false, const Handle< YieldTermStructure > &baseCurve={})
 LocalVolModelBuilder (const Handle< YieldTermStructure > &curve, const ext::shared_ptr< GeneralizedBlackScholesProcess > &process, const std::set< Date > &simulationDates={}, const std::set< Date > &addDates={}, const Size timeStepsPerYear=1, const Type lvType=Type::Dupire, const std::vector< Real > &calibrationMoneyness={-2.0, -1.0, 0.0, 1.0, 2.0}, const std::string &referenceCalibrationGrid="", const bool dontCalibrate=false, const Handle< YieldTermStructure > &baseCurve={})
std::vector< ext::shared_ptr< GeneralizedBlackScholesProcess > > getCalibratedProcesses () const override
Public Member Functions inherited from BlackScholesModelBuilderBase
 BlackScholesModelBuilderBase (const std::vector< Handle< YieldTermStructure > > &curves, const std::vector< QuantLib::ext::shared_ptr< GeneralizedBlackScholesProcess > > &processes, const std::set< Date > &simulationDates, const std::set< Date > &addDates, const Size timeStepsPerYear, const Handle< YieldTermStructure > &baseCurve={})
 BlackScholesModelBuilderBase (const Handle< YieldTermStructure > &curve, const QuantLib::ext::shared_ptr< GeneralizedBlackScholesProcess > &process, const std::set< Date > &simulationDates, const std::set< Date > &addDates, const Size timeStepsPerYear, const Handle< YieldTermStructure > &baseCurve={})
Handle< BlackScholesModelWrapper > model () const
void forceRecalculate () override
bool requiresRecalibration () const override
void newCalcWithoutRecalibration () const override

Protected Member Functions

std::vector< std::vector< Real > > getCurveTimes () const override
std::vector< std::vector< std::pair< Real, Real > > > getVolTimesStrikes () const override
 BlackScholesModelBuilderBase (const Handle< YieldTermStructure > &curve, const QuantLib::ext::shared_ptr< GeneralizedBlackScholesProcess > &process)
virtual void setupDatesAndTimes () const
void performCalculations () const override
bool calibrationPointsChanged (const bool updateCache) const

Additional Inherited Members

const std::vector< Handle< YieldTermStructure > > curves_
const Handle< YieldTermStructure > baseCurve_
const std::vector< QuantLib::ext::shared_ptr< GeneralizedBlackScholesProcess > > processes_
const std::set< Date > simulationDates_
const std::set< Date > addDates_
const Size timeStepsPerYear_
std::set< Date > effectiveSimulationDates_
TimeGrid discretisationTimeGrid_
RelinkableHandle< BlackScholesModelWrapper > model_
bool forceCalibration_ = false
QuantLib::ext::shared_ptr< MarketObserver > marketObserver_
std::vector< Handle< BlackVolTermStructure > > vols_
std::vector< Handle< YieldTermStructure > > allCurves_
CalibrationPointCache cache_

Member Function Documentation

◆ getCalibratedProcesses()

std::vector< ext::shared_ptr< GeneralizedBlackScholesProcess > > getCalibratedProcesses ( ) const
overridevirtual

◆ getCurveTimes()

std::vector< std::vector< Real > > getCurveTimes ( ) const
overrideprotectedvirtual

◆ getVolTimesStrikes()

std::vector< std::vector< std::pair< Real, Real > > > getVolTimesStrikes ( ) const
overrideprotectedvirtual