Skip to content

Commit a5ef191

Browse files
author
jenkins
committed
git subrepo pull (merge) ore
subrepo: subdir: "ore" merged: "98b3c5b1a0" upstream: origin: "git@gitlab.acadiasoft.net:qs/ore.git" branch: "master" commit: "cbb0c44e89" git-subrepo: version: "0.4.6" origin: "https://github.com/ingydotnet/git-subrepo" commit: "73a0129"
2 parents bc5ae2d + cbb0c44 commit a5ef191

20 files changed

Lines changed: 901 additions & 387 deletions
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
<?xml version="1.0"?>
2+
<ORE>
3+
<Setup>
4+
<Parameter name="asofDate">2016-02-05</Parameter>
5+
<Parameter name="inputPath">Input</Parameter>
6+
<Parameter name="outputPath">Output</Parameter>
7+
<Parameter name="logFile">log.txt</Parameter>
8+
<Parameter name="logMask">31</Parameter>
9+
<Parameter name="marketDataFile">market.txt</Parameter>
10+
<Parameter name="fixingDataFile">../../Input/fixings_20160205.txt</Parameter>
11+
<Parameter name="implyTodaysFixings">N</Parameter>
12+
<Parameter name="curveConfigFile">../../Input/curveconfig.xml</Parameter>
13+
<Parameter name="conventionsFile">../../Input/conventions.xml</Parameter>
14+
<Parameter name="marketConfigFile">todaysmarket.xml</Parameter>
15+
<Parameter name="pricingEnginesFile">pricingengine.xml</Parameter>
16+
<Parameter name="portfolioFile">portfolio.xml</Parameter>
17+
<Parameter name="observationModel">None</Parameter>
18+
<Parameter name="scriptLibrary">scriptlibrary.xml</Parameter>
19+
<Parameter name="nThreads">1</Parameter>
20+
</Setup>
21+
<Markets>
22+
<Parameter name="lgmcalibration">collateral_inccy</Parameter>
23+
<Parameter name="fxcalibration">xois_eur</Parameter>
24+
<Parameter name="pricing">xois_eur</Parameter>
25+
<Parameter name="simulation">xois_eur</Parameter>
26+
<Parameter name="sensitivity">xois_eur</Parameter>
27+
</Markets>
28+
<Analytics>
29+
<Analytic type="npv">
30+
<Parameter name="active">Y</Parameter>
31+
<Parameter name="baseCurrency">EUR</Parameter>
32+
<Parameter name="outputFileName">npv.csv</Parameter>
33+
</Analytic>
34+
<Analytic type="cashflow">
35+
<Parameter name="active">Y</Parameter>
36+
<Parameter name="outputFileName">flows.csv</Parameter>
37+
</Analytic>
38+
<Analytic type="curves">
39+
<Parameter name="active">N</Parameter>
40+
<Parameter name="configuration">default</Parameter>
41+
<Parameter name="grid">240,1M</Parameter>
42+
<Parameter name="outputFileName">curves.csv</Parameter>
43+
</Analytic>
44+
<Analytic type="simulation">
45+
<Parameter name="active">Y</Parameter>
46+
<Parameter name="amc">Y</Parameter>
47+
<Parameter name="amcCg">Y</Parameter>
48+
<Parameter name="xvaCgBumpSensis">Y</Parameter>
49+
<Parameter name="xvaCgSensitivityConfigFile">xvasensiconfig.xml</Parameter>
50+
<Parameter name="xvaCgUseExternalComputeDevice">Y</Parameter>
51+
<Parameter name="xvaCgExternalDeviceCompatibilityMode">Y</Parameter>
52+
<Parameter name="xvaCgUseDoublePrecisionForExternalCalculation">N</Parameter>
53+
<Parameter name="xvaCgExternalComputeDevice">BasicCpu/Default/Default</Parameter>
54+
<!-- <Parameter name="xvaCgExternalComputeDevice">OpenCL/Apple/Apple M2 Max</Parameter> -->
55+
<Parameter name="amcTradeTypes">Swap</Parameter>
56+
<Parameter name="simulationConfigFile">simulation_gpu.xml</Parameter>
57+
<Parameter name="pricingEnginesFile">pricingengine.xml</Parameter>
58+
<Parameter name="amcPricingEnginesFile">pricingengine_amc.xml</Parameter>
59+
<Parameter name="baseCurrency">EUR</Parameter>
60+
<Parameter name="storeScenarios">N</Parameter>
61+
<Parameter name="cubeFile">cube.csv.gz</Parameter>
62+
<Parameter name="aggregationScenarioDataFileName">scenariodata.csv.gz</Parameter>
63+
<Parameter name="aggregationScenarioDataDump">scenariodata.csv</Parameter>
64+
</Analytic>
65+
</Analytics>
66+
</ORE>
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
<?xml version="1.0"?>
2+
<Simulation>
3+
<Parameters>
4+
<Grid>528,2W</Grid>
5+
<Calendar>EUR,USD,GBP,CHF</Calendar>
6+
<Sequence>MersenneTwister</Sequence>
7+
<Scenario>Simple</Scenario>
8+
<Seed>42</Seed>
9+
<Samples>8192</Samples>
10+
<DayCounter>A365F</DayCounter>
11+
</Parameters>
12+
<CrossAssetModel>
13+
<Discretization>Euler</Discretization>
14+
<DomesticCcy>EUR</DomesticCcy>
15+
<Currencies>
16+
<Currency>EUR</Currency>
17+
</Currencies>
18+
<BootstrapTolerance>0.0001</BootstrapTolerance>
19+
<InterestRateModels>
20+
<LGM ccy="default">
21+
<CalibrationType>Bootstrap</CalibrationType>
22+
<Volatility>
23+
<Calibrate>Y</Calibrate>
24+
<VolatilityType>Hagan</VolatilityType>
25+
<ParamType>Piecewise</ParamType>
26+
<TimeGrid>1.0, 2.0, 3.0, 4.0, 5.0, 7.0, 10.0</TimeGrid>
27+
<InitialValue>0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01</InitialValue>
28+
</Volatility>
29+
<Reversion>
30+
<Calibrate>N</Calibrate>
31+
<ReversionType>HullWhite</ReversionType>
32+
<ParamType>Constant</ParamType>
33+
<TimeGrid/>
34+
<InitialValue>0.0</InitialValue>
35+
</Reversion>
36+
<CalibrationSwaptions>
37+
<Expiries> 1Y, 2Y, 3Y, 4Y, 5Y, 6Y, 7Y, 8Y, 9Y, 10Y, 11Y, 12Y, 13Y, 14Y, 15Y, 16Y, 17Y, 18Y, 19Y</Expiries>
38+
<Terms> 19Y, 18Y, 17Y, 16Y, 15Y, 14Y, 13Y, 12Y, 11y, 10Y, 9Y, 8Y, 7Y, 6Y, 5Y, 4Y, 3Y, 2Y, 1Y</Terms>
39+
<Strikes/>
40+
</CalibrationSwaptions>
41+
<ParameterTransformation>
42+
<ShiftHorizon>20.0</ShiftHorizon>
43+
<Scaling>1.0</Scaling>
44+
</ParameterTransformation>
45+
</LGM>
46+
</InterestRateModels>
47+
<ForeignExchangeModels>
48+
<CrossCcyLGM foreignCcy="default">
49+
<DomesticCcy>EUR</DomesticCcy>
50+
<CalibrationType>Bootstrap</CalibrationType>
51+
<Sigma>
52+
<Calibrate>Y</Calibrate>
53+
<ParamType>Piecewise</ParamType>
54+
<TimeGrid>1.0, 2.0, 3.0, 4.0, 5.0, 7.0, 10.0</TimeGrid>
55+
<InitialValue>0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1</InitialValue>
56+
</Sigma>
57+
<CalibrationOptions>
58+
<Expiries>1Y, 2Y, 3Y, 4Y, 5Y, 10Y</Expiries>
59+
<Strikes/>
60+
</CalibrationOptions>
61+
</CrossCcyLGM>
62+
</ForeignExchangeModels>
63+
<InstantaneousCorrelations/>
64+
</CrossAssetModel>
65+
<Market>
66+
<BaseCurrency>EUR</BaseCurrency>
67+
<Currencies>
68+
<Currency>EUR</Currency>
69+
</Currencies>
70+
<YieldCurves>
71+
<Configuration>
72+
<Tenors>2W, 1M, 3M, 6M, 1Y, 2Y, 3Y, 5Y, 10Y, 15Y, 20Y, 30Y</Tenors>
73+
<Interpolation>LogLinear</Interpolation>
74+
<Extrapolation>Y</Extrapolation>
75+
</Configuration>
76+
</YieldCurves>
77+
<DefaultCurves>
78+
<Names>
79+
<Name>BANK</Name>
80+
</Names>
81+
<Tenors>2W, 1M, 3M, 6M, 1Y, 2Y, 3Y, 5Y, 10Y, 15Y, 20Y, 30Y</Tenors>
82+
<SimulateSurvivalProbabilities>true</SimulateSurvivalProbabilities>
83+
</DefaultCurves>
84+
<Indices>
85+
<Index>EUR-EURIBOR-6M</Index>
86+
<Index>EUR-EURIBOR-3M</Index>
87+
<Index>EUR-EONIA</Index>
88+
</Indices>
89+
<SwapIndices>
90+
<SwapIndex>
91+
<Name>EUR-CMS-1Y</Name>
92+
<DiscountingIndex>EUR-EONIA</DiscountingIndex>
93+
</SwapIndex>
94+
<SwapIndex>
95+
<Name>EUR-CMS-30Y</Name>
96+
<DiscountingIndex>EUR-EONIA</DiscountingIndex>
97+
</SwapIndex>
98+
</SwapIndices>
99+
<SwaptionVolatilities>
100+
<Simulate>true</Simulate>
101+
<ReactionToTimeDecay>ForwardVariance</ReactionToTimeDecay>
102+
<Currencies>
103+
<Currency>EUR</Currency>
104+
</Currencies>
105+
<Expiries>1Y, 2Y, 3Y, 4Y, 5Y, 7Y, 10Y, 12Y, 15Y, 20Y, 30Y</Expiries>
106+
<Terms>1Y, 2Y, 3Y, 4Y, 5Y, 7Y, 10Y, 12Y, 15Y, 20Y, 30Y</Terms>
107+
<SimulateATMOnly>true</SimulateATMOnly>
108+
<SmileDynamics key="">StickyStrike</SmileDynamics>
109+
</SwaptionVolatilities>
110+
<AggregationScenarioDataCurrencies>
111+
<Currency>EUR</Currency>
112+
</AggregationScenarioDataCurrencies>
113+
<AggregationScenarioDataIndices>
114+
<Index>EUR-EURIBOR-3M</Index>
115+
<Index>EUR-EONIA</Index>
116+
</AggregationScenarioDataIndices>
117+
</Market>
118+
</Simulation>

Examples/Example_63/ExpectedOutput/stresstest.csv

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,19 @@ CDS,eur_ester_par_and_FX,-64058.63,-64363.10,-304.47
66
CDS,eur_ester_zero,-64058.63,-64055.12,3.51
77
CDS,xccy_basis_per,-64058.63,-64996.71,-938.08
88
CDS,xccy_basis_zero,-64058.63,-63292.51,766.12
9-
Cap,eur6m_no_caplet,4988926.69,5688615.63,699688.94
10-
Cap,eur6m_par,4988926.69,5702737.92,713811.23
9+
Cap,eur6m_no_caplet,4988926.69,5710609.13,721682.44
10+
Cap,eur6m_par,4988926.69,5721598.62,732671.93
1111
Cap,eur6m_zero,4988926.69,5551185.80,562259.11
1212
Cap,eur_capfloor_par,4988926.69,4413744.60,-575182.09
1313
Cap,eur_capfloor_zero,4988926.69,4411082.64,-577844.06
14-
Cap,eur_ester_par,4988926.69,4925225.31,-63701.38
15-
Cap,eur_ester_par_and_FX,4988926.69,4925225.31,-63701.38
14+
Cap,eur_ester_par,4988926.69,4923338.02,-65588.67
15+
Cap,eur_ester_par_and_FX,4988926.69,4923338.02,-65588.67
1616
Cap,eur_ester_zero,4988926.69,4938763.65,-50163.04
17-
EUR6MSwap,eur6m_no_caplet,5924803.71,8061685.03,2136881.32
18-
EUR6MSwap,eur6m_par,5924803.71,8061685.03,2136881.32
17+
EUR6MSwap,eur6m_no_caplet,5924803.71,8055907.11,2131103.40
18+
EUR6MSwap,eur6m_par,5924803.71,8055907.11,2131103.40
1919
EUR6MSwap,eur6m_zero,5924803.71,7615306.91,1690503.20
20-
EUR6MSwap,eur_ester_par,5924803.71,5847119.02,-77684.69
21-
EUR6MSwap,eur_ester_par_and_FX,5924803.71,5847119.02,-77684.69
20+
EUR6MSwap,eur_ester_par,5924803.71,5847515.87,-77287.84
21+
EUR6MSwap,eur_ester_par_and_FX,5924803.71,5847515.87,-77287.84
2222
EUR6MSwap,eur_ester_zero,5924803.71,5867078.77,-57724.94
2323
XccySwap,eur_ester_par,268875.79,1184689.32,915813.53
2424
XccySwap,eur_ester_par_and_FX,268875.79,230961.73,-37914.06

Examples/Example_63/Input/sensitivity.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,9 @@
5050
<ShiftType>Absolute</ShiftType>
5151
<ShiftSize>0.0001</ShiftSize>
5252
<ShiftScheme>Forward</ShiftScheme>
53-
<ShiftTenors>1D, 1M, 2M, 3M, 4M, 5M, 6M, 9M, 1Y, 2Y, 3Y, 4Y, 5Y, 6Y, 7Y, 8Y, 9Y, 10Y, 12Y, 15Y, 20Y, 25Y, 30Y, 40Y, 50Y, 60Y</ShiftTenors>
53+
<ShiftTenors>6M, 7M, 8M,9M,10M,11M,1Y,15M,18M, 2Y, 3Y, 4Y, 5Y, 6Y, 7Y, 8Y, 9Y, 10Y, 12Y, 15Y, 20Y, 25Y, 30Y, 40Y, 50Y, 60Y</ShiftTenors>
5454
<ParConversion>
55-
<Instruments>DEP, DEP, DEP, DEP, DEP, DEP, DEP, DEP, DEP, IRS, IRS, IRS, IRS, IRS, IRS, IRS, IRS, IRS, IRS, IRS, IRS, IRS, IRS, IRS, IRS, IRS</Instruments>
55+
<Instruments>DEP, FRA, FRA,FRA,FRA,FRA,FRA,FRA,FRA, IRS, IRS, IRS, IRS, IRS, IRS, IRS, IRS, IRS, IRS, IRS, IRS, IRS, IRS, IRS, IRS, IRS</Instruments>
5656
<SingleCurve>false</SingleCurve>
5757
<DiscountCurve>EUR-ESTER</DiscountCurve>
5858
<Conventions>

Examples/Example_63/Input/stresstest.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@
286286
<IndexCurve index="EUR-EURIBOR-6M">
287287
<ShiftType>Absolute</ShiftType>
288288
<Shifts>0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01</Shifts>
289-
<ShiftTenors>1D, 1M,2M,3M,4M,5M,6M,9M,1Y,2Y,3Y,4Y,5Y,6Y,7Y,8Y,9Y,10Y,12Y,15Y,20Y,25Y,30Y,40Y,50Y,60Y</ShiftTenors>
289+
<ShiftTenors>6M, 7M,8M,9M,10M,11M,12M,15M,18M,2Y,3Y,4Y,5Y,6Y,7Y,8Y,9Y,10Y,12Y,15Y,20Y,25Y,30Y,40Y,50Y,60Y</ShiftTenors>
290290
</IndexCurve>
291291

292292
<IndexCurve index="USD-SOFR">
@@ -363,7 +363,7 @@
363363
<IndexCurve index="EUR-EURIBOR-6M">
364364
<ShiftType>Absolute</ShiftType>
365365
<Shifts>0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01</Shifts>
366-
<ShiftTenors>1D, 1M,2M,3M,4M,5M,6M,9M,1Y,2Y,3Y,4Y,5Y,6Y,7Y,8Y,9Y,10Y,12Y,15Y,20Y,25Y,30Y,40Y,50Y,60Y</ShiftTenors>
366+
<ShiftTenors>6M, 7M,8M,9M,10M,11M,12M,15M,18M,2Y,3Y,4Y,5Y,6Y,7Y,8Y,9Y,10Y,12Y,15Y,20Y,25Y,30Y,40Y,50Y,60Y</ShiftTenors>
367367
</IndexCurve>
368368

369369
<IndexCurve index="USD-SOFR">
@@ -440,7 +440,7 @@
440440
<IndexCurve index="EUR-EURIBOR-6M">
441441
<ShiftType>Absolute</ShiftType>
442442
<Shifts>0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01</Shifts>
443-
<ShiftTenors>1D, 1M,2M,3M,4M,5M,6M,9M,1Y,2Y,3Y,4Y,5Y,6Y,7Y,8Y,9Y,10Y,12Y,15Y,20Y,25Y,30Y,40Y,50Y,60Y</ShiftTenors>
443+
<ShiftTenors>6M, 7M,8M,9M,10M,11M,12M,15M,18M,2Y,3Y,4Y,5Y,6Y,7Y,8Y,9Y,10Y,12Y,15Y,20Y,25Y,30Y,40Y,50Y,60Y</ShiftTenors>
444444
</IndexCurve>
445445

446446
<IndexCurve index="USD-SOFR">

OREAnalytics/orea/app/analytics/xvaanalytic.cpp

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -655,16 +655,19 @@ void XvaAnalyticImpl::runAnalytic(const QuantLib::ext::shared_ptr<ore::data::InM
655655
if(inputs_->amcCg()) {
656656
LOG("XVA analytic is running with amc cg engine (experimental).");
657657
// note: market configs both set to simulation, see note in xvaenginecg, we'd need inccy config in sim market there...
658-
XvaEngineCG engine(inputs_->nThreads(), inputs_->asof(), loader, inputs_->curveConfigs().get(),
659-
analytic()->configurations().todaysMarketParams,
660-
analytic()->configurations().simMarketParams, inputs_->amcPricingEngine(),
661-
inputs_->crossAssetModelData(), inputs_->scenarioGeneratorData(), inputs_->portfolio(),
662-
inputs_->marketConfig("simulation"), inputs_->marketConfig("simulation"),
663-
inputs_->xvaCgSensiScenarioData(), inputs_->refDataManager(), *inputs_->iborFallbackConfig(),
664-
inputs_->xvaCgBumpSensis());
658+
XvaEngineCG engine(
659+
inputs_->nThreads(), inputs_->asof(), loader, inputs_->curveConfigs().get(),
660+
analytic()->configurations().todaysMarketParams, analytic()->configurations().simMarketParams,
661+
inputs_->amcPricingEngine(), inputs_->crossAssetModelData(), inputs_->scenarioGeneratorData(),
662+
inputs_->portfolio(), inputs_->marketConfig("simulation"), inputs_->marketConfig("simulation"),
663+
inputs_->xvaCgSensiScenarioData(), inputs_->refDataManager(), *inputs_->iborFallbackConfig(),
664+
inputs_->xvaCgBumpSensis(), inputs_->xvaCgUseExternalComputeDevice(),
665+
inputs_->xvaCgExternalDeviceCompatibilityMode(), inputs_->xvaCgUseDoublePrecisionForExternalCalculation(),
666+
inputs_->xvaCgExternalComputeDevice(), true, true);
665667

666668
analytic()->reports()["XVA"]["xvacg-exposure"] = engine.exposureReport();
667-
analytic()->reports()["XVA"]["xvacg-cva-sensi-scenario"] = engine.sensiReport();
669+
if(inputs_->xvaCgSensiScenarioData())
670+
analytic()->reports()["XVA"]["xvacg-cva-sensi-scenario"] = engine.sensiReport();
668671
return;
669672
}
670673

OREAnalytics/orea/app/inputparameters.hpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,10 @@ class InputParameters {
193193
void setAmc(bool b) { amc_ = b; }
194194
void setAmcCg(bool b) { amcCg_ = b; }
195195
void setXvaCgBumpSensis(bool b) { xvaCgBumpSensis_ = b; }
196+
void setXvaCgUseExternalComputeDevice(bool b) { xvaCgUseExternalComputeDevice_ = b; }
197+
void setXvaCgExternalDeviceCompatibilityMode(bool b) { xvaCgExternalDeviceCompatibilityMode_ = b; }
198+
void setXvaCgUseDoublePrecisionForExternalCalculation(bool b) { xvaCgUseDoublePrecisionForExternalCalculation_ = b; }
199+
void setXvaCgExternalComputeDevice(string s) { xvaCgExternalComputeDevice_ = std::move(s); }
196200
void setXvaCgSensiScenarioData(const std::string& xml);
197201
void setXvaCgSensiScenarioDataFromFile(const std::string& fileName);
198202
void setAmcTradeTypes(const std::string& s); // parse to set<string>
@@ -561,6 +565,12 @@ class InputParameters {
561565
bool amc() const { return amc_; }
562566
bool amcCg() const { return amcCg_; }
563567
bool xvaCgBumpSensis() const { return xvaCgBumpSensis_; }
568+
bool xvaCgUseExternalComputeDevice() const { return xvaCgUseExternalComputeDevice_; }
569+
bool xvaCgExternalDeviceCompatibilityMode() const { return xvaCgExternalDeviceCompatibilityMode_; }
570+
bool xvaCgUseDoublePrecisionForExternalCalculation() const {
571+
return xvaCgUseDoublePrecisionForExternalCalculation_;
572+
}
573+
const std::string& xvaCgExternalComputeDevice() const { return xvaCgExternalComputeDevice_; }
564574
const QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData>& xvaCgSensiScenarioData() const { return xvaCgSensiScenarioData_; }
565575
const std::set<std::string>& amcTradeTypes() const { return amcTradeTypes_; }
566576
const std::string& exposureBaseCurrency() const { return exposureBaseCurrency_; }
@@ -900,6 +910,10 @@ class InputParameters {
900910
bool amc_ = false;
901911
bool amcCg_ = false;
902912
bool xvaCgBumpSensis_ = false;
913+
bool xvaCgUseExternalComputeDevice_ = false;
914+
bool xvaCgExternalDeviceCompatibilityMode_ = false;
915+
bool xvaCgUseDoublePrecisionForExternalCalculation_ = false;
916+
string xvaCgExternalComputeDevice_;
903917
QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData> xvaCgSensiScenarioData_;
904918
std::set<std::string> amcTradeTypes_;
905919
std::string exposureBaseCurrency_ = "";

OREAnalytics/orea/app/oreapp.cpp

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1527,7 +1527,25 @@ void OREAppInputParameters::loadParameters() {
15271527
setWriteScenarios(true);
15281528

15291529
tmp = params_->get("simulation", "xvaCgBumpSensis", false);
1530-
if (tmp != "")
1530+
if (!tmp.empty())
1531+
setXvaCgBumpSensis(parseBool(tmp));
1532+
1533+
tmp = params_->get("simulation", "xvaCgUseExternalComputeDevice", false);
1534+
if (!tmp.empty())
1535+
setXvaCgUseExternalComputeDevice(parseBool(tmp));
1536+
1537+
tmp = params_->get("simulation", "xvaCgExternalDeviceCompatibilityMode", false);
1538+
if (!tmp.empty())
1539+
setXvaCgExternalDeviceCompatibilityMode(parseBool(tmp));
1540+
1541+
tmp = params_->get("simulation", "xvaCgUseDoublePrecisionForExternalCalculation", false);
1542+
if (!tmp.empty())
1543+
setXvaCgUseDoublePrecisionForExternalCalculation(parseBool(tmp));
1544+
1545+
setXvaCgExternalComputeDevice(params_->get("simulation", "xvaCgExternalComputeDevice", false));
1546+
1547+
tmp = params_->get("simulation", "xvaCgBumpSensis", false);
1548+
if (!tmp.empty())
15311549
setXvaCgBumpSensis(parseBool(tmp));
15321550

15331551
}

0 commit comments

Comments
 (0)