Logo
Reference manual - version ored_version
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ScriptedTradeEngineBuilder Class Reference
+ Inheritance diagram for ScriptedTradeEngineBuilder:

Public Member Functions

 ScriptedTradeEngineBuilder ()
 constructor that builds a usual pricing engine
 
 ScriptedTradeEngineBuilder (const boost::shared_ptr< QuantExt::CrossAssetModel > &amcCam, const std::vector< Date > &amcGrid)
 constructor that builds an AMC - enabled pricing engine
 
boost::shared_ptr< QuantExt::ScriptedInstrument::engineengine (const std::string &id, const ScriptedTrade &scriptedTrade, const boost::shared_ptr< ore::data::ReferenceDataManager > &referenceData=nullptr, const IborFallbackConfig &iborFallbackConfig=IborFallbackConfig::defaultConfig())
 
const std::string & npvCurrency () const
 
const QuantLib::Date & lastRelevantDate () const
 
const std::string & simmProductClass () const
 
const std::string & scheduleProductClass () 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 string & model () const
 Return the model name.
 
const string & engine () const
 Return the engine name.
 
const set< string > & tradeTypes () const
 Return the possible trade types.
 
const string & configuration (const MarketContext &key)
 Return a configuration (or the default one if key not found)
 
virtual void reset ()
 reset the builder (e.g. clear cache)
 
void init (const boost::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. More...
 
const set< std::pair< string, boost::shared_ptr< QuantExt::ModelBuilder > > > & modelBuilders () const
 return model builders
 
std::string engineParameter (const std::string &p, const std::vector< std::string > &qualifiers={}, const bool mandatory=true, const std::string &defaultValue="") const
 
std::string modelParameter (const std::string &p, const std::vector< std::string > &qualifiers={}, const bool mandatory=true, const std::string &defaultValue="") const
 

Protected Member Functions

virtual QuantLib::Handle< QuantExt::CorrelationTermStructurecorrelationCurve (const std::string &index1, const std::string &index2)
 
void clear ()
 
void extractIndices (const boost::shared_ptr< ore::data::ReferenceDataManager > &referenceData=nullptr)
 
void deriveProductClass (const std::vector< ScriptedTradeValueTypeData > &indices)
 
void populateModelParameters ()
 
void populateFixingsMap (const 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 IborFallbackConfig &iborFallbackConfig)
 
void buildFdBlackScholes (const std::string &id, const IborFallbackConfig &iborFallbackConfig)
 
void buildLocalVol (const std::string &id, const IborFallbackConfig &iborFallbackConfig)
 
void buildGaussianCam (const std::string &id, const IborFallbackConfig &iborFallbackConfig, const std::vector< std::string > &conditionalExpectationModelStates)
 
void buildGaussianCamAMC (const std::string &id, const IborFallbackConfig &iborFallbackConfig, const std::vector< std::string > &conditionalExpectationModelStates)
 
void addAmcGridToContext (boost::shared_ptr< Context > &context) const
 
void setupCalibrationStrikes (const ScriptedTradeScriptData &script, const boost::shared_ptr< Context > &context)
 
std::string getEqCcy (const IndexInfo &e)
 
std::string getCommCcy (const IndexInfo &e)
 

Protected Attributes

const boost::shared_ptr< QuantExt::CrossAssetModelamcCam_
 
const std::vector< Date > amcGrid_
 
std::map< std::string, ASTNodePtr > astCache_
 
ASTNodePtr ast_
 
std::string npvCurrency_
 
QuantLib::Date lastRelevantDate_
 
std::string simmProductClass_
 
std::string scheduleProductClass_
 
std::map< std::string, std::set< Date > > fixings_
 
boost::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_
 
std::vector< Handle< Quote > > modelFxSpots_
 
std::vector< std::string > modelIndices_
 
std::vector< std::string > modelIndicesCurrencies_
 
std::vector< std::pair< std::string, boost::shared_ptr< InterestRateIndex > > > modelIrIndices_
 
std::vector< std::pair< std::string, boost::shared_ptr< ZeroInflationIndex > > > modelInfIndices_
 
std::map< std::pair< std::string, std::string >, Handle< QuantExt::CorrelationTermStructure > > correlations_
 
std::vector< boost::shared_ptr< GeneralizedBlackScholesProcess > > processes_
 
std::map< std::string, Real > irReversions_
 
std::set< Date > simulationDates_
 
std::set< Date > addDates_
 
boost::shared_ptr< Modelmodel_
 
boost::shared_ptr< ModelCGmodelCG_
 
std::map< std::string, std::vector< Real > > calibrationStrikes_
 
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::McParams mcParams_
 
bool interactive_
 
bool zeroVolatility_
 
bool continueOnCalibrationError_
 
std::vector< Real > calibrationMoneyness_
 
Real mesherEpsilon_
 
Real mesherScaling_
 
Real mesherConcentration_
 
Size mesherMaxConcentratingPoints_
 
bool mesherIsStatic_
 
std::string referenceCalibrationGrid_
 
Real bootstrapTolerance_
 
bool calibrate_
 
std::string calibration_
 
bool useCg_
 
bool useAd_
 
bool useExternalComputeDevice_
 
std::string externalComputeDevice_
 
- Protected Attributes inherited from EngineBuilder
string model_
 
string engine_
 
set< string > tradeTypes_
 
boost::shared_ptr< Marketmarket_
 
map< MarketContext, string > configurations_
 
map< string, string > modelParameters_
 
map< string, string > engineParameters_
 
std::map< std::string, std::string > globalParameters_
 
set< std::pair< string, boost::shared_ptr< QuantExt::ModelBuilder > > > modelBuilders_