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

Public Member Functions

 CommodityApoModelBuilder (const Handle< YieldTermStructure > &curve, const QuantLib::Handle< QuantLib::BlackVolTermStructure > &vol, const QuantLib::ext::shared_ptr< QuantExt::CommodityAveragePriceOption > &apo, const bool dontCalibrate)
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

void setupDatesAndTimes () const override
std::vector< QuantLib::ext::shared_ptr< GeneralizedBlackScholesProcess > > getCalibratedProcesses () const override
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)
void performCalculations () const override
bool calibrationPointsChanged (const bool updateCache) const

Protected Attributes

QuantLib::ext::shared_ptr< QuantExt::CommodityAveragePriceOption > apo_
bool dontCalibrate_ = false
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

◆ setupDatesAndTimes()

void setupDatesAndTimes ( ) const
overrideprotectedvirtual

Reimplemented from BlackScholesModelBuilderBase.

◆ getCalibratedProcesses()

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

◆ getCurveTimes()

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

◆ getVolTimesStrikes()

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