Logo
Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
inputparameters.hpp
Go to the documentation of this file.
1/*
2 Copyright (C) 2022 Quaternion Risk Management Ltd
3 All rights reserved.
4
5 This file is part of ORE, a free-software/open-source library
6 for transparent pricing and risk analysis - http://opensourcerisk.org
7
8 ORE is free software: you can redistribute it and/or modify it
9 under the terms of the Modified BSD License. You should have received a
10 copy of the license along with this program.
11 The license is also available online at <http://opensourcerisk.org>
12
13 This program is distributed on the basis that it will form a useful
14 contribution to risk analytics and model standardisation, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16 FITNESS FOR A PARTICULAR PURPOSE. See the license for more details.
17*/
18
19/*! \file orea/app/inputparameters.hpp
20 \brief Input Parameters
21*/
22
23#pragma once
24
25#include <boost/filesystem/path.hpp>
28#include <orea/cube/npvcube.hpp>
42#include <orea/simm/crif.hpp>
56#include <boost/filesystem/path.hpp>
57#include <filesystem>
58
59namespace ore {
60namespace analytics {
61using namespace ore::data;
62
63//! Base class for input data, also exposed via SWIG
65public:
67 virtual ~InputParameters() {}
68
69 /*********
70 * Setters
71 *********/
72
73 void setAsOfDate(const std::string& s); // parse to Date
74 void setResultsPath(const std::string& s) { resultsPath_ = s; }
75 void setBaseCurrency(const std::string& s) { baseCurrency_ = s; }
79 void setObservationModel(const std::string& s) { observationModel_ = s; }
81 void setMarketConfig(const std::string& config, const std::string& context);
82 void setRefDataManager(const std::string& xml);
83 void setRefDataManagerFromFile(const std::string& fileName);
84 void setScriptLibrary(const std::string& xml);
85 void setScriptLibraryFromFile(const std::string& fileName);
86 void setConventions(const std::string& xml);
87 void setConventionsFromFile(const std::string& fileName);
88 void setIborFallbackConfig(const std::string& xml);
89 void setIborFallbackConfigFromFile(const std::string& fileName);
90 void setCurveConfigs(const std::string& xml);
91 void setCurveConfigsFromFile(const std::string& fileName);
92 void setPricingEngine(const std::string& xml);
93 void setPricingEngineFromFile(const std::string& fileName);
94 void setTodaysMarketParams(const std::string& xml);
95 void setTodaysMarketParamsFromFile(const std::string& fileName);
96 void setPortfolio(const std::string& xml);
97 void setPortfolioFromFile(const std::string& fileNameString, const std::filesystem::path& inputPath);
98 void setMarketConfigs(const std::map<std::string, std::string>& m);
99 void setThreads(int i) { nThreads_ = i; }
100 void setEntireMarket(bool b) { entireMarket_ = b; }
101 void setAllFixings(bool b) { allFixings_ = b; }
105 void setReportNaString(const std::string& s) { reportNaString_ = s; }
106 void setCsvQuoteChar(const char& c){ csvQuoteChar_ = c; }
107 void setCsvSeparator(const char& c) { csvSeparator_ = c; }
108 void setCsvCommentCharacter(const char& c) { csvCommentCharacter_ = c; }
109 void setDryRun(bool b) { dryRun_ = b; }
110 void setMporDays(Size s) { mporDays_ = s; }
112 void setMporDate(const QuantLib::Date& d) { mporDate_ = d; }
113 void setMporCalendar(const std::string& s);
114 void setMporForward(bool b) { mporForward_ = b; }
115
116 // Setters for npv analytics
119 // Setters for cashflows
121
122 // Setters for curves/markets
123 void setOutputCurves(bool b) { outputCurves_ = b; }
125 void setCurvesMarketConfig(const std::string& s) { curvesMarketConfig_ = s; }
126 void setCurvesGrid(const std::string& s) { curvesGrid_ = s; }
127
128 // Setters for sensi analytics
130 void setParSensi(bool b) { parSensi_ = b; }
132 void setAlignPillars(bool b) { alignPillars_ = b; }
133 void setOutputJacobi(bool b) { outputJacobi_ = b; }
135 void setSensiThreshold(Real r) { sensiThreshold_ = r; }
137 void setSensiSimMarketParams(const std::string& xml);
138 void setSensiSimMarketParamsFromFile(const std::string& fileName);
139 void setSensiScenarioData(const std::string& xml);
140 void setSensiScenarioDataFromFile(const std::string& fileName);
141 void setSensiPricingEngine(const std::string& xml);
142 void setSensiPricingEngineFromFile(const std::string& fileName);
143 void setSensiPricingEngine(const QuantLib::ext::shared_ptr<EngineData>& engineData) {
144 sensiPricingEngine_ = engineData;
145 }
146
147 // Setters for scenario
148 void setScenarioSimMarketParams(const std::string& xml);
149 void setScenarioSimMarketParamsFromFile(const std::string& fileName);
150 void setScenarioOutputFile(const std::string& filename) { scenarioOutputFile_ = filename; }
151
152 // Setters for stress testing
155 void setStressSimMarketParams(const std::string& xml);
156 void setStressSimMarketParamsFromFile(const std::string& fileName);
157 void setStressScenarioData(const std::string& xml);
158 void setStressScenarioDataFromFile(const std::string& fileName);
159 void setStressPricingEngine(const std::string& xml);
160 void setStressPricingEngineFromFile(const std::string& fileName);
161 void setStressPricingEngine(const QuantLib::ext::shared_ptr<EngineData>& engineData) {
162 stressPricingEngine_ = engineData;
163 }
164 void setStressSensitivityScenarioData(const std::string& xml);
165 void setStressSensitivityScenarioDataFromFile(const std::string& fileName);
172 void setStressAccurary(const double value) { stressAccurary_ = value; };
173 // Setters for VaR
175 void setVarQuantiles(const std::string& s); // parse to vector<Real>
176 void setVarBreakDown(bool b) { varBreakDown_ = b; }
177 void setPortfolioFilter(const std::string& s) { portfolioFilter_ = s; }
178 void setVarMethod(const std::string& s) { varMethod_ = s; }
179 void setMcVarSamples(Size s) { mcVarSamples_ = s; }
180 void setMcVarSeed(long l) { mcVarSeed_ = l; }
182 void setCovarianceDataFromFile(const std::string& fileName);
183 void setCovarianceDataFromBuffer(const std::string& xml);
184 void setSensitivityStreamFromFile(const std::string& fileName);
185 void setBenchmarkVarPeriod(const std::string& period);
186 void setHistoricalScenarioReader(const std::string& fileName);
187 void setSensitivityStreamFromBuffer(const std::string& buffer);
188 void setHistVarSimMarketParamsFromFile(const std::string& fileName);
190
191 // Setters for exposure simulation
193 void setAmc(bool b) { amc_ = b; }
194 void setAmcCg(bool b) { amcCg_ = b; }
196 void setXvaCgSensiScenarioData(const std::string& xml);
197 void setXvaCgSensiScenarioDataFromFile(const std::string& fileName);
198 void setAmcTradeTypes(const std::string& s); // parse to set<string>
199 void setExposureBaseCurrency(const std::string& s) { exposureBaseCurrency_ = s; }
200 void setExposureObservationModel(const std::string& s) { exposureObservationModel_ = s; }
201 void setNettingSetId(const std::string& s) { nettingSetId_ = s; }
202 void setScenarioGenType(const std::string& s) { scenarioGenType_ = s; }
203 void setStoreFlows(bool b) { storeFlows_ = b; }
204 void setStoreCreditStateNPVs(Size states) { storeCreditStateNPVs_ = states; }
206 void setWriteCube(bool b) { writeCube_ = b; }
207 void setWriteScenarios(bool b) { writeScenarios_ = b; }
208 void setExposureSimMarketParams(const std::string& xml);
209 void setExposureSimMarketParamsFromFile(const std::string& fileName);
210 void setScenarioGeneratorData(const std::string& xml);
211 void setScenarioGeneratorDataFromFile(const std::string& fileName);
212 void setCrossAssetModelData(const std::string& xml);
213 void setCrossAssetModelDataFromFile(const std::string& fileName);
214 void setSimulationPricingEngine(const std::string& xml);
215 void setSimulationPricingEngineFromFile(const std::string& fileName);
216 void setSimulationPricingEngine(const QuantLib::ext::shared_ptr<EngineData>& engineData) {
217 simulationPricingEngine_ = engineData;
218 }
219 void setAmcPricingEngine(const std::string& xml);
220 void setAmcPricingEngineFromFile(const std::string& fileName);
221 void setAmcPricingEngine(const QuantLib::ext::shared_ptr<EngineData>& engineData) {
222 amcPricingEngine_ = engineData;
223 }
224 void setNettingSetManager(const std::string& xml);
225 void setNettingSetManagerFromFile(const std::string& fileName);
226 void setCollateralBalances(const std::string& xml);
227 void setCollateralBalancesFromFile(const std::string& fileName);
228 // TODO: load from XML
229 // void setCounterpartyManager(const std::string& xml);
230
231 // Setters for xva
232 void setXvaBaseCurrency(const std::string& s) { xvaBaseCurrency_ = s; }
233 void setLoadCube(bool b) { loadCube_ = b; }
234 // TODO: API for setting NPV and market cubes
235 /* This overwrites scenarioGeneratorData, storeFlows, storeCreditStateNpvs to the values stored together with the
236 cube. Therefore this method should be called after setScenarioGeneratorData(), setStoreFlows(),
237 setStoreCreditStateNPVs() to ensure that the overwrite takes place. */
238 void setCubeFromFile(const std::string& file);
239 void setCube(const QuantLib::ext::shared_ptr<NPVCube>& cube);
240 void setNettingSetCubeFromFile(const std::string& file);
241 void setCptyCubeFromFile(const std::string& file);
242 void setMarketCubeFromFile(const std::string& file);
243 void setMarketCube(const QuantLib::ext::shared_ptr<AggregationScenarioData>& cube);
244 // QuantLib::ext::shared_ptr<AggregationScenarioData> mktCube();
245 void setFlipViewXVA(bool b) { flipViewXVA_ = b; }
250 void setPfeQuantile(Real r) { pfeQuantile_ = r; }
252 void setExposureAllocationMethod(const std::string& s) { exposureAllocationMethod_ = s; }
255 void setCvaAnalytic(bool b) { cvaAnalytic_ = b; }
256 void setDvaAnalytic(bool b) { dvaAnalytic_ = b; }
257 void setFvaAnalytic(bool b) { fvaAnalytic_ = b; }
258 void setColvaAnalytic(bool b) { colvaAnalytic_ = b; }
260 void setDimAnalytic(bool b) { dimAnalytic_ = b; }
261 void setDimModel(const std::string& s) { dimModel_ = s; }
262 void setMvaAnalytic(bool b) { mvaAnalytic_ = b; }
263 void setKvaAnalytic(bool b) { kvaAnalytic_ = b; }
264 void setDynamicCredit(bool b) { dynamicCredit_ = b; }
265 void setCvaSensi(bool b) { cvaSensi_ = b; }
266 void setCvaSensiGrid(const std::string& s); // parse to vector<Period>
268 void setDvaName(const std::string& s) { dvaName_ = s; }
269 void setRawCubeOutput(bool b) { rawCubeOutput_ = b; }
270 void setNetCubeOutput(bool b) { netCubeOutput_ = b; }
271 // FIXME: remove this from the base class?
272 void setRawCubeOutputFile(const std::string& s) { rawCubeOutputFile_ = s; }
273 void setNetCubeOutputFile(const std::string& s) { netCubeOutputFile_ = s; }
274 // funding value adjustment details
275 void setFvaBorrowingCurve(const std::string& s) { fvaBorrowingCurve_ = s; }
276 void setFvaLendingCurve(const std::string& s) { fvaLendingCurve_ = s; }
279 // deterministic initial margin input by netting set
280 void setDeterministicInitialMargin(const std::string& n, TimeSeries<Real> v) { deterministicInitialMargin_[n] = v; }
281 void setDeterministicInitialMarginFromFile(const std::string& fileName);
282 // dynamic initial margin details
283 void setDimQuantile(Real r) { dimQuantile_ = r; }
286 void setDimRegressors(const std::string& s); // parse to vector<string>
287 void setDimOutputGridPoints(const std::string& s); // parse to vector<Size>
288 void setDimOutputNettingSet(const std::string& s) { dimOutputNettingSet_ = s; }
291 // capital value adjustment details
293 void setKvaAlpha(Real r) { kvaAlpha_ = r; }
296 void setKvaOurPdFloor(Real r) { kvaOurPdFloor_ = r; }
300 // credit simulation
302 void setCreditMigrationDistributionGrid(const std::vector<Real>& grid) { creditMigrationDistributionGrid_ = grid; }
303 void setCreditMigrationTimeSteps(const std::vector<Size>& ts) { creditMigrationTimeSteps_ = ts; }
304 void setCreditSimulationParameters(const QuantLib::ext::shared_ptr<CreditSimulationParameters>& c) {
306 }
307 void setCreditSimulationParametersFromBuffer(const std::string& xml);
308 void setCreditSimulationParametersFromFile(const std::string& fileName);
310 // Setters for cashflow npv and dynamic backtesting
311 void setCashflowHorizon(const std::string& s); // parse to Date
312 void setPortfolioFilterDate(const std::string& s); // parse to Date
313
314 // Setters for xvaStress
315 void setXvaStressSimMarketParams(const std::string& xml);
316 void setXvaStressSimMarketParamsFromFile(const std::string& f);
317 void setXvaStressScenarioData(const std::string& s);
318 void setXvaStressScenarioDataFromFile(const std::string& s);
319 void setXvaStressSensitivityScenarioData(const std::string& xml);
320 void setXvaStressSensitivityScenarioDataFromFile(const std::string& fileName);
321 void setXvaStressWriteCubes(const bool writeCubes) { xvaStressWriteCubes_ = writeCubes; }
322
323 // Setters for xvaStress
324 void setXvaSensiSimMarketParams(const std::string& xml);
325 void setXvaSensiSimMarketParamsFromFile(const std::string& fileName);
326 void setXvaSensiScenarioData(const std::string& xml);
327 void setXvaSensiScenarioDataFromFile(const std::string& fileName);
328 void setXvaSensiPricingEngine(const std::string& xml);
329 void setXvaSensiPricingEngineFromFile(const std::string& fileName);
330 void setXvaSensiPricingEngine(const QuantLib::ext::shared_ptr<EngineData>& engineData) {
331 sensiPricingEngine_ = engineData;
332 }
333
334 // Setters for SIMM
335 void setSimmVersion(const std::string& s) { simmVersion_ = s; }
336
337 void setCrifFromFile(const std::string& fileName,
338 char eol = '\n', char delim = ',', char quoteChar = '\0', char escapeChar = '\\');
339 void setCrifFromBuffer(const std::string& csvBuffer,
340 char eol = '\n', char delim = ',', char quoteChar = '\0', char escapeChar = '\\');
341 void setSimmNameMapper(const QuantLib::ext::shared_ptr<ore::analytics::SimmBasicNameMapper>& p) { simmNameMapper_ = p; }
342 void setSimmNameMapper(const std::string& xml);
343 void setSimmNameMapperFromFile(const std::string& fileName);
344 void setSimmBucketMapper(const QuantLib::ext::shared_ptr<ore::analytics::SimmBucketMapper>& p) { simmBucketMapper_ = p; }
345 void setSimmBucketMapper(const std::string& xml);
346 void setSimmBucketMapperFromFile(const std::string& fileName);
347 void setSimmCalibrationData(const QuantLib::ext::shared_ptr<ore::analytics::SimmCalibrationData>& s) {
349 }
350 void setSimmCalibrationDataFromFile(const std::string& fileName);
353 void setSimmResultCurrency(const std::string& s) { simmResultCurrency_ = s; }
354 void setSimmReportingCurrency(const std::string& s) { simmReportingCurrency_ = s; }
357
358 // Setters for ZeroToParSensiConversion
363 void setParConversionSimMarketParams(const std::string& xml);
364 void setParConversionSimMarketParamsFromFile(const std::string& fileName);
365 void setParConversionScenarioData(const std::string& xml);
366 void setParConversionScenarioDataFromFile(const std::string& fileName);
367 void setParConversionPricingEngine(const std::string& xml);
368 void setParConversionPricingEngineFromFile(const std::string& fileName);
369 void setParConversionPricingEngine(const QuantLib::ext::shared_ptr<EngineData>& engineData) {
370 parConversionPricingEngine_ = engineData;
371 }
372 void setParConversionInputFile(const std::string& s) { parConversionInputFile_ = s; }
379
380 // Setters for ScenarioStatistics
383 // Setters for par stress conversion
384 void setParStressSimMarketParams(const std::string& xml);
385 void setParStressSimMarketParamsFromFile(const std::string& fileName);
386 void setParStressScenarioData(const std::string& xml);
387 void setParStressScenarioDataFromFile(const std::string& fileName);
388 void setParStressPricingEngine(const std::string& xml);
389 void setParStressPricingEngineFromFile(const std::string& fileName);
390 void setParStressPricingEngine(const QuantLib::ext::shared_ptr<EngineData>& engineData) {
391 parStressPricingEngine_ = engineData;
392 }
393 void setParStressSensitivityScenarioData(const std::string& xml);
394 void setParStressSensitivityScenarioDataFromFile(const std::string& fileName);
401 void setParStressAccurary(const double value) { parStressAccurary_ = value; };
402
403 // Setters for zeroToParShift conversion
404 void setZeroToParShiftSimMarketParams(const std::string& xml);
405 void setZeroToParShiftSimMarketParamsFromFile(const std::string& fileName);
406 void setZeroToParShiftScenarioData(const std::string& xml);
407 void setZeroToParShiftScenarioDataFromFile(const std::string& fileName);
408 void setZeroToParShiftPricingEngine(const std::string& xml);
409 void setZeroToParShiftPricingEngineFromFile(const std::string& fileName);
410 void setZeroToParShiftPricingEngine(const QuantLib::ext::shared_ptr<EngineData>& engineData) {
411 zeroToParShiftPricingEngine_ = engineData;
412 }
413 void setZeroToParShiftSensitivityScenarioData(const std::string& xml);
414 void setZeroToParShiftSensitivityScenarioDataFromFile(const std::string& fileName);
415
416 // Set list of analytics that shall be run
417 void setAnalytics(const std::string& s); // parse to set<string>
418 void insertAnalytic(const std::string& s);
419
420
421
422 /***************************
423 * Getters for general setup
424 ***************************/
425 const QuantLib::Date& asof() const { return asof_; }
426 const boost::filesystem::path& resultsPath() const { return resultsPath_; }
427 const std::string& baseCurrency() const { return baseCurrency_; }
428 const std::string& resultCurrency() const { return resultCurrency_; }
429 bool continueOnError() const { return continueOnError_; }
431 bool buildFailedTrades() const { return buildFailedTrades_; }
432 const std::string& observationModel() const { return observationModel_; }
434 const std::map<std::string, std::string>& marketConfigs() const { return marketConfigs_; }
435 const std::string& marketConfig(const std::string& context);
436 const QuantLib::ext::shared_ptr<ore::data::BasicReferenceDataManager>& refDataManager() const { return refDataManager_; }
437 const QuantLib::ext::shared_ptr<ore::data::Conventions>& conventions() const { return conventions_; }
438 const QuantLib::ext::shared_ptr<ore::data::IborFallbackConfig>& iborFallbackConfig() const { return iborFallbackConfig_; }
440 const QuantLib::ext::shared_ptr<ore::data::EngineData>& pricingEngine() const { return pricingEngine_; }
441 const QuantLib::ext::shared_ptr<ore::data::TodaysMarketParameters>& todaysMarketParams() const { return todaysMarketParams_; }
442 const QuantLib::ext::shared_ptr<ore::data::Portfolio>& portfolio() const { return portfolio_; }
443 const QuantLib::ext::shared_ptr<ore::data::Portfolio>& useCounterpartyOriginalPortfolio() const {
445 }
446
447 QuantLib::Size maxRetries() const { return maxRetries_; }
448 QuantLib::Size nThreads() const { return nThreads_; }
449 bool entireMarket() const { return entireMarket_; }
450 bool allFixings() const { return allFixings_; }
454 const std::string& reportNaString() const { return reportNaString_; }
456 char csvEolChar() const { return csvEolChar_; }
457 char csvQuoteChar() const { return csvQuoteChar_; }
458 char csvSeparator() const { return csvSeparator_; }
459 char csvEscapeChar() const { return csvEscapeChar_; }
460 bool dryRun() const { return dryRun_; }
461 QuantLib::Size mporDays() const { return mporDays_; }
462 QuantLib::Date mporDate();
464 if (mporCalendar_.empty()) {
465 QL_REQUIRE(!baseCurrency_.empty(), "mpor calendar or baseCurrency must be provided";);
467 } else
468 return mporCalendar_;
469 }
471 bool mporForward() const { return mporForward_; }
472
473 /***************************
474 * Getters for npv analytics
475 ***************************/
478
479 /***********************
480 * Getters for cashflows
481 ***********************/
483
484 /****************************
485 * Getters for curves/markets
486 ****************************/
487 bool outputCurves() const { return outputCurves_; };
489 const std::string& curvesMarketConfig() { return curvesMarketConfig_; }
490 const std::string& curvesGrid() const { return curvesGrid_; }
491
492 /*****************************
493 * Getters for sensi analytics
494 *****************************/
496 bool parSensi() const { return parSensi_; };
498 bool alignPillars() const { return alignPillars_; };
499 bool outputJacobi() const { return outputJacobi_; };
501 QuantLib::Real sensiThreshold() const { return sensiThreshold_; }
503 const QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters>& sensiSimMarketParams() const { return sensiSimMarketParams_; }
504 const QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData>& sensiScenarioData() const { return sensiScenarioData_; }
505 const QuantLib::ext::shared_ptr<ore::data::EngineData>& sensiPricingEngine() const { return sensiPricingEngine_; }
506 // const QuantLib::ext::shared_ptr<ore::data::TodaysMarketParameters>& sensiTodaysMarketParams() { return sensiTodaysMarketParams_; }
507
508 /****************************
509 * Getters for scenario build
510 ****************************/
511 const QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters>& scenarioSimMarketParams() const { return scenarioSimMarketParams_; }
512 const std::string& scenarioOutputFile() const { return scenarioOutputFile_; }
513
514 /****************************
515 * Getters for stress testing
516 ****************************/
517 QuantLib::Real stressThreshold() const { return stressThreshold_; }
518 const QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters>& stressSimMarketParams() const { return stressSimMarketParams_; }
519 const QuantLib::ext::shared_ptr<ore::analytics::StressTestScenarioData>& stressScenarioData() const { return stressScenarioData_; }
520 const QuantLib::ext::shared_ptr<ore::data::EngineData>& stressPricingEngine() const { return stressPricingEngine_; }
521 const QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData>& stressSensitivityScenarioData() const {
523 }
527 }
530 }
535 }
538 }
539 double stressAccurary() const { return stressAccurary_; };
540 /*****************
541 * Getters for VaR
542 *****************/
543 bool salvageCovariance() const { return salvageCovariance_; }
544 const std::vector<Real>& varQuantiles() const { return varQuantiles_; }
545 bool varBreakDown() const { return varBreakDown_; }
546 const std::string& portfolioFilter() const { return portfolioFilter_; }
547 const std::string& varMethod() const { return varMethod_; }
548 Size mcVarSamples() const { return mcVarSamples_; }
549 long mcVarSeed() const { return mcVarSeed_; }
550 const std::map<std::pair<RiskFactorKey, RiskFactorKey>, Real>& covarianceData() const { return covarianceData_; }
551 const QuantLib::ext::shared_ptr<SensitivityStream>& sensitivityStream() const { return sensitivityStream_; }
552 std::string benchmarkVarPeriod() const { return benchmarkVarPeriod_; }
553 QuantLib::ext::shared_ptr<HistoricalScenarioReader> historicalScenarioReader() const { return historicalScenarioReader_;};
554 const QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters>& histVarSimMarketParams() const { return histVarSimMarketParams_; }
556
557 /*********************************
558 * Getters for exposure simulation
559 *********************************/
561 bool amc() const { return amc_; }
562 bool amcCg() const { return amcCg_; }
563 bool xvaCgBumpSensis() const { return xvaCgBumpSensis_; }
564 const QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData>& xvaCgSensiScenarioData() const { return xvaCgSensiScenarioData_; }
565 const std::set<std::string>& amcTradeTypes() const { return amcTradeTypes_; }
566 const std::string& exposureBaseCurrency() const { return exposureBaseCurrency_; }
567 const std::string& exposureObservationModel() const { return exposureObservationModel_; }
568 const std::string& nettingSetId() const { return nettingSetId_; }
569 const std::string& scenarioGenType() const { return scenarioGenType_; }
570 bool storeFlows() const { return storeFlows_; }
573 bool writeCube() const { return writeCube_; }
574 bool writeScenarios() const { return writeScenarios_; }
575 const QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters>& exposureSimMarketParams() const { return exposureSimMarketParams_; }
576 const QuantLib::ext::shared_ptr<ScenarioGeneratorData> scenarioGeneratorData() const { return scenarioGeneratorData_; }
577 const QuantLib::ext::shared_ptr<CrossAssetModelData>& crossAssetModelData() const { return crossAssetModelData_; }
578 const QuantLib::ext::shared_ptr<ore::data::EngineData>& simulationPricingEngine() const { return simulationPricingEngine_; }
579 const QuantLib::ext::shared_ptr<ore::data::EngineData>& amcPricingEngine() const { return amcPricingEngine_; }
580 const QuantLib::ext::shared_ptr<ore::data::NettingSetManager>& nettingSetManager() const { return nettingSetManager_; }
581 // const QuantLib::ext::shared_ptr<ore::data::CounterpartyManager>& counterpartyManager() const { return counterpartyManager_; }
582 const QuantLib::ext::shared_ptr<ore::data::CollateralBalances>& collateralBalances() const { return collateralBalances_; }
584
585 /*****************
586 * Getters for xva
587 *****************/
588 const std::string& xvaBaseCurrency() const { return xvaBaseCurrency_; }
589 bool loadCube() { return loadCube_; }
590 const QuantLib::ext::shared_ptr<NPVCube>& cube() const { return cube_; }
591 const QuantLib::ext::shared_ptr<NPVCube>& nettingSetCube() const { return nettingSetCube_; }
592 const QuantLib::ext::shared_ptr<NPVCube>& cptyCube() const { return cptyCube_; }
593 const QuantLib::ext::shared_ptr<AggregationScenarioData>& mktCube() const { return mktCube_; }
594 bool flipViewXVA() const { return flipViewXVA_; }
597 bool exposureProfiles() const { return exposureProfiles_; }
599 Real pfeQuantile() const { return pfeQuantile_; }
600 const std::string& collateralCalculationType() const { return collateralCalculationType_; }
601 const std::string& exposureAllocationMethod() const { return exposureAllocationMethod_; }
603 bool exerciseNextBreak() const { return exerciseNextBreak_; }
604 bool cvaAnalytic() const { return cvaAnalytic_; }
605 bool dvaAnalytic() const { return dvaAnalytic_; }
606 bool fvaAnalytic() const { return fvaAnalytic_; }
607 bool colvaAnalytic() const { return colvaAnalytic_; }
609 bool dimAnalytic() const { return dimAnalytic_; }
610 const std::string& dimModel() const { return dimModel_; }
611 bool mvaAnalytic() const { return mvaAnalytic_; }
612 bool kvaAnalytic() const { return kvaAnalytic_; }
613 bool dynamicCredit() const { return dynamicCredit_; }
614 bool cvaSensi() const { return cvaSensi_; }
615 const std::vector<Period>& cvaSensiGrid() const { return cvaSensiGrid_; }
616 Real cvaSensiShiftSize() const { return cvaSensiShiftSize_; }
617 const std::string& dvaName() const { return dvaName_; }
618 bool rawCubeOutput() const { return rawCubeOutput_; }
619 bool netCubeOutput() const { return netCubeOutput_; }
620 const std::string& rawCubeOutputFile() const { return rawCubeOutputFile_; }
621 const std::string& netCubeOutputFile() const { return netCubeOutputFile_; }
622 // funding value adjustment details
623 const std::string& fvaBorrowingCurve() const { return fvaBorrowingCurve_; }
624 const std::string& fvaLendingCurve() const { return fvaLendingCurve_; }
626 const std::string& flipViewLendingCurvePostfix() const { return flipViewLendingCurvePostfix_; }
627 // deterministic initial margin input by nettingset
628 TimeSeries<Real> deterministicInitialMargin(const std::string& n) {
630 return deterministicInitialMargin_.at(n);
631 else
632 return TimeSeries<Real>();
633 }
634 // dynamic initial margin details
635 Real dimQuantile() const { return dimQuantile_; }
638 const std::vector<std::string>& dimRegressors() const { return dimRegressors_; }
639 const std::vector<Size>& dimOutputGridPoints() const { return dimOutputGridPoints_; }
640 const std::string& dimOutputNettingSet() const { return dimOutputNettingSet_; }
643 // capital value adjustment details
645 Real kvaAlpha() const { return kvaAlpha_; }
646 Real kvaRegAdjustment() const { return kvaRegAdjustment_; }
647 Real kvaCapitalHurdle() const { return kvaCapitalHurdle_; }
648 Real kvaOurPdFloor() const { return kvaOurPdFloor_; }
649 Real kvaTheirPdFloor() const { return kvaTheirPdFloor_; }
652 // credit simulation details
654 const std::vector<Real>& creditMigrationDistributionGrid() const { return creditMigrationDistributionGrid_; }
655 std::vector<Size> creditMigrationTimeSteps() const { return creditMigrationTimeSteps_; }
656 const QuantLib::ext::shared_ptr<CreditSimulationParameters>& creditSimulationParameters() const { return creditSimulationParameters_; }
657 const std::string& creditMigrationOutputFiles() const { return creditMigrationOutputFiles_; }
658 const QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters>& xvaStressSimMarketParams() const { return xvaStressSimMarketParams_; }
659 const QuantLib::ext::shared_ptr<ore::analytics::StressTestScenarioData>& xvaStressScenarioData() const { return xvaStressScenarioData_; }
660 const QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData>& xvaStressSensitivityScenarioData() const {
662 }
664 /**************************************************
665 * Getters for cashflow npv and dynamic backtesting
666 **************************************************/
667
668 const QuantLib::Date& cashflowHorizon() const { return cashflowHorizon_; };
669 const QuantLib::Date& portfolioFilterDate() const { return portfolioFilterDate_; }
670
671 /******************
672 * Getters for SIMM
673 ******************/
674 const std::string& simmVersion() const { return simmVersion_; }
675 const ore::analytics::Crif& crif() const { return crif_; }
676 const QuantLib::ext::shared_ptr<ore::analytics::SimmBasicNameMapper>& simmNameMapper() const { return simmNameMapper_; }
677 const QuantLib::ext::shared_ptr<ore::analytics::SimmBucketMapper>& simmBucketMapper() const { return simmBucketMapper_; }
678 const QuantLib::ext::shared_ptr<ore::analytics::SimmCalibrationData>& simmCalibrationData() const { return simmCalibrationData_; }
679 const std::string& simmCalculationCurrencyCall() const { return simmCalculationCurrencyCall_; }
680 const std::string& simmCalculationCurrencyPost() const { return simmCalculationCurrencyPost_; }
681 const std::string& simmResultCurrency() const { return simmResultCurrency_; }
682 const std::string& simmReportingCurrency() const { return simmReportingCurrency_; }
684 QuantLib::ext::shared_ptr<SimmConfiguration> getSimmConfiguration();
686
687 /**************************************************
688 * Getters for Zero to Par Sensi conversion
689 **************************************************/
693 QuantLib::Real parConversionThreshold() const { return parConversionThreshold_; }
694 const QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters>& parConversionSimMarketParams() const {
696 }
697 const QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData>& parConversionScenarioData() const {
699 }
700 const QuantLib::ext::shared_ptr<ore::data::EngineData>& parConversionPricingEngine() const { return parConversionPricingEngine_; }
701 const std::string& parConversionInputFile() const { return parConversionInputFile_; }
702 // Column Names in the input
703 const std::string& parConversionInputIdColumn() const { return parConversionInputIdColumn_; }
709
710 // Getters for ScenarioStatistics
712 const bool& scenarioOutputZeroRate() const { return scenarioOutputZeroRate_; }
713
714 // Getters for ParStressConversion
715 const QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters>& parStressSimMarketParams() const {
717 }
718 const QuantLib::ext::shared_ptr<ore::analytics::StressTestScenarioData>& parStressScenarioData() const {
720 }
721 const QuantLib::ext::shared_ptr<ore::data::EngineData>& parStressPricingEngine() const {
723 }
724 const QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData>& parStressSensitivityScenarioData() const {
726 }
727
734 double parStressAccurary() const { return parStressAccurary_; };
735
736 /*************************************
737 * XVA Sensitivity
738 *************************************/
739
740 const QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters>& xvaSensiSimMarketParams() const {
742 }
743 const QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData>& xvaSensiScenarioData() const {
745 }
746 const QuantLib::ext::shared_ptr<ore::data::EngineData>& xvaSensiPricingEngine() const { return xvaSensiPricingEngine_; }
747
748 /****************************
749 * Getters for zero to par shift
750 ****************************/
751 const QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters>& zeroToParShiftSimMarketParams() const { return zeroToParShiftSimMarketParams_; }
752 const QuantLib::ext::shared_ptr<ore::analytics::StressTestScenarioData>& zeroToParShiftScenarioData() const { return zeroToParShiftScenarioData_; }
753 const QuantLib::ext::shared_ptr<ore::data::EngineData>& zeroToParShiftPricingEngine() const { return zeroToParShiftPricingEngine_; }
754 const QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData>& zeroToParShiftSensitivityScenarioData() const {
756 }
757
758 /*************************************
759 * List of analytics that shall be run
760 *************************************/
761 const std::set<std::string>& analytics() const { return analytics_; }
762
763 virtual void loadParameters(){}
764 virtual void writeOutParameters(){}
765
766protected:
767
768 // List of analytics that shall be run, including
769 // - NPV
770 // - CASHFLOW
771 // - CASHFLOWNPV
772 // - SENSITIVITY
773 // - STRESS
774 // - VAR
775 // - EXPOSURE
776 // - XVA
777 // Each analytic type comes with additional input requirements, see below
778 std::set<std::string> analytics_;
779
780 /***********************************
781 * Basic setup, across all run types
782 ***********************************/
783 QuantLib::Date asof_;
784 boost::filesystem::path resultsPath_;
785 std::string baseCurrency_;
786 std::string resultCurrency_;
787 bool continueOnError_ = true;
790 std::string observationModel_ = "None";
792 std::map<std::string, std::string> marketConfigs_;
793 QuantLib::ext::shared_ptr<ore::data::BasicReferenceDataManager> refDataManager_;
794 QuantLib::ext::shared_ptr<ore::data::Conventions> conventions_;
795 QuantLib::ext::shared_ptr<ore::data::IborFallbackConfig> iborFallbackConfig_;
797 QuantLib::ext::shared_ptr<ore::data::EngineData> pricingEngine_;
798 QuantLib::ext::shared_ptr<ore::data::TodaysMarketParameters> todaysMarketParams_;
799 QuantLib::ext::shared_ptr<ore::data::Portfolio> portfolio_, useCounterpartyOriginalPortfolio_;
800 QuantLib::Size maxRetries_ = 7;
801 QuantLib::Size nThreads_ = 1;
802
803 bool entireMarket_ = false;
804 bool allFixings_ = false;
809 char csvEolChar_ = '\n';
810 char csvSeparator_ = ',';
811 char csvQuoteChar_ = '\0';
812 char csvEscapeChar_ = '\\';
813 std::string reportNaString_ = "#N/A";
814 bool dryRun_ = false;
815 QuantLib::Date mporDate_;
816 QuantLib::Size mporDays_ = 10;
819 bool mporForward_ = true;
820
821 /**************
822 * NPV analytic
823 *************/
826 bool outputCurves_ = false;
828 std::string curvesGrid_ = "240,1M";
830
831 /***********************************
832 * CASHFLOW and CASHFLOWNPV analytic
833 ***********************************/
835 QuantLib::Date cashflowHorizon_;
836 QuantLib::Date portfolioFilterDate_;
837
838 /**********************
839 * SENSITIVITY analytic
840 **********************/
841 bool xbsParConversion_ = false;
842 bool parSensi_ = false;
844 bool outputJacobi_ = false;
845 bool alignPillars_ = false;
847 QuantLib::Real sensiThreshold_ = 1e-6;
849 QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters> sensiSimMarketParams_;
850 QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData> sensiScenarioData_;
851 QuantLib::ext::shared_ptr<ore::data::EngineData> sensiPricingEngine_;
852 // QuantLib::ext::shared_ptr<ore::data::TodaysMarketParameters> sensiTodaysMarketParams_;
853
854 /**********************
855 * SCENARIO analytic
856 **********************/
857 QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters> scenarioSimMarketParams_;
859
860 /*****************
861 * STRESS analytic
862 *****************/
863 QuantLib::Real stressThreshold_ = 0.0;
864 QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters> stressSimMarketParams_;
865 QuantLib::ext::shared_ptr<ore::analytics::StressTestScenarioData> stressScenarioData_;
866 QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData> stressSensitivityScenarioData_;
867 QuantLib::ext::shared_ptr<ore::data::EngineData> stressPricingEngine_;
876
877 /*****************
878 * VAR analytics
879 *****************/
880 bool salvageCovariance_ = false;
881 std::vector<Real> varQuantiles_;
882 bool varBreakDown_ = false;
883 std::string portfolioFilter_;
884 // Delta, DeltaGammaNormal, MonteCarlo, Cornish-Fisher, Saddlepoint
885 std::string varMethod_ = "DeltaGammaNormal";
886 Size mcVarSamples_ = 1000000;
887 long mcVarSeed_ = 42;
888 std::map<std::pair<RiskFactorKey, RiskFactorKey>, Real> covarianceData_;
889 QuantLib::ext::shared_ptr<SensitivityStream> sensitivityStream_;
891 QuantLib::ext::shared_ptr<HistoricalScenarioReader> historicalScenarioReader_;
892 QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters> histVarSimMarketParams_;
893 std::string baseScenarioLoc_;
895
896 /*******************
897 * EXPOSURE analytic
898 *******************/
900 bool amc_ = false;
901 bool amcCg_ = false;
902 bool xvaCgBumpSensis_ = false;
903 QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData> xvaCgSensiScenarioData_;
904 std::set<std::string> amcTradeTypes_;
905 std::string exposureBaseCurrency_ = "";
906 std::string exposureObservationModel_ = "Disable";
907 std::string nettingSetId_ = "";
908 std::string scenarioGenType_ = "";
909 bool storeFlows_ = false;
912 bool writeCube_ = false;
913 bool writeScenarios_ = false;
914 QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters> exposureSimMarketParams_;
915 QuantLib::ext::shared_ptr<ScenarioGeneratorData> scenarioGeneratorData_;
916 QuantLib::ext::shared_ptr<CrossAssetModelData> crossAssetModelData_;
917 QuantLib::ext::shared_ptr<ore::data::EngineData> simulationPricingEngine_;
918 QuantLib::ext::shared_ptr<ore::data::EngineData> amcPricingEngine_;
919 QuantLib::ext::shared_ptr<ore::data::NettingSetManager> nettingSetManager_;
920 QuantLib::ext::shared_ptr<ore::data::CollateralBalances> collateralBalances_;
921 bool exposureProfiles_ = true;
923 Real pfeQuantile_ = 0.95;
925 std::string collateralCalculationType_ = "NoLag";
926 std::string exposureAllocationMethod_ = "None";
928 // intermediate results of the exposure simulation, before aggregation
929 QuantLib::ext::shared_ptr<NPVCube> cube_, nettingSetCube_, cptyCube_;
930 QuantLib::ext::shared_ptr<AggregationScenarioData> mktCube_;
932
933 /**************
934 * XVA analytic
935 **************/
936 std::string xvaBaseCurrency_ = "";
937 bool loadCube_ = false;
938 bool flipViewXVA_ = false;
939 MporCashFlowMode mporCashFlowMode_ = MporCashFlowMode::Unspecified;
940 bool exerciseNextBreak_ = false;
941 bool cvaAnalytic_ = true;
942 bool dvaAnalytic_ = false;
943 bool fvaAnalytic_ = false;
944 bool colvaAnalytic_ = false;
946 bool dimAnalytic_ = false;
947 std::string dimModel_ = "Regression";
948 bool mvaAnalytic_= false;
949 bool kvaAnalytic_= false;
950 bool dynamicCredit_ = false;
951 bool cvaSensi_ = false;
952 std::vector<Period> cvaSensiGrid_;
953 Real cvaSensiShiftSize_ = 0.0001;
954 std::string dvaName_ = "";
955 bool rawCubeOutput_ = false;
956 bool netCubeOutput_ = false;
957 std::string rawCubeOutputFile_ = "";
958 std::string netCubeOutputFile_ = "";
959 // funding value adjustment details
960 std::string fvaBorrowingCurve_ = "";
961 std::string fvaLendingCurve_ = "";
962 std::string flipViewBorrowingCurvePostfix_ = "_BORROW";
963 std::string flipViewLendingCurvePostfix_ = "_LEND";
964 // deterministic initial margin by netting set
965 std::map<std::string,TimeSeries<Real>> deterministicInitialMargin_;
966 // dynamic initial margin details
967 Real dimQuantile_ = 0.99;
970 vector<string> dimRegressors_;
975 // capital value adjustment details
977 Real kvaAlpha_ = 1.4;
978 Real kvaRegAdjustment_ = 12.5;
979 Real kvaCapitalHurdle_ = 0.012;
980 Real kvaOurPdFloor_ = 0.03;
981 Real kvaTheirPdFloor_ = 0.03;
984 // credit simulation details
987 std::vector<Size> creditMigrationTimeSteps_;
988 QuantLib::ext::shared_ptr<CreditSimulationParameters> creditSimulationParameters_;
990 QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters> xvaStressSimMarketParams_;
991 QuantLib::ext::shared_ptr<ore::analytics::StressTestScenarioData> xvaStressScenarioData_;
992 QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData> xvaStressSensitivityScenarioData_;
994 /***************
995 * SIMM analytic
996 ***************/
997 std::string simmVersion_;
999 QuantLib::ext::shared_ptr<ore::analytics::SimmBasicNameMapper> simmNameMapper_;
1000 QuantLib::ext::shared_ptr<ore::analytics::SimmBucketMapper> simmBucketMapper_;
1001 QuantLib::ext::shared_ptr<ore::analytics::SimmCalibrationData> simmCalibrationData_;
1004 std::string simmResultCurrency_ = "";
1005 std::string simmReportingCurrency_ = "";
1009
1010 /***************
1011 * Zero to Par Conversion analytic
1012 ***************/
1016 QuantLib::Real parConversionThreshold_ = 1e-6;
1017 QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters> parConversionSimMarketParams_;
1018 QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData> parConversionScenarioData_;
1019 QuantLib::ext::shared_ptr<ore::data::EngineData> parConversionPricingEngine_;
1021 std::string parConversionInputIdColumn_ = "TradeId";
1022 std::string parConversionInputRiskFactorColumn_ = "Factor_1";
1023 std::string parConversionInputDeltaColumn_ = "Delta";
1024 std::string parConversionInputCurrencyColumn_ = "Currency";
1025 std::string parConversionInputBaseNpvColumn_ = "Base NPV";
1026 std::string parConversionInputShiftSizeColumn_ = "ShiftSize_1";
1027
1028 /***************
1029 * Scenario Statistics analytic
1030 ***************/
1033
1034 /*****************
1035 * PAR STRESS CONVERSION analytic
1036 *****************/
1037 QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters> parStressSimMarketParams_;
1038 QuantLib::ext::shared_ptr<ore::analytics::StressTestScenarioData> parStressScenarioData_;
1039 QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData> parStressSensitivityScenarioData_;
1040 QuantLib::ext::shared_ptr<ore::data::EngineData> parStressPricingEngine_;
1048
1049 /*****************
1050 * ZERO TO PAR SHIFT CONVERSION analytic
1051 *****************/
1052 QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters> zeroToParShiftSimMarketParams_;
1053 QuantLib::ext::shared_ptr<ore::analytics::StressTestScenarioData> zeroToParShiftScenarioData_;
1054 QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData> zeroToParShiftSensitivityScenarioData_;
1055 QuantLib::ext::shared_ptr<ore::data::EngineData> zeroToParShiftPricingEngine_;
1056
1057 /*****************
1058 * XVA Sensitivity analytic
1059 *****************/
1060 QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters> xvaSensiSimMarketParams_;
1061 QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData> xvaSensiScenarioData_;
1062 QuantLib::ext::shared_ptr<ore::data::EngineData> xvaSensiPricingEngine_;
1063};
1064
1065inline const std::string& InputParameters::marketConfig(const std::string& context) {
1066 auto it = marketConfigs_.find(context);
1067 return (it != marketConfigs_.end() ? it->second : Market::defaultConfiguration);
1068}
1069std::vector<std::string> getFileNames(const std::string& fileString, const std::filesystem::path& path);
1070
1071//! Traditional ORE input via ore.xml and various files, output into files
1073public:
1074 OutputParameters(const QuantLib::ext::shared_ptr<Parameters>& params);
1075 //! map internal report name to the configured external file name
1076 const std::map<std::string, std::string>& fileNameMap() { return fileNameMap_; }
1077 std::string outputFileName(const std::string& internalName, const std::string& suffix);
1078
1079private:
1080 std::map<std::string, std::string> fileNameMap_;
1086 std::string cubeFileName_;
1087 std::string mktCubeFileName_;
1088 std::string rawCubeFileName_;
1089 std::string netCubeFileName_;
1091 std::vector<std::string> dimRegressionFileNames_;
1095 std::string jacobiFileName_;
1100 std::string varFileName_;
1108};
1109
1110} // namespace analytics
1111} // namespace ore
Base class for input data, also exposed via SWIG.
const QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > & sensiSimMarketParams() const
const QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > & xvaStressSensitivityScenarioData() const
void setStressAccurary(const double value)
void setParStressScenarioDataFromFile(const std::string &fileName)
void setStressScenarioData(const std::string &xml)
const std::string & flipViewBorrowingCurvePostfix() const
void setZeroToParShiftPricingEngineFromFile(const std::string &fileName)
void setXvaSensiPricingEngine(const QuantLib::ext::shared_ptr< EngineData > &engineData)
void setPortfolio(const std::string &xml)
QuantLib::ext::shared_ptr< ore::data::EngineData > amcPricingEngine_
void setNetCubeOutputFile(const std::string &s)
QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > parStressSensitivityScenarioData_
void setSimulationPricingEngineFromFile(const std::string &fileName)
const QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > & xvaStressSimMarketParams() const
void setSensiScenarioDataFromFile(const std::string &fileName)
void setParStressPricingEngine(const std::string &xml)
void setNettingSetManagerFromFile(const std::string &fileName)
void setStressPricingEngineFromFile(const std::string &fileName)
QuantLib::ext::shared_ptr< ore::data::Portfolio > useCounterpartyOriginalPortfolio_
const std::vector< Real > & creditMigrationDistributionGrid() const
void setParConversionScenarioData(const std::string &xml)
void setSensitivityStreamFromBuffer(const std::string &buffer)
const QuantLib::ext::shared_ptr< ore::data::NettingSetManager > & nettingSetManager() const
void setAnalytics(const std::string &s)
const std::string & scenarioGenType() const
const std::string & varMethod() const
const QuantLib::ext::shared_ptr< ore::analytics::StressTestScenarioData > & stressScenarioData() const
const std::string & curvesMarketConfig()
const QuantLib::ext::shared_ptr< ore::data::EngineData > & xvaSensiPricingEngine() const
QuantLib::Size nThreads() const
QuantLib::ext::shared_ptr< ore::data::TodaysMarketParameters > todaysMarketParams_
void setParConversionInputRiskFactorColumn(const std::string &s)
void setParConversionInputShiftSizeColumn(const std::string &s)
const QuantLib::ext::shared_ptr< NPVCube > & cptyCube() const
double parStressUpperBoundCapFloorVolatility() const
void setSimmCalculationCurrencyCall(const std::string &s)
void setSimmVersion(const std::string &s)
void setParStressSimMarketParams(const std::string &xml)
QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > scenarioSimMarketParams_
QuantLib::ext::shared_ptr< ore::analytics::SimmCalibrationData > simmCalibrationData_
void setCubeFromFile(const std::string &file)
QuantLib::ext::shared_ptr< ore::data::EngineData > pricingEngine_
QuantLib::ext::shared_ptr< ore::data::Conventions > conventions_
void setSensiSimMarketParamsFromFile(const std::string &fileName)
const std::string & exposureObservationModel() const
double parStressLowerBoundRatesDiscountFactor() const
QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > stressSimMarketParams_
void setStressPricingEngine(const std::string &xml)
void setDimModel(const std::string &s)
const QuantLib::ext::shared_ptr< ore::data::TodaysMarketParameters > & todaysMarketParams() const
QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > xvaSensiScenarioData_
void setParConversionInputDeltaColumn(const std::string &s)
const QuantLib::Calendar mporCalendar()
const std::string & scenarioOutputFile() const
const bool & scenarioOutputZeroRate() const
const std::string & portfolioFilter() const
void setParStressLowerBoundRatesDiscountFactor(const double value)
std::set< std::string > analytics_
const QuantLib::ext::shared_ptr< ore::analytics::StressTestScenarioData > & xvaStressScenarioData() const
std::vector< Period > cvaSensiGrid_
void setXvaStressScenarioData(const std::string &s)
QuantLib::ext::shared_ptr< ore::analytics::StressTestScenarioData > stressScenarioData_
void setParStressSensitivityScenarioData(const std::string &xml)
void setScenarioGeneratorData(const std::string &xml)
QuantLib::ext::shared_ptr< AggregationScenarioData > mktCube_
const std::string & xvaBaseCurrency() const
CurveConfigurationsManager & curveConfigs()
void setScenarioOutputFile(const std::string &filename)
void setSensiSimMarketParams(const std::string &xml)
void setCollateralBalancesFromFile(const std::string &fileName)
void setCreditSimulationParametersFromBuffer(const std::string &xml)
const QuantLib::ext::shared_ptr< ore::data::IborFallbackConfig > & iborFallbackConfig() const
void setCreditSimulationParametersFromFile(const std::string &fileName)
QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > histVarSimMarketParams_
QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > zeroToParShiftSensitivityScenarioData_
std::map< std::string, std::string > marketConfigs_
void setXvaStressSensitivityScenarioDataFromFile(const std::string &fileName)
const std::string & parConversionInputDeltaColumn() const
const ore::analytics::Crif & crif() const
void setStoreCreditStateNPVs(Size states)
const QuantLib::ext::shared_ptr< ore::analytics::SimmCalibrationData > & simmCalibrationData() const
void setZeroToParShiftScenarioDataFromFile(const std::string &fileName)
void setReportNaString(const std::string &s)
const std::string & collateralCalculationType() const
void setRefDataManager(const std::string &xml)
const std::string & nettingSetId() const
void setStressUpperBoundSurvivalProb(const double value)
QuantLib::ext::shared_ptr< ore::analytics::StressTestScenarioData > xvaStressScenarioData_
void setSensitivityStreamFromFile(const std::string &fileName)
void setStressSimMarketParamsFromFile(const std::string &fileName)
void setZeroToParShiftSimMarketParams(const std::string &xml)
void setStressPricingEngine(const QuantLib::ext::shared_ptr< EngineData > &engineData)
void setSimmReportingCurrency(const std::string &s)
const Real & simulationBootstrapTolerance() const
QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > parStressSimMarketParams_
const QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > & stressSensitivityScenarioData() const
void setCashflowHorizon(const std::string &s)
const QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > & parConversionScenarioData() const
void setZeroToParShiftPricingEngine(const QuantLib::ext::shared_ptr< EngineData > &engineData)
void setXvaSensiScenarioData(const std::string &xml)
QuantLib::ext::shared_ptr< ore::data::EngineData > parStressPricingEngine_
const QuantLib::ext::shared_ptr< ore::analytics::StressTestScenarioData > & parStressScenarioData() const
void setCurveConfigs(const std::string &xml)
const QuantLib::ext::shared_ptr< ore::analytics::SimmBucketMapper > & simmBucketMapper() const
void setCurvesMarketConfig(const std::string &s)
void setSimmCalculationCurrencyPost(const std::string &s)
void setPricingEngineFromFile(const std::string &fileName)
void setScenarioGenType(const std::string &s)
void setBenchmarkVarPeriod(const std::string &period)
const std::string & parConversionInputFile() const
void setFvaBorrowingCurve(const std::string &s)
void setParStressUpperBoundSurvivalProb(const double value)
QuantLib::ext::shared_ptr< SimmConfiguration > getSimmConfiguration()
void setCovarianceDataFromFile(const std::string &fileName)
const QuantLib::ext::shared_ptr< ore::data::EngineData > & simulationPricingEngine() const
void setMarketConfigs(const std::map< std::string, std::string > &m)
void setRefDataManagerFromFile(const std::string &fileName)
void setParStressLowerBoundCapFloorVolatility(const double value)
void setCreditMigrationDistributionGrid(const std::vector< Real > &grid)
void setAmcPricingEngineFromFile(const std::string &fileName)
boost::filesystem::path resultsPath_
void setHistVarSimMarketParamsFromFile(const std::string &fileName)
const QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > & stressSimMarketParams() const
void setParConversionSimMarketParamsFromFile(const std::string &fileName)
double stressLowerBoundRatesDiscountFactor() const
void setParConversionScenarioDataFromFile(const std::string &fileName)
const std::string & fvaBorrowingCurve() const
const std::vector< std::string > & dimRegressors() const
void setMarketCubeFromFile(const std::string &file)
void setSimulationPricingEngine(const std::string &xml)
QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > xvaStressSensitivityScenarioData_
const QuantLib::ext::shared_ptr< AggregationScenarioData > & mktCube() const
void setCsvCommentCharacter(const char &c)
std::map< std::pair< RiskFactorKey, RiskFactorKey >, Real > covarianceData_
void setParStressSensitivityScenarioDataFromFile(const std::string &fileName)
void setFvaLendingCurve(const std::string &s)
const std::string & simmReportingCurrency() const
void setExposureAllocationMethod(const std::string &s)
void setZeroToParShiftSensitivityScenarioData(const std::string &xml)
void setCrossAssetModelData(const std::string &xml)
void setSimmCalibrationDataFromFile(const std::string &fileName)
const QuantLib::ext::shared_ptr< CrossAssetModelData > & crossAssetModelData() const
QuantLib::ext::shared_ptr< ore::data::EngineData > sensiPricingEngine_
void setNettingSetCubeFromFile(const std::string &file)
QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > exposureSimMarketParams_
const std::string & curvesGrid() const
void setPortfolioFilterDate(const std::string &s)
void setCreditMigrationOutputFiles(const std::string &s)
void setExposureSimMarketParamsFromFile(const std::string &fileName)
QuantLib::Size mporDays() const
const QuantLib::ext::shared_ptr< ore::data::Conventions > & conventions() const
void setCreditMigrationTimeSteps(const std::vector< Size > &ts)
QuantLib::ext::shared_ptr< ore::data::EngineData > stressPricingEngine_
void setStressLowerBoundCapFloorVolatility(const double value)
const QuantLib::ext::shared_ptr< ore::data::EngineData > & zeroToParShiftPricingEngine() const
QuantLib::ext::shared_ptr< ore::analytics::StressTestScenarioData > zeroToParShiftScenarioData_
const QuantLib::ext::shared_ptr< SensitivityStream > & sensitivityStream() const
QuantLib::ext::shared_ptr< ore::data::BasicReferenceDataManager > refDataManager_
QuantLib::ext::shared_ptr< ore::data::EngineData > zeroToParShiftPricingEngine_
void setZeroToParShiftPricingEngine(const std::string &xml)
void setBaseCurrency(const std::string &s)
const QuantLib::ext::shared_ptr< ore::data::BasicReferenceDataManager > & refDataManager() const
QuantLib::ext::shared_ptr< ore::analytics::SimmBasicNameMapper > simmNameMapper_
const std::string & parConversionInputBaseNpvColumn() const
QuantLib::ext::shared_ptr< HistoricalScenarioReader > historicalScenarioReader() const
void setExposureObservationModel(const std::string &s)
void setScenarioDistributionSteps(const Size s)
const std::string & simmCalculationCurrencyPost() const
void setScenarioOutputZeroRate(const bool b)
void setStressSensitivityScenarioData(const std::string &xml)
QuantLib::ext::shared_ptr< ore::data::IborFallbackConfig > iborFallbackConfig_
const QuantLib::ext::shared_ptr< ore::data::EngineData > & stressPricingEngine() const
void setParConversionInputIdColumn(const std::string &s)
void setXvaCgSensiScenarioData(const std::string &xml)
void setPortfolioFilter(const std::string &s)
QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > sensiScenarioData_
void setSimmCalibrationData(const QuantLib::ext::shared_ptr< ore::analytics::SimmCalibrationData > &s)
const std::string & dvaName() const
void setPricingEngine(const std::string &xml)
const QuantLib::ext::shared_ptr< ore::data::EngineData > & pricingEngine() const
void setXvaCgSensiScenarioDataFromFile(const std::string &fileName)
const std::vector< Period > & cvaSensiGrid() const
void setOutputHistoricalScenarios(const bool b)
double stressUpperBoundRatesDiscountFactor() const
QuantLib::Real stressThreshold() const
QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > stressSensitivityScenarioData_
void setAsOfDate(const std::string &s)
const std::string & exposureAllocationMethod() const
void setStressSensitivityScenarioDataFromFile(const std::string &fileName)
void setParConversionPricingEngine(const QuantLib::ext::shared_ptr< EngineData > &engineData)
void setAmcPricingEngine(const std::string &xml)
void setParStressPricingEngineFromFile(const std::string &fileName)
void setScriptLibraryFromFile(const std::string &fileName)
const std::string & simmVersion() const
void setSimmNameMapper(const QuantLib::ext::shared_ptr< ore::analytics::SimmBasicNameMapper > &p)
void setCreditSimulationParameters(const QuantLib::ext::shared_ptr< CreditSimulationParameters > &c)
QuantLib::ext::shared_ptr< ore::data::EngineData > simulationPricingEngine_
void setStressUpperBoundCapFloorVolatility(const double value)
void setScriptLibrary(const std::string &xml)
void setZeroToParShiftSimMarketParamsFromFile(const std::string &fileName)
QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > xvaStressSimMarketParams_
void setDimOutputNettingSet(const std::string &s)
const QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > & zeroToParShiftSensitivityScenarioData() const
void setStressSimMarketParams(const std::string &xml)
QuantLib::ext::shared_ptr< ore::analytics::SimmBucketMapper > simmBucketMapper_
const QuantLib::ext::shared_ptr< NPVCube > & nettingSetCube() const
void setStressLowerBoundSurvivalProb(const double value)
void setAmcPricingEngine(const QuantLib::ext::shared_ptr< EngineData > &engineData)
void setSimmResultCurrency(const std::string &s)
QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > xvaCgSensiScenarioData_
QuantLib::ext::shared_ptr< ore::data::Portfolio > portfolio_
QuantLib::ext::shared_ptr< ScenarioGeneratorData > scenarioGeneratorData_
void setParStressSimMarketParamsFromFile(const std::string &fileName)
const QuantLib::ext::shared_ptr< ore::data::Portfolio > & portfolio() const
void setZeroToParShiftSensitivityScenarioDataFromFile(const std::string &fileName)
void setXvaSensiPricingEngineFromFile(const std::string &fileName)
const QuantLib::Date & cashflowHorizon() const
const QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > & parConversionSimMarketParams() const
void setFlipViewBorrowingCurvePostfix(const std::string &s)
void insertAnalytic(const std::string &s)
void setDeterministicInitialMargin(const std::string &n, TimeSeries< Real > v)
void setIborFallbackConfig(const std::string &xml)
const std::string & resultCurrency() const
const QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > & xvaSensiSimMarketParams() const
void setXvaBaseCurrency(const std::string &s)
void setXvaStressWriteCubes(const bool writeCubes)
const QuantLib::ext::shared_ptr< ore::data::EngineData > & sensiPricingEngine() const
QuantLib::ext::shared_ptr< ore::data::EngineData > parConversionPricingEngine_
const std::map< std::string, std::string > & marketConfigs() const
CurveConfigurationsManager curveConfigs_
QuantLib::Real sensiThreshold() const
std::vector< Size > creditMigrationTimeSteps() const
void setExposureBaseCurrency(const std::string &s)
const std::string & parConversionInputRiskFactorColumn() const
const std::string & observationModel() const
void setAmcTradeTypes(const std::string &s)
void setPortfolioFromFile(const std::string &fileNameString, const std::filesystem::path &inputPath)
void setCrifFromFile(const std::string &fileName, char eol='\n', char delim=',', char quoteChar='\0', char escapeChar='\\')
const QuantLib::Date & asof() const
const QuantLib::ext::shared_ptr< ScenarioGeneratorData > scenarioGeneratorData() const
QuantLib::ext::shared_ptr< ore::data::EngineData > xvaSensiPricingEngine_
void setParStressAccurary(const double value)
void setMarketCube(const QuantLib::ext::shared_ptr< AggregationScenarioData > &cube)
void setSensiPricingEngine(const QuantLib::ext::shared_ptr< EngineData > &engineData)
void setStressOptimiseRiskFactors(bool optimise)
void setFlipViewLendingCurvePostfix(const std::string &s)
void setParStressUpperBoundRatesDiscountFactor(const double value)
const std::string & marketConfig(const std::string &context)
std::vector< Size > creditMigrationTimeSteps_
void setTodaysMarketParams(const std::string &xml)
const std::map< std::pair< RiskFactorKey, RiskFactorKey >, Real > & covarianceData() const
void setParConversionInputCurrencyColumn(const std::string &s)
const std::string & dimModel() const
void setVarMethod(const std::string &s)
void setCrifFromBuffer(const std::string &csvBuffer, char eol='\n', char delim=',', char quoteChar='\0', char escapeChar='\\')
void setNettingSetId(const std::string &s)
const std::vector< Size > & dimOutputGridPoints() const
const std::string & reportNaString() const
void setExposureSimMarketParams(const std::string &xml)
const QuantLib::ext::shared_ptr< ore::data::CollateralBalances > & collateralBalances() const
QuantLib::ext::shared_ptr< ore::analytics::StressTestScenarioData > parStressScenarioData_
const QuantLib::ext::shared_ptr< ore::analytics::SimmBasicNameMapper > & simmNameMapper() const
QuantLib::ext::shared_ptr< SensitivityStream > sensitivityStream_
QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > sensiSimMarketParams_
const QuantLib::Date & portfolioFilterDate() const
QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > xvaSensiSimMarketParams_
QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > zeroToParShiftSimMarketParams_
const std::string & fvaLendingCurve() const
void setCollateralBalances(const std::string &xml)
void setXvaSensiPricingEngine(const std::string &xml)
void setSimmNameMapperFromFile(const std::string &fileName)
void setSensiPricingEngine(const std::string &xml)
void setParStressScenarioData(const std::string &xml)
void setXvaStressScenarioDataFromFile(const std::string &s)
void setSimulationPricingEngine(const QuantLib::ext::shared_ptr< EngineData > &engineData)
void setParStressPricingEngine(const QuantLib::ext::shared_ptr< EngineData > &engineData)
QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > parConversionSimMarketParams_
void setMarketConfig(const std::string &config, const std::string &context)
const QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > & zeroToParShiftSimMarketParams() const
void setCptyCubeFromFile(const std::string &file)
double stressUpperBoundCapFloorVolatility() const
void setMporCalendar(const std::string &s)
const std::string & parConversionInputIdColumn() const
double parStressLowerBoundCapFloorVolatility() const
void setMporCashFlowMode(const MporCashFlowMode m)
void setParConversionInputFile(const std::string &s)
QuantLib::ext::shared_ptr< CreditSimulationParameters > creditSimulationParameters_
void setCrossAssetModelDataFromFile(const std::string &fileName)
void setXvaStressSimMarketParamsFromFile(const std::string &f)
const QuantLib::ext::shared_ptr< ore::data::Portfolio > & useCounterpartyOriginalPortfolio() const
void setXvaStressSensitivityScenarioData(const std::string &xml)
const std::vector< Real > & varQuantiles() const
void setResultsPath(const std::string &s)
const QuantLib::ext::shared_ptr< ore::analytics::StressTestScenarioData > & zeroToParShiftScenarioData() const
std::size_t additionalResultsReportPrecision() const
double stressLowerBoundCapFloorVolatility() const
void setHistoricalScenarioReader(const std::string &fileName)
QuantLib::ext::shared_ptr< NPVCube > cptyCube_
TimeSeries< Real > deterministicInitialMargin(const std::string &n)
void setCube(const QuantLib::ext::shared_ptr< NPVCube > &cube)
const QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > & xvaSensiScenarioData() const
void setCovarianceDataFromBuffer(const std::string &xml)
const std::string & dimOutputNettingSet() const
void setXvaStressSimMarketParams(const std::string &xml)
void setParConversionPricingEngineFromFile(const std::string &fileName)
const QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > & parStressSensitivityScenarioData() const
const std::set< std::string > & amcTradeTypes() const
QuantLib::ext::shared_ptr< CrossAssetModelData > crossAssetModelData_
void setMporDate(const QuantLib::Date &d)
QuantLib::Real parConversionThreshold() const
const std::string & exposureBaseCurrency() const
void setCurveConfigsFromFile(const std::string &fileName)
std::map< std::string, TimeSeries< Real > > deterministicInitialMargin_
void setScenarioSimMarketParams(const std::string &xml)
const QuantLib::ext::shared_ptr< ore::data::EngineData > & amcPricingEngine() const
void setParConversionSimMarketParams(const std::string &xml)
double parStressLowerBoundSurvivalProb() const
const std::string & netCubeOutputFile() const
std::vector< Real > creditMigrationDistributionGrid_
void setZeroToParShiftScenarioData(const std::string &xml)
void setCvaSensiGrid(const std::string &s)
QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > parConversionScenarioData_
void setScenarioSimMarketParamsFromFile(const std::string &fileName)
void setStressLowerBoundRatesDiscountFactor(const double value)
MporCashFlowMode mporCashFlowMode() const
void setStressUpperBoundRatesDiscountFactor(const double value)
const QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > & parStressSimMarketParams() const
const std::string & rawCubeOutputFile() const
QuantLib::ext::shared_ptr< ore::data::NettingSetManager > nettingSetManager_
const boost::filesystem::path & resultsPath() const
void setParConversionPricingEngine(const std::string &xml)
void setAdditionalResultsReportPrecision(std::size_t p)
void setSensiScenarioData(const std::string &xml)
QuantLib::Size maxRetries() const
void setXvaSensiSimMarketParamsFromFile(const std::string &fileName)
const std::string & simmResultCurrency() const
void setTodaysMarketParamsFromFile(const std::string &fileName)
const std::string & flipViewLendingCurvePostfix() const
void setIborFallbackConfigFromFile(const std::string &fileName)
void setSimmBucketMapper(const QuantLib::ext::shared_ptr< ore::analytics::SimmBucketMapper > &p)
const std::string & simmCalculationCurrencyCall() const
void setDimRegressors(const std::string &s)
void setCurvesGrid(const std::string &s)
const std::string & creditMigrationOutputFiles() const
const QuantLib::ext::shared_ptr< NPVCube > & cube() const
void setParStressUpperBoundCapFloorVolatility(const double value)
void setObservationModel(const std::string &s)
void setDimOutputGridPoints(const std::string &s)
QuantLib::ext::shared_ptr< HistoricalScenarioReader > historicalScenarioReader_
void setXvaSensiSimMarketParams(const std::string &xml)
const QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > & xvaCgSensiScenarioData() const
const QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > & exposureSimMarketParams() const
const std::string & parConversionInputCurrencyColumn() const
const QuantLib::ext::shared_ptr< ore::data::EngineData > & parConversionPricingEngine() const
void setDeterministicInitialMarginFromFile(const std::string &fileName)
void setRawCubeOutputFile(const std::string &s)
void setConventionsFromFile(const std::string &fileName)
void setCollateralCalculationType(const std::string &s)
const std::set< std::string > & analytics() const
const QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > & scenarioSimMarketParams() const
const Size & scenarioDistributionSteps() const
QuantLib::ext::shared_ptr< ore::data::CollateralBalances > collateralBalances_
void setCovarianceData(ore::data::CSVReader &reader)
const QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > & histVarSimMarketParams() const
void setParStressLowerBoundSurvivalProb(const double value)
const QuantLib::ext::shared_ptr< CreditSimulationParameters > & creditSimulationParameters() const
void setDvaName(const std::string &s)
QuantLib::ext::shared_ptr< NPVCube > cube_
const std::string & parConversionInputShiftSizeColumn() const
void setVarQuantiles(const std::string &s)
const QuantLib::ext::shared_ptr< ore::data::EngineData > & parStressPricingEngine() const
void setStressScenarioDataFromFile(const std::string &fileName)
void setXvaSensiScenarioDataFromFile(const std::string &fileName)
void setNettingSetManager(const std::string &xml)
void setScenarioGeneratorDataFromFile(const std::string &fileName)
double parStressUpperBoundSurvivalProb() const
QuantLib::ext::shared_ptr< NPVCube > nettingSetCube_
double parStressUpperBoundRatesDiscountFactor() const
const std::string & baseCurrency() const
void setSimmBucketMapperFromFile(const std::string &fileName)
std::string benchmarkVarPeriod() const
void setSensiPricingEngineFromFile(const std::string &fileName)
void setParConversionInputBaseNpvColumn(const std::string &s)
const QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > & sensiScenarioData() const
std::set< std::string > amcTradeTypes_
Traditional ORE input via ore.xml and various files, output into files.
const std::map< std::string, std::string > & fileNameMap()
map internal report name to the configured external file name
std::map< std::string, std::string > fileNameMap_
std::string outputFileName(const std::string &internalName, const std::string &suffix)
std::vector< std::string > dimRegressionFileNames_
static const string defaultConfiguration
SafeStack< ValueType > value
Credit simulation parameter class.
Struct for holding CRIF records.
Class for loading CRIF records.
Calendar parseCalendar(const string &s)
scenario generator that builds from historical shifts
historical scenario reader
vector< string > getFileNames(const string &fileString, const std::filesystem::path &path)
The base NPV cube class.
void setConventions()
Open Risk Engine setup and analytics choice.
Scenario generator base classes.
Build a scenariogenerator.
A class to hold Scenario parameters for scenarioSimMarket.
A class to hold the parametrisation for building sensitivity scenarios.
Base class for sensitivity record streamer.
Basic SIMM class for mapping names to SIMM qualifiers.
Abstract base class for classes that map SIMM qualifiers to buckets.
SIMM class for defining SIMM risk weights, thresholds, buckets, and labels. Currently only supports t...
SIMM configuration interface.
A class to hold the parametrisation for building sensitivity scenarios.