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

Public Member Functions

 ScriptedTradeEngineBuilder ()
 constructor that builds a usual pricing engine
 ScriptedTradeEngineBuilder (const QuantLib::ext::shared_ptr< QuantExt::CrossAssetModel > &amcCam, const std::vector< Date > &amcSimDates, const std::vector< Date > &amcStickyCloseOutDates)
 constructor that builds an AMC - enabled pricing engine
 ScriptedTradeEngineBuilder (const QuantLib::ext::shared_ptr< ore::data::ModelCG > &amcCgModel, const std::vector< Date > &amcSimDates)
 constructor that builds an AMCCG pricing engine
QuantLib::ext::shared_ptr< QuantExt::ScriptedInstrument::engineengine (const std::string &id, const ScriptedTrade &scriptedTrade, const QuantLib::ext::shared_ptr< ore::data::ReferenceDataManager > &referenceData=nullptr, const QuantLib::ext::shared_ptr< IborFallbackConfig > &iborFallbackConfig=QuantLib::ext::make_shared< IborFallbackConfig >(IborFallbackConfig::defaultConfig()))
const std::string & npvCurrency () const
const QuantLib::Date & lastRelevantDate () const
const std::string & lastRelevantDateType () const
bool includePastCashflows () const
const std::string & simmProductClass () const
const std::string & scheduleProductClass () const
const std::string & sensitivityTemplate () const
const std::map< std::string, std::set< Date > > & fixings () const
Public Member Functions inherited from EngineBuilder
 EngineBuilder (const string &model, const string &engine, const set< string > &tradeTypes)
virtual ~EngineBuilder ()
 Virtual destructor.
const stringmodel () const
 Return the model name.
const stringengine () const
 Return the engine name.
const set< string > & tradeTypes () const
 Return the possible trade types.
const stringconfiguration (const MarketContext &key) const
 Return a configuration (or the default one if key not found).
virtual void reset ()
 reset the builder (e.g. clear cache)
void init (EngineFactory *const engineFactory, const QuantLib::ext::shared_ptr< Market > market, const map< MarketContext, string > &configurations, const map< string, string > &modelParameters, const map< string, string > &engineParameters, const std::map< std::string, std::string > &globalParameters={})
 Initialise this Builder with the market and parameters to use.
const std::map< std::string, std::string > globalParameters () const
EngineFactoryengineFactory () const
 return model builders

Protected Member Functions

virtual QuantLib::Handle< QuantExt::CorrelationTermStructure > correlationCurve (const std::string &index1, const std::string &index2) const
void clear ()
void extractIndices (const QuantLib::ext::shared_ptr< ore::data::ReferenceDataManager > &referenceData=nullptr)
void deriveProductClass (const std::vector< ScriptedTradeValueTypeData > &indices)
void populateModelParameters ()
void populateFixingsMap (const QuantLib::ext::shared_ptr< IborFallbackConfig > &iborFallbackConfig)
void extractPayCcys ()
void determineBaseCcy ()
void compileModelCcyList ()
void compileModelIndexLists ()
void setupCorrelations ()
void setLastRelevantDate ()
virtual void setupBlackScholesProcesses ()
void setupIrReversions ()
void compileSimulationAndAddDates ()
void buildBlackScholes (const std::string &id, const QuantLib::ext::shared_ptr< IborFallbackConfig > &iborFallbackConfig)
void buildFdBlackScholes (const std::string &id, const QuantLib::ext::shared_ptr< IborFallbackConfig > &iborFallbackConfig)
void buildLocalVol (const std::string &id, const QuantLib::ext::shared_ptr< IborFallbackConfig > &iborFallbackConfig)
void buildFdLocalVol (const std::string &id, const QuantLib::ext::shared_ptr< IborFallbackConfig > &iborFallbackConfig)
void buildGaussianCam (const std::string &id, const QuantLib::ext::shared_ptr< IborFallbackConfig > &iborFallbackConfig, const std::vector< std::string > &conditionalExpectationModelStates)
void buildFdGaussianCam (const std::string &id, const QuantLib::ext::shared_ptr< IborFallbackConfig > &iborFallbackConfig)
void buildGaussianCamAMC (const std::string &id, const QuantLib::ext::shared_ptr< IborFallbackConfig > &iborFallbackConfig, const std::vector< std::string > &conditionalExpectationModelStates)
void buildAMCCGModel (const std::string &id, const QuantLib::ext::shared_ptr< IborFallbackConfig > &iborFallbackConfig, const std::vector< std::string > &conditionalExpectationModelStates)
void addAmcGridToContext (QuantLib::ext::shared_ptr< Context > &context) const
void setupCalibrationStrikes (const ScriptedTradeScriptData &script, const QuantLib::ext::shared_ptr< Context > &context)
std::string engineParameter (const std::string &p, const std::vector< std::string > &qualifiers={}, const bool mandatory=true, const std::string &defaultValue="") const override
std::string modelParameter (const std::string &p, const std::vector< std::string > &qualifiers={}, const bool mandatory=true, const std::string &defaultValue="") const override
std::vector< std::string > getModelEngineQualifiers (const std::string &addQualifier={}) const
std::string getEqCcy (const IndexInfo &e)
std::string getCommCcy (const IndexInfo &e)
Protected Member Functions inherited from EngineBuilder
std::string getParameter (const std::map< std::string, std::string > &m, const std::string &p, const std::vector< std::string > &qs, const bool mandatory, const std::string &defaultValue) const

Protected Attributes

bool buildingAmc_ = false
bool buildingAmcCg_ = false
const QuantLib::ext::shared_ptr< QuantExt::CrossAssetModel > amcCam_
const QuantLib::ext::shared_ptr< ore::data::ModelCGamcCgModel_
const std::vector< Date > amcSimDates_
const std::vector< Date > amcStickyCloseOutDates_
std::map< std::string, ASTNodePtr > astCache_
ASTNodePtr ast_
std::string npvCurrency_
QuantLib::Date lastRelevantDate_
std::string lastRelevantDateType_
std::string simmProductClass_
std::string scheduleProductClass_
std::string sensitivityTemplate_
std::map< std::string, std::set< Date > > fixings_
std::string tradeType_
QuantLib::ext::shared_ptr< StaticAnalyserstaticAnalyser_
std::set< IndexInfoeqIndices_
std::set< IndexInfocommIndices_
std::set< IndexInfoirIndices_
std::set< IndexInfoinfIndices_
std::set< IndexInfofxIndices_
std::string resolvedProductTag_
std::string assetClassReplacement_
std::set< std::string > payCcys_
std::string baseCcy_
std::vector< std::string > modelCcys_
std::vector< Handle< YieldTermStructure > > modelCurves_
Handle< YieldTermStructure > baseCcyModelCurve_
std::vector< Handle< Quote > > modelFxSpots_
std::vector< std::string > modelIndices_
std::vector< std::string > modelIndicesCurrencies_
std::vector< std::pair< std::string, QuantLib::ext::shared_ptr< InterestRateIndex > > > modelIrIndices_
std::vector< std::pair< std::string, QuantLib::ext::shared_ptr< ZeroInflationIndex > > > modelInfIndices_
std::map< std::pair< std::string, std::string >, Handle< QuantExt::CorrelationTermStructure > > correlations_
std::vector< QuantLib::ext::shared_ptr< GeneralizedBlackScholesProcess > > processes_
std::map< std::string, Real > irReversions_
std::set< Date > simulationDates_
std::set< Date > addDates_
QuantLib::ext::shared_ptr< Modelmodel_
QuantLib::ext::shared_ptr< ModelCGmodelCG_
std::map< std::string, std::vector< Real > > calibrationStrikes_
std::map< std::string, std::string > modelParameterOverwrite_
std::map< std::string, std::string > engineParameterOverwrite_
std::string modelParam_
std::string infModelType_
std::string engineParam_
std::string baseCcyParam_
std::string gridCoarsening_
bool fullDynamicFx_
bool fullDynamicIr_
bool enforceBaseCcy_
Size modelSize_
Size timeStepsPerYear_
Model::Params params_
bool interactive_
bool zeroVolatility_
bool continueOnCalibrationError_
bool allowModelFallbacks_
std::vector< Real > calibrationMoneyness_
std::string referenceCalibrationGrid_
Real bootstrapTolerance_
bool calibrate_
std::string calibration_
bool useCg_
bool useAd_
bool useExternalComputeDevice_
bool useDoublePrecisionForExternalCalculation_
bool externalDeviceCompatibilityMode_
std::string externalComputeDevice_
bool includePastCashflows_
bool staticNpvMem_
Real indicatorSmoothingForValues_
Real indicatorSmoothingForDerivatives_
Protected Attributes inherited from EngineBuilder
string model_
string engine_
set< stringtradeTypes_
EngineFactoryengineFactory_
QuantLib::ext::shared_ptr< Marketmarket_
map< MarketContext, stringconfigurations_
map< string, stringmodelParameters_
map< string, stringengineParameters_
std::map< std::string, std::string > globalParameters_

Member Function Documentation

◆ engineParameter()

std::string engineParameter ( const std::string & p,
const std::vector< std::string > & qualifiers = {},
const bool mandatory = true,
const std::string & defaultValue = "" ) const
overrideprotectedvirtual

retrieve engine parameter p, first look for p_qualifier, if this does not exist fall back to p

Reimplemented from EngineBuilder.

◆ modelParameter()

std::string modelParameter ( const std::string & p,
const std::vector< std::string > & qualifiers = {},
const bool mandatory = true,
const std::string & defaultValue = "" ) const
overrideprotectedvirtual

retrieve model parameter p, first look for p_qualifier, if this does not exist fall back to p

Reimplemented from EngineBuilder.