33#include <ql/processes/blackscholesprocess.hpp>
45 const std::vector<Date>& amcGrid)
51 const std::vector<Date>& amcGrid)
55 QuantLib::ext::shared_ptr<QuantExt::ScriptedInstrument::engine>
57 const QuantLib::ext::shared_ptr<ore::data::ReferenceDataManager>& referenceData =
nullptr,
71 virtual QuantLib::Handle<QuantExt::CorrelationTermStructure>
correlationCurve(
const std::string& index1,
72 const std::string& index2);
76 void extractIndices(
const QuantLib::ext::shared_ptr<ore::data::ReferenceDataManager>& referenceData =
nullptr);
93 const std::vector<std::string>& conditionalExpectationModelStates);
96 const std::vector<std::string>& conditionalExpectationModelStates);
98 const std::vector<std::string>& conditionalExpectationModelStates);
110 const QuantLib::ext::shared_ptr<QuantExt::CrossAssetModel>
amcCam_;
136 std::vector<std::pair<std::string, QuantLib::ext::shared_ptr<InterestRateIndex>>>
modelIrIndices_;
137 std::vector<std::pair<std::string, QuantLib::ext::shared_ptr<ZeroInflationIndex>>>
modelInfIndices_;
138 std::map<std::pair<std::string, std::string>, Handle<QuantExt::CorrelationTermStructure>>
correlations_;
139 std::vector<QuantLib::ext::shared_ptr<GeneralizedBlackScholesProcess>>
processes_;
abstract syntax tree for payoff scripting
Base PricingEngine Builder class for a specific model and engine.
const string & engine() const
Return the engine name.
static IborFallbackConfig defaultConfig()
std::set< Date > simulationDates_
std::map< std::string, Real > irReversions_
const QuantLib::Date & lastRelevantDate() const
QuantLib::ext::shared_ptr< StaticAnalyser > staticAnalyser_
std::string referenceCalibrationGrid_
void buildLocalVol(const std::string &id, const IborFallbackConfig &iborFallbackConfig)
const std::string & sensitivityTemplate() const
std::string infModelType_
std::vector< std::string > modelIndices_
void buildFdGaussianCam(const std::string &id, const IborFallbackConfig &iborFallbackConfig)
void compileSimulationAndAddDates()
ScriptedTradeEngineBuilder()
constructor that builds a usual pricing engine
void buildAMCCGModel(const std::string &id, const IborFallbackConfig &iborFallbackConfig, const std::vector< std::string > &conditionalExpectationModelStates)
Model::McParams mcParams_
void compileModelCcyList()
virtual void setupBlackScholesProcesses()
void buildFdBlackScholes(const std::string &id, const IborFallbackConfig &iborFallbackConfig)
QuantLib::Date lastRelevantDate_
Size mesherMaxConcentratingPoints_
std::set< std::string > payCcys_
void extractIndices(const QuantLib::ext::shared_ptr< ore::data::ReferenceDataManager > &referenceData=nullptr)
std::string gridCoarsening_
std::vector< std::string > modelIndicesCurrencies_
std::string externalComputeDevice_
const std::map< std::string, std::set< Date > > & fixings() const
bool useExternalComputeDevice_
std::vector< Real > calibrationMoneyness_
std::set< IndexInfo > irIndices_
const std::string & scheduleProductClass() const
std::map< std::pair< std::string, std::string >, Handle< QuantExt::CorrelationTermStructure > > correlations_
std::set< IndexInfo > eqIndices_
std::vector< Handle< Quote > > modelFxSpots_
std::map< std::string, std::set< Date > > fixings_
std::string scheduleProductClass_
const QuantLib::ext::shared_ptr< QuantExt::CrossAssetModel > amcCam_
bool continueOnCalibrationError_
const std::string & npvCurrency() const
bool useDoublePrecisionForExternalCalculation_
Real mesherConcentration_
const QuantLib::ext::shared_ptr< ore::data::ModelCG > amcCgModel_
bool includePastCashflows_
void populateModelParameters()
QuantLib::ext::shared_ptr< Model > model_
void buildGaussianCam(const std::string &id, const IborFallbackConfig &iborFallbackConfig, const std::vector< std::string > &conditionalExpectationModelStates)
std::vector< std::string > modelCcys_
std::set< Date > addDates_
void setLastRelevantDate()
void buildGaussianCamAMC(const std::string &id, const IborFallbackConfig &iborFallbackConfig, const std::vector< std::string > &conditionalExpectationModelStates)
const std::vector< Date > amcGrid_
void setupCalibrationStrikes(const ScriptedTradeScriptData &script, const QuantLib::ext::shared_ptr< Context > &context)
QuantLib::ext::shared_ptr< ModelCG > modelCG_
bool externalDeviceCompatibilityMode_
void addAmcGridToContext(QuantLib::ext::shared_ptr< Context > &context) const
std::vector< std::pair< std::string, QuantLib::ext::shared_ptr< ZeroInflationIndex > > > modelInfIndices_
std::set< IndexInfo > fxIndices_
std::set< IndexInfo > commIndices_
std::set< IndexInfo > infIndices_
void buildBlackScholes(const std::string &id, const IborFallbackConfig &iborFallbackConfig)
std::string sensitivityTemplate_
std::string assetClassReplacement_
std::string getCommCcy(const IndexInfo &e)
ScriptedTradeEngineBuilder(const QuantLib::ext::shared_ptr< QuantExt::CrossAssetModel > &amcCam, const std::vector< Date > &amcGrid)
constructor that builds an AMC - enabled pricing engine
std::string resolvedProductTag_
std::map< std::string, std::vector< Real > > calibrationStrikes_
const std::string & simmProductClass() const
std::string simmProductClass_
std::vector< Handle< YieldTermStructure > > modelCurves_
std::string baseCcyParam_
ScriptedTradeEngineBuilder(const QuantLib::ext::shared_ptr< ore::data::ModelCG > &amcCgModel, const std::vector< Date > &amcGrid)
constructor that builds an AMCCG pricing engine
void compileModelIndexLists()
void populateFixingsMap(const IborFallbackConfig &iborFallbackConfig)
std::vector< std::pair< std::string, QuantLib::ext::shared_ptr< InterestRateIndex > > > modelIrIndices_
void deriveProductClass(const std::vector< ScriptedTradeValueTypeData > &indices)
std::map< std::string, ASTNodePtr > astCache_
virtual QuantLib::Handle< QuantExt::CorrelationTermStructure > correlationCurve(const std::string &index1, const std::string &index2)
std::string getEqCcy(const IndexInfo &e)
std::vector< QuantLib::ext::shared_ptr< GeneralizedBlackScholesProcess > > processes_
interface for model against which a script can be run
interface for model against which a script can be run
QuantLib::ext::shared_ptr< ASTNode > ASTNodePtr
Serializable Credit Default Swap.
scripted trade data model