33#include <ql/processes/blackscholesprocess.hpp>
44 const std::vector<QuantLib::ext::shared_ptr<GeneralizedBlackScholesProcess>>& processes,
45 const std::set<Date>& simulationDates,
const std::set<Date>& addDates,
46 const Size timeStepsPerYear);
48 const QuantLib::ext::shared_ptr<GeneralizedBlackScholesProcess>& process,
49 const std::set<Date>& simulationDates,
const std::set<Date>& addDates,
50 const Size timeStepsPerYear);
52 Handle<BlackScholesModelWrapper>
model()
const;
63 const QuantLib::ext::shared_ptr<GeneralizedBlackScholesProcess>& process);
75 const std::vector<Handle<YieldTermStructure>>
curves_;
76 const std::vector<QuantLib::ext::shared_ptr<GeneralizedBlackScholesProcess>>
processes_;
83 mutable RelinkableHandle<BlackScholesModelWrapper>
model_;
88 std::vector<Handle<BlackVolTermStructure>>
vols_;
cache for relevant points on curve / vol surfaces
virtual std::vector< std::vector< Real > > getCurveTimes() const =0
std::vector< Handle< YieldTermStructure > > allCurves_
void forceRecalculate() override
void performCalculations() const override
CalibrationPointCache cache_
virtual std::vector< QuantLib::ext::shared_ptr< GeneralizedBlackScholesProcess > > getCalibratedProcesses() const =0
const std::set< Date > addDates_
bool requiresRecalibration() const override
std::vector< Handle< BlackVolTermStructure > > vols_
std::set< Date > effectiveSimulationDates_
TimeGrid discretisationTimeGrid_
bool calibrationPointsChanged(const bool updateCache) const
virtual std::vector< std::vector< std::pair< Real, Real > > > getVolTimesStrikes() const =0
Handle< BlackScholesModelWrapper > model() const
QuantLib::ext::shared_ptr< MarketObserver > marketObserver_
RelinkableHandle< BlackScholesModelWrapper > model_
const std::vector< QuantLib::ext::shared_ptr< GeneralizedBlackScholesProcess > > processes_
const Size timeStepsPerYear_
const std::set< Date > simulationDates_
virtual void setupDatesAndTimes() const
const std::vector< Handle< YieldTermStructure > > curves_
Serializable Credit Default Swap.