40#include <ql/types.hpp>
50 XvaEngineCG(
const Size nThreads,
const Date&
asof,
const QuantLib::ext::shared_ptr<ore::data::Loader>& loader,
51 const QuantLib::ext::shared_ptr<ore::data::CurveConfigurations>&
curveConfigs,
52 const QuantLib::ext::shared_ptr<ore::data::TodaysMarketParameters>& todaysMarketParams,
53 const QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters>& simMarketData,
54 const QuantLib::ext::shared_ptr<ore::data::EngineData>& engineData,
55 const QuantLib::ext::shared_ptr<ore::analytics::CrossAssetModelData>& crossAssetModelData,
56 const QuantLib::ext::shared_ptr<ore::analytics::ScenarioGeneratorData>& scenarioGeneratorData,
57 const QuantLib::ext::shared_ptr<ore::data::Portfolio>& portfolio,
60 const QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData>& sensitivityData =
nullptr,
61 const QuantLib::ext::shared_ptr<ReferenceDataManager>& referenceData =
nullptr,
63 const bool bumpCvaSensis =
false,
64 const bool continueOnCalibrationError =
true,
const bool continueOnError =
true,
65 const std::string& context =
"xva engine cg");
74 const std::vector<std::pair<std::size_t, double>>& modelParameters)
const;
78 QuantLib::ext::shared_ptr<ore::data::Loader>
loader_;
79 QuantLib::ext::shared_ptr<ore::data::CurveConfigurations>
curveConfigs_;
81 QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters>
simMarketData_;
85 QuantLib::ext::shared_ptr<ore::data::Portfolio>
portfolio_;
103 QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarket>
simMarket_;
106 QuantLib::ext::shared_ptr<GaussianCamCG>
model_;
109 std::vector<RandomVariableOp>
ops_;
QuantLib::ext::shared_ptr< ore::data::CurveConfigurations > curveConfigs_
std::vector< bool > nodesD_
std::vector< bool > nodesB_
QuantLib::ext::shared_ptr< ore::data::TodaysMarketParameters > todaysMarketParams_
std::vector< bool > nodesA_
void populateModelParameters(std::vector< RandomVariable > &values, const std::vector< std::pair< std::size_t, double > > &modelParameters) const
std::string marketConfiguration_
QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > sensitivityData_
QuantLib::ext::shared_ptr< SensitivityScenarioGenerator > sensiScenarioGenerator_
QuantLib::ext::shared_ptr< InMemoryReport > sensiReport_
QuantLib::ext::shared_ptr< ore::analytics::CrossAssetModelData > crossAssetModelData_
QuantLib::ext::shared_ptr< InMemoryReport > sensiReport()
QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > simMarketData_
std::vector< std::pair< std::size_t, double > > baseModelParams_
bool continueOnCalibrationError_
std::vector< RandomVariableOpNodeRequirements > opNodeRequirements_
QuantLib::ext::shared_ptr< CrossAssetModelBuilder > camBuilder_
std::vector< RandomVariableOp > ops_
QuantLib::ext::shared_ptr< ore::data::Portfolio > portfolio_
QuantLib::ext::shared_ptr< InMemoryReport > exposureReport()
QuantLib::ext::shared_ptr< InMemoryReport > epeReport_
std::vector< bool > nodesC_
void populateConstants(std::vector< RandomVariable > &values) const
std::string marketConfigurationInCcy_
IborFallbackConfig iborFallbackConfig_
std::vector< RandomVariableGrad > grads_
QuantLib::ext::shared_ptr< ore::analytics::ScenarioGeneratorData > scenarioGeneratorData_
QuantLib::ext::shared_ptr< ore::data::Market > initMarket_
QuantLib::ext::shared_ptr< ReferenceDataManager > referenceData_
QuantLib::ext::shared_ptr< GaussianCamCG > model_
QuantLib::ext::shared_ptr< ore::data::Loader > loader_
void populateRandomVariates(std::vector< RandomVariable > &values) const
QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarket > simMarket_
QuantLib::ext::shared_ptr< ore::data::EngineData > engineData_
static IborFallbackConfig defaultConfig()
static const string inCcyConfiguration
static const string defaultConfiguration
Scenario generator configuration.
A class to hold Scenario parameters for scenarioSimMarket.
A class to hold the parametrisation for building sensitivity scenarios.
Sensitivity scenario generation.
vector< string > curveConfigs