44 const QuantLib::Size nThreads,
const QuantLib::Date& today,
45 const QuantLib::ext::shared_ptr<ore::analytics::DateGrid>& dateGrid,
const QuantLib::Size nSamples,
46 const QuantLib::ext::shared_ptr<ore::data::Loader>& loader,
47 const QuantLib::ext::shared_ptr<ore::analytics::ScenarioGenerator>& scenarioGenerator,
48 const QuantLib::ext::shared_ptr<ore::data::EngineData>& engineData,
49 const QuantLib::ext::shared_ptr<ore::data::CurveConfigurations>&
curveConfigs,
50 const QuantLib::ext::shared_ptr<ore::data::TodaysMarketParameters>& todaysMarketParams,
51 const std::string& configuration,
52 const QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters>& simMarketData,
53 const bool useSpreadedTermStructures =
false,
const bool cacheSimData =
false,
54 const QuantLib::ext::shared_ptr<ore::analytics::ScenarioFilter>& scenarioFilter =
55 QuantLib::ext::make_shared<ore::analytics::ScenarioFilter>(),
56 const QuantLib::ext::shared_ptr<ore::data::ReferenceDataManager>& referenceData =
nullptr,
58 const bool handlePseudoCurrenciesTodaysMarket =
true,
const bool handlePseudoCurrenciesSimMarket =
true,
59 const bool recalibrateModels =
true,
60 const std::function<QuantLib::ext::shared_ptr<ore::analytics::NPVCube>(
61 const QuantLib::Date&,
const std::set<std::string>&,
const std::vector<QuantLib::Date>&,
62 const QuantLib::Size)>& cubeFactory = {},
63 const std::function<QuantLib::ext::shared_ptr<ore::analytics::NPVCube>(
64 const QuantLib::Date&,
const std::vector<QuantLib::Date>&,
const QuantLib::Size)>& nettingSetCubeFactory =
66 const std::function<QuantLib::ext::shared_ptr<ore::analytics::NPVCube>(
67 const QuantLib::Date&,
const std::set<std::string>&,
const std::vector<QuantLib::Date>&,
68 const QuantLib::Size)>& cptyCubeFactory = {},
69 const std::string& context =
"unspecified",
70 const QuantLib::ext::shared_ptr<ore::analytics::Scenario>& offSetScenario =
nullptr);
78 buildCube(
const QuantLib::ext::shared_ptr<ore::data::Portfolio>& portfolio,
79 const std::function<std::vector<QuantLib::ext::shared_ptr<ore::analytics::ValuationCalculator>>()>& calculators,
80 const std::function<std::vector<QuantLib::ext::shared_ptr<ore::analytics::CounterpartyCalculator>>()>&
82 bool mporStickyDate =
true,
bool dryRun =
false);
98 QuantLib::ext::shared_ptr<ore::data::DateGrid>
dateGrid_;
100 QuantLib::ext::shared_ptr<ore::data::Loader>
loader_;
106 QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters>
simMarketData_;
115 std::function<QuantLib::ext::shared_ptr<ore::analytics::NPVCube>(
const QuantLib::Date&,
const std::set<std::string>&,
116 const std::vector<QuantLib::Date>&,
const QuantLib::Size)>
118 std::function<QuantLib::ext::shared_ptr<ore::analytics::NPVCube>(
const QuantLib::Date&,
const std::vector<QuantLib::Date>&,
119 const QuantLib::Size)>
121 std::function<QuantLib::ext::shared_ptr<ore::analytics::NPVCube>(
const QuantLib::Date&,
const std::set<std::string>&,
122 const std::vector<QuantLib::Date>&,
const QuantLib::Size)>
126 QuantLib::ext::shared_ptr<AggregationScenarioData>
128 std::vector<QuantLib::ext::shared_ptr<ore::analytics::NPVCube>>
miniCubes_;
bool handlePseudoCurrenciesSimMarket_
QuantLib::ext::shared_ptr< ore::data::CurveConfigurations > curveConfigs_
std::string configuration_
QuantLib::ext::shared_ptr< ore::data::TodaysMarketParameters > todaysMarketParams_
QuantLib::ext::shared_ptr< ore::analytics::Scenario > offsetScenario_
std::vector< QuantLib::ext::shared_ptr< ore::analytics::NPVCube > > miniNettingSetCubes_
std::function< QuantLib::ext::shared_ptr< ore::analytics::NPVCube >(const QuantLib::Date &, const std::vector< QuantLib::Date > &, const QuantLib::Size)> nettingSetCubeFactory_
std::vector< QuantLib::ext::shared_ptr< ore::analytics::NPVCube > > miniCubes_
bool useSpreadedTermStructures_
QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > simMarketData_
std::vector< QuantLib::ext::shared_ptr< ore::analytics::NPVCube > > outputCubes() const
void setAggregationScenarioData(const QuantLib::ext::shared_ptr< AggregationScenarioData > &aggregationScenarioData)
std::vector< QuantLib::ext::shared_ptr< ore::analytics::NPVCube > > outputCptyCubes() const
QuantLib::ext::shared_ptr< ore::data::DateGrid > dateGrid_
QuantLib::ext::shared_ptr< AggregationScenarioData > aggregationScenarioData_
QuantLib::ext::shared_ptr< ore::data::ReferenceDataManager > referenceData_
QuantLib::ext::shared_ptr< ore::analytics::ScenarioFilter > scenarioFilter_
std::function< QuantLib::ext::shared_ptr< ore::analytics::NPVCube >(const QuantLib::Date &, const std::set< std::string > &, const std::vector< QuantLib::Date > &, const QuantLib::Size)> cptyCubeFactory_
bool handlePseudoCurrenciesTodaysMarket_
ore::data::IborFallbackConfig iborFallbackConfig_
std::vector< QuantLib::ext::shared_ptr< ore::analytics::NPVCube > > miniCptyCubes_
QuantLib::ext::shared_ptr< ore::data::Loader > loader_
std::vector< QuantLib::ext::shared_ptr< ore::analytics::NPVCube > > outputNettingSetCubes() const
void buildCube(const QuantLib::ext::shared_ptr< ore::data::Portfolio > &portfolio, const std::function< std::vector< QuantLib::ext::shared_ptr< ore::analytics::ValuationCalculator > >()> &calculators, const std::function< std::vector< QuantLib::ext::shared_ptr< ore::analytics::CounterpartyCalculator > >()> &cptyCalculators={}, bool mporStickyDate=true, bool dryRun=false)
std::function< QuantLib::ext::shared_ptr< ore::analytics::NPVCube >(const QuantLib::Date &, const std::set< std::string > &, const std::vector< QuantLib::Date > &, const QuantLib::Size)> cubeFactory_
QuantLib::ext::shared_ptr< ore::analytics::ScenarioGenerator > scenarioGenerator_
QuantLib::ext::shared_ptr< ore::data::EngineData > engineData_
static IborFallbackConfig defaultConfig()
Scenario generator base classes.
A Market class that can be updated by Scenarios.
A class to hold Scenario parameters for scenarioSimMarket.
vector< string > curveConfigs