Logo
Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
scenariosimmarketparameters.hpp
Go to the documentation of this file.
1/*
2 Copyright (C) 2016 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 scenario/scenariosimmarketparameters.hpp
20 \brief A class to hold Scenario parameters for scenarioSimMarket
21 \ingroup scenario
22*/
23
24#pragma once
25
26#include <boost/assign/list_of.hpp>
27
32
33namespace ore {
34namespace analytics {
38using namespace QuantLib;
39using std::map;
40using std::pair;
41using std::string;
42using std::vector;
43
44//! ScenarioSimMarket description
45/*! \ingroup scenario
46 */
48public:
49 //! Default constructor
51 : swapVolIsCube_({{"", false}}), swapVolStrikeSpreads_({{"", {0.0}}}),
55 }
56
57 //! \name Inspectors
58 //@{
59 const string& baseCcy() const { return baseCcy_; }
60 const vector<string>& ccys() const { return ccys_; }
61 vector<string> paramsLookup(RiskFactorKey::KeyType k) const;
62 bool hasParamsName(RiskFactorKey::KeyType kt, string name) const;
63 void addParamsName(RiskFactorKey::KeyType kt, vector<string> names);
65 void setParamsSimulate(RiskFactorKey::KeyType kt, bool simulate);
66
68
70 const map<string, string>& yieldCurveCurrencies() const { return yieldCurveCurrencies_; }
71 const vector<Period>& yieldCurveTenors(const string& key) const;
72 bool hasYieldCurveTenors(const string& key) const { return yieldCurveTenors_.count(key) > 0; }
73 vector<string> indices() const { return paramsLookup(RiskFactorKey::KeyType::IndexCurve); }
74 const map<string, string>& swapIndices() const { return swapIndices_; }
75 const string& interpolation() const { return interpolation_; }
76 const string& extrapolation() const { return extrapolation_; }
77 const map<string, vector<Period>>& yieldCurveTenors() const { return yieldCurveTenors_; }
78
80 vector<string> fxCcyPairs() const { return paramsLookup(RiskFactorKey::KeyType::FXSpot); }
81
83 bool swapVolIsCube(const string& key) const;
85 const vector<Period>& swapVolTerms(const string& key) const;
86 const vector<Period>& swapVolExpiries(const string& key) const;
88 const string& swapVolDecayMode() const { return swapVolDecayMode_; }
89 const vector<Real>& swapVolStrikeSpreads(const string& key) const;
90 const string& swapVolSmileDynamics(const string& key) const;
91
93 const vector<Period>& yieldVolTerms() const { return yieldVolTerms_; }
94 const vector<Period>& yieldVolExpiries() const { return yieldVolExpiries_; }
96 const string& yieldVolDecayMode() const { return yieldVolDecayMode_; }
97 const string& yieldVolSmileDynamics(const string& key) const;
98
101 const vector<Period>& capFloorVolExpiries(const string& key) const;
102 bool hasCapFloorVolExpiries(const string& key) const { return capFloorVolExpiries_.count(key) > 0; }
103 const vector<QuantLib::Rate>& capFloorVolStrikes(const std::string& key) const;
104 bool capFloorVolIsAtm(const std::string& key) const;
105 const string& capFloorVolDecayMode() const { return capFloorVolDecayMode_; }
106 /*! If \c true, the \c capFloorVolExpiries are interpreted as cap maturities and the pillars for the optionlet
107 structure are set equal to the fixing date of the last optionlet on the cap. If \c false, the
108 \c capFloorVolExpiries are the pillars for the optionlet structure.
109 */
111 /*! If \c true, use ATM cap rate when \c capFloorVolIsAtm is \c true when querying the todaysmarket optionlet
112 volatility structure at the configured expiries. Otherwise, use the index forward rate.
113 */
115 const string& capFloorVolSmileDynamics(const string& key) const;
116
119 }
120 vector<string> yoyInflationCapFloorVolNames() const {
122 }
123 const vector<Period>& yoyInflationCapFloorVolExpiries(const string& key) const;
124 bool hasYoYInflationCapFloorVolExpiries(const string& key) const {
125 return yoyInflationCapFloorVolExpiries_.count(key) > 0;
126 }
127 const vector<Real>& yoyInflationCapFloorVolStrikes(const std::string& key) const;
129 const string& yoyInflationCapFloorVolSmileDynamics(const string& key) const;
130
133 }
134 vector<string> zeroInflationCapFloorVolNames() const {
136 }
137 const vector<Period>& zeroInflationCapFloorVolExpiries(const string& key) const;
138 bool hasZeroInflationCapFloorVolExpiries(const string& key) const {
139 return zeroInflationCapFloorVolExpiries_.count(key) > 0;
140 }
141 const vector<Real>& zeroInflationCapFloorVolStrikes(const string& key) const;
143 const string& zeroInflationCapFloorVolSmileDynamics(const string& key) const;
144
148 const string& defaultCurveCalendar(const string& key) const;
149 const vector<Period>& defaultTenors(const string& key) const;
150 bool hasDefaultTenors(const string& key) const { return defaultTenors_.count(key) > 0; }
152
155 const vector<Period>& cdsVolExpiries() const { return cdsVolExpiries_; }
157 const string& cdsVolDecayMode() const { return cdsVolDecayMode_; }
158 const string& cdsVolSmileDynamics(const string& key) const;
159
161 const vector<Period>& equityDividendTenors(const string& key) const;
162 bool hasEquityDividendTenors(const string& key) const { return equityDividendTenors_.count(key) > 0; }
165
166 // fxvol getters
169 bool fxVolIsSurface(const std::string& ccypair) const;
170 bool fxUseMoneyness(const std::string& ccypair) const;
171 const vector<Period>& fxVolExpiries(const string& key) const;
172 const string& fxVolDecayMode() const { return fxVolDecayMode_; }
174 const vector<Real>& fxVolMoneyness(const string& ccypair) const;
175 const vector<Real>& fxVolStdDevs(const string& ccypair) const;
176 const string& fxVolSmileDynamics(const string& key) const;
177
180 bool equityUseMoneyness(const string& key) const;
181 bool equityVolIsSurface(const string& key) const;
182 const vector<Period>& equityVolExpiries(const string& key) const;
183 const string& equityVolDecayMode() const { return equityVolDecayMode_; }
185 const vector<Real>& equityVolMoneyness(const string& key) const;
186 const vector<Real>& equityVolStandardDevs(const string& key) const;
187 const string& equityVolSmileDynamics(const string& key) const;
188
189 const vector<string>& additionalScenarioDataIndices() const { return additionalScenarioDataIndices_; }
190 const vector<string>& additionalScenarioDataCcys() const { return additionalScenarioDataCcys_; }
193
196
198 const vector<Period>& baseCorrelationTerms() const { return baseCorrelationTerms_; }
201
202 vector<string> cpiIndices() const { return paramsLookup(RiskFactorKey::KeyType::CPIIndex); }
204 const vector<Period>& zeroInflationTenors(const string& key) const;
205 bool hasZeroInflationTenors(const string& key) const { return zeroInflationTenors_.count(key) > 0; }
207 const vector<Period>& yoyInflationTenors(const string& key) const;
208 bool hasYoyInflationTenors(const string& key) const { return yoyInflationTenors_.count(key) > 0; }
209
210 // Commodity price curve data getters
212 std::vector<std::string> commodityNames() const;
213 const std::vector<QuantLib::Period>& commodityCurveTenors(const std::string& commodityName) const;
214 bool hasCommodityCurveTenors(const std::string& commodityName) const;
215
216 // Commodity volatility data getters
218 const std::string& commodityVolDecayMode() const { return commodityVolDecayMode_; }
219 std::vector<std::string> commodityVolNames() const {
221 }
222 const std::vector<QuantLib::Period>& commodityVolExpiries(const std::string& commodityName) const;
223 const std::vector<QuantLib::Real>& commodityVolMoneyness(const std::string& commodityName) const;
224 const string& commodityVolSmileDynamics(const string& commodityName) const;
225
228 const vector<Period>& correlationExpiries() const { return correlationExpiries_; }
230 const vector<Real>& correlationStrikes() const { return correlationStrikes_; }
231
233
234 // Get the parameters
235 const std::map<RiskFactorKey::KeyType, std::pair<bool, std::set<std::string>>>& parameters() const {
236 return params_;
237 }
238 //@}
239
240 //! \name Setters
241 //@{
242 string& baseCcy() { return baseCcy_; }
243 vector<string>& ccys() { return ccys_; }
244 void setDiscountCurveNames(vector<string> names);
245 void setYieldCurveNames(vector<string> names);
246 map<string, string>& yieldCurveCurrencies() { return yieldCurveCurrencies_; }
247 void setYieldCurveTenors(const string& key, const vector<Period>& p);
248 void setIndices(vector<string> names);
249 map<string, string>& swapIndices() { return swapIndices_; }
250 string& interpolation() { return interpolation_; }
251 string& extrapolation() { return extrapolation_; }
252
253 void setSimulateFxSpots(bool simulate);
254 void setFxCcyPairs(vector<string> names);
255
256 void setSimulateSwapVols(bool simulate);
257 void setSwapVolIsCube(const string& key, bool isCube);
259 void setSwapVolTerms(const string& key, const vector<Period>& p);
260 void setSwapVolKeys(vector<string> names);
261 void setSwapVolExpiries(const string& key, const vector<Period>& p);
262 void setSwapVolStrikeSpreads(const std::string& key, const std::vector<QuantLib::Rate>& strikes);
264 void setSwapVolSmileDynamics(const string& key, const string& smileDynamics);
265
266 void setSimulateYieldVols(bool simulate);
267 vector<Period>& yieldVolTerms() { return yieldVolTerms_; }
268 void setYieldVolNames(vector<string> names);
269 vector<Period>& yieldVolExpiries() { return yieldVolExpiries_; }
271 void setYieldVolSmileDynamics(const string& key, const string& smileDynamics);
272
273 void setSimulateCapFloorVols(bool simulate);
274 void setCapFloorVolKeys(vector<string> names);
275 void setCapFloorVolExpiries(const string& key, const vector<Period>& p);
276 void setCapFloorVolStrikes(const std::string& key, const std::vector<QuantLib::Rate>& strikes);
277 void setCapFloorVolIsAtm(const std::string& key, bool isAtm);
281 }
284 }
285 void setCapFloorVolSmileDynamics(const string& key, const string& smileDynamics);
286
287 void setSimulateYoYInflationCapFloorVols(bool simulate);
288 void setYoYInflationCapFloorVolNames(vector<string> names);
289 void setYoYInflationCapFloorVolExpiries(const string& key, const vector<Period>& p);
290 void setYoYInflationCapFloorVolStrikes(const std::string& key, const std::vector<QuantLib::Rate>& strikes);
292 void setYoYInflationCapFloorVolSmileDynamics(const string& key, const string& smileDynamics);
293
294 void setSimulateZeroInflationCapFloorVols(bool simulate);
295 void setZeroInflationCapFloorNames(vector<string> names);
296 void setZeroInflationCapFloorVolExpiries(const string& key, const vector<Period>& p);
297 void setZeroInflationCapFloorVolStrikes(const std::string& key, const std::vector<QuantLib::Rate>& strikes);
299 void setZeroInflationCapFloorVolSmileDynamics(const string& key, const string& smileDynamics);
300
301 void setSimulateSurvivalProbabilities(bool simulate);
302 void setSimulateRecoveryRates(bool simulate);
303 void setDefaultNames(vector<string> names);
304 void setDefaultTenors(const string& key, const vector<Period>& p);
305 void setDefaultCurveCalendars(const string& key, const string& p);
307
308 void setSimulateCdsVols(bool simulate);
309 void setSimulateCdsVolsATMOnly(bool simulateATMOnly) { cdsVolSimulateATMOnly_ = simulateATMOnly; }
310 vector<Period>& cdsVolExpiries() { return cdsVolExpiries_; }
311 void setCdsVolNames(vector<string> names);
312 string& cdsVolDecayMode() { return cdsVolDecayMode_; }
313 void setCdsVolSmileDynamics(const string& key, const string& smileDynamics);
314
315 void setEquityNames(vector<string> names);
316 void setEquityDividendCurves(vector<string> names);
317 void setEquityDividendTenors(const string& key, const vector<Period>& p);
318 void setSimulateDividendYield(bool simulate);
319
320 // FX volatility data setters
321 void setSimulateFXVols(bool simulate);
322 void setSimulateFxVolATMOnly(bool simulateATMOnly) { fxVolSimulateATMOnly_ = simulateATMOnly; }
323 void setFxVolIsSurface(const string& ccypair, bool val);
324 void setFxVolIsSurface(bool val);
325 void setFxVolExpiries(const string& name, const vector<Period>& expiries);
326 void setFxVolDecayMode(const string& val);
327 void setFxVolCcyPairs(vector<string> names);
328 void setFxVolMoneyness(const string& ccypair, const vector<Real>& moneyness);
329 void setFxVolMoneyness(const vector<Real>& moneyness);
330 void setFxVolStdDevs(const string& ccypair, const vector<Real>& stdDevs);
331 void setFxVolStdDevs(const vector<Real>& stdDevs);
332 void setFxVolSmileDynamics(const string& name, const string& smileDynamics);
333
334 void setSimulateEquityVols(bool simulate);
335 void setSimulateEquityVolATMOnly(bool simulateATMOnly) { equityVolSimulateATMOnly_ = simulateATMOnly; }
336 void setEquityVolIsSurface(const string& name, bool isSurface);
337 void setEquityVolExpiries(const string& name, const vector<Period>& expiries);
338 void setEquityVolDecayMode(const string& val) { equityVolDecayMode_ = val; }
339 void setEquityVolNames(vector<string> names);
340 void setEquityVolMoneyness(const string&name, const vector<Real>& moneyness);
341 void setEquityVolStandardDevs(const string&name, const vector<Real>& standardDevs);
342 void setEquityVolSmileDynamics(const string& name, const string& smileDynamics);
343
345 void setAdditionalScenarioDataIndices(const vector<string>& asdi) { additionalScenarioDataIndices_ = asdi; }
348 void setSecuritySpreadsSimulate(bool simulate);
349 void setSecurities(vector<string> names);
350 void setRecoveryRates(vector<string> names);
351
352 void setCprs(const vector<string>& names);
353 void setSimulateCprs(bool simulate);
355 const vector<string>& cprs() const { return cprs_; }
356
357 void setSimulateBaseCorrelations(bool simulate);
358 vector<Period>& baseCorrelationTerms() { return baseCorrelationTerms_; }
360 void setBaseCorrelationNames(vector<string> names);
361
362 void setCpiIndices(vector<string> names);
363 void setZeroInflationIndices(vector<string> names);
364 void setZeroInflationTenors(const string& key, const vector<Period>& p);
365 void setYoyInflationIndices(vector<string> names);
366 void setYoyInflationTenors(const string& key, const vector<Period>& p);
367
368 // Commodity price curve data setters
369 void setCommodityCurveSimulate(bool simulate);
370 void setCommodityNames(vector<string> names);
371 void setCommodityCurves(vector<string> names);
372 void setCommodityCurveTenors(const std::string& commodityName, const std::vector<QuantLib::Period>& p);
373
374 // Commodity volatility data setters
375 void setCommodityVolSimulate(bool simulate);
377 void setCommodityVolNames(vector<string> names);
378 std::vector<QuantLib::Period>& commodityVolExpiries(const std::string& commodityName) {
379 return commodityVolExpiries_[commodityName];
380 }
381 std::vector<QuantLib::Real>& commodityVolMoneyness(const std::string& commodityName) {
382 return commodityVolMoneyness_[commodityName];
383 }
384 void setCommodityVolSmileDynamics(const string& key, const string& smileDynamics);
385
386 void setSimulateCorrelations(bool simulate);
388 vector<Period>& correlationExpiries() { return correlationExpiries_; }
389 void setCorrelationPairs(vector<string> names);
390 vector<Real>& correlationStrikes() { return correlationStrikes_; }
392 //@}
393
394 //! \name Serialisation
395 //@{
396 virtual void fromXML(XMLNode* node) override;
397 virtual XMLNode* toXML(ore::data::XMLDocument& doc) const override;
398 //@}
399
400 //! \name Equality Operators
401 //@{
404 //@}
405
406private:
407 void setDefaults();
408
409 //! A method used to reset the object to its default state before fromXML is called
410 void reset();
411
412 string baseCcy_;
413 vector<string> ccys_; // may or may not include baseCcy;
414 map<string, string> yieldCurveCurrencies_;
415 map<string, vector<Period>> yieldCurveTenors_;
416 map<string, string> swapIndices_;
419
420 map<string, bool> swapVolIsCube_;
422 map<string, vector<Period>> swapVolTerms_;
423 map<string, vector<Period>> swapVolExpiries_;
424 map<string, vector<Real>> swapVolStrikeSpreads_;
426 map<string, string> swapVolSmileDynamics_;
427
428 vector<Period> yieldVolTerms_;
429 vector<Period> yieldVolExpiries_;
431 map<string, string> yieldVolSmileDynamics_;
432
433 map<string, vector<Period>> capFloorVolExpiries_;
434 map<std::string, std::vector<QuantLib::Rate>> capFloorVolStrikes_;
435 map<std::string, bool> capFloorVolIsAtm_;
439 map<string, string> capFloorVolSmileDynamics_;
440
441 map<string, vector<Period>> yoyInflationCapFloorVolExpiries_;
442 map<std::string, std::vector<QuantLib::Rate>> yoyInflationCapFloorVolStrikes_;
445
446 map<string, vector<Period>> zeroInflationCapFloorVolExpiries_;
447 map<std::string, std::vector<QuantLib::Rate>> zeroInflationCapFloorVolStrikes_;
450
451 map<string, string> defaultCurveCalendars_;
452 map<string, vector<Period>> defaultTenors_;
454
456 vector<Period> cdsVolExpiries_;
458 map<string, string> cdsVolSmileDynamics_;
459
460 map<string, vector<Period>> equityDividendTenors_;
461
462 // FX volatility data
464 map<std::string, bool> fxVolIsSurface_;
465 map<string, vector<Period>> fxVolExpiries_;
467 map<string, vector<Real>> fxMoneyness_;
468 map<string, vector<Real>> fxStandardDevs_;
469 map<string, string> fxVolSmileDynamics_;
470
472 map<string, bool> equityVolIsSurface_;
473 map<string, vector<Period>> equityVolExpiries_;
475 map<string, vector<Real>> equityMoneyness_;
476 map<string, vector<Real>> equityStandardDevs_;
477 map<string, string> equityVolSmileDynamics_;
478
483
485 vector<string> cprs_;
486
487 vector<Period> baseCorrelationTerms_;
489
490 map<string, vector<Period>> zeroInflationTenors_;
491 map<string, vector<Period>> yoyInflationTenors_;
492
493 // Commodity price curve data
494 std::map<std::string, std::vector<QuantLib::Period>> commodityCurveTenors_;
495
496 // Commodity volatility data
498 std::map<std::string, std::vector<QuantLib::Period>> commodityVolExpiries_;
499 std::map<std::string, std::vector<QuantLib::Real>> commodityVolMoneyness_;
500 map<string, string> commodityVolSmileDynamics_;
501
503 vector<Period> correlationExpiries_;
506
507 // Store sim market params as a map from RiskFactorKey::KeyType to a pair,
508 // boolean of whether to simulate and a set of curve names
509 std::map<RiskFactorKey::KeyType, std::pair<bool, std::set<std::string>>> params_;
510};
511} // namespace analytics
512} // namespace ore
KeyType
Risk Factor types.
Definition: scenario.hpp:51
std::vector< QuantLib::Real > & commodityVolMoneyness(const std::string &commodityName)
void setSwapVolSmileDynamics(const string &key, const string &smileDynamics)
const vector< string > & additionalScenarioDataCcys() const
void setCapFloorVolIsAtm(const std::string &key, bool isAtm)
bool hasZeroInflationCapFloorVolExpiries(const string &key) const
const map< string, string > & yieldCurveCurrencies() const
vector< string > paramsLookup(RiskFactorKey::KeyType k) const
const vector< Real > & baseCorrelationDetachmentPoints() const
bool fxUseMoneyness(const std::string &ccypair) const
const string & yieldVolSmileDynamics(const string &key) const
std::map< std::string, std::vector< QuantLib::Period > > commodityVolExpiries_
std::map< std::string, std::vector< QuantLib::Real > > commodityVolMoneyness_
const string & cdsVolSmileDynamics(const string &key) const
const map< string, vector< Period > > & yieldCurveTenors() const
const vector< QuantLib::Rate > & capFloorVolStrikes(const std::string &key) const
void setCapFloorVolStrikes(const std::string &key, const std::vector< QuantLib::Rate > &strikes)
void setYoyInflationTenors(const string &key, const vector< Period > &p)
bool fxVolIsSurface(const std::string &ccypair) const
void setDefaultTenors(const string &key, const vector< Period > &p)
void setCapFloorVolAdjustOptionletPillars(bool capFloorVolAdjustOptionletPillars)
void addParamsName(RiskFactorKey::KeyType kt, vector< string > names)
const vector< Real > & swapVolStrikeSpreads(const string &key) const
void setEquityVolSmileDynamics(const string &name, const string &smileDynamics)
const vector< Period > & swapVolTerms(const string &key) const
const vector< Period > & yoyInflationCapFloorVolExpiries(const string &key) const
void setCommodityCurveTenors(const std::string &commodityName, const std::vector< QuantLib::Period > &p)
void setCommodityVolSmileDynamics(const string &key, const string &smileDynamics)
void setYieldVolSmileDynamics(const string &key, const string &smileDynamics)
const vector< Real > & fxVolMoneyness(const string &ccypair) const
const string & zeroInflationCapFloorVolSmileDynamics(const string &key) const
map< std::string, std::vector< QuantLib::Rate > > capFloorVolStrikes_
const std::vector< QuantLib::Real > & commodityVolMoneyness(const std::string &commodityName) const
bool paramsSimulate(RiskFactorKey::KeyType kt) const
void setEquityVolIsSurface(const string &name, bool isSurface)
void setEquityVolMoneyness(const string &name, const vector< Real > &moneyness)
const string & commodityVolSmileDynamics(const string &commodityName) const
void setAdditionalScenarioDataIndices(const vector< string > &asdi)
bool hasParamsName(RiskFactorKey::KeyType kt, string name) const
const vector< string > & additionalScenarioDataSurvivalWeights() const
void setZeroInflationCapFloorVolStrikes(const std::string &key, const std::vector< QuantLib::Rate > &strikes)
const string & yoyInflationCapFloorVolSmileDynamics(const string &key) const
void setYoYInflationCapFloorVolSmileDynamics(const string &key, const string &smileDynamics)
void setAdditionalScenarioDataCcys(const vector< string > &ccys)
void setZeroInflationCapFloorVolExpiries(const string &key, const vector< Period > &p)
void setFxVolStdDevs(const string &ccypair, const vector< Real > &stdDevs)
void setSwapVolTerms(const string &key, const vector< Period > &p)
void setEquityVolExpiries(const string &name, const vector< Period > &expiries)
const vector< Real > & fxVolStdDevs(const string &ccypair) const
void setZeroInflationCapFloorVolSmileDynamics(const string &key, const string &smileDynamics)
const vector< Period > & capFloorVolExpiries(const string &key) const
const vector< Period > & defaultTenors(const string &key) const
std::vector< QuantLib::Period > & commodityVolExpiries(const std::string &commodityName)
const vector< Real > & equityVolMoneyness(const string &key) const
bool operator!=(const ScenarioSimMarketParameters &rhs)
const std::vector< QuantLib::Period > & commodityCurveTenors(const std::string &commodityName) const
void setSwapVolStrikeSpreads(const std::string &key, const std::vector< QuantLib::Rate > &strikes)
void setCapFloorVolSmileDynamics(const string &key, const string &smileDynamics)
const vector< Period > & equityDividendTenors(const string &key) const
const vector< Period > & zeroInflationCapFloorVolExpiries(const string &key) const
const vector< Period > & swapVolExpiries(const string &key) const
void setFxVolExpiries(const string &name, const vector< Period > &expiries)
std::map< RiskFactorKey::KeyType, std::pair< bool, std::set< std::string > > > params_
const vector< Period > & fxVolExpiries(const string &key) const
const string & swapVolSmileDynamics(const string &key) const
void setSwapVolIsCube(const string &key, bool isCube)
bool operator==(const ScenarioSimMarketParameters &rhs)
virtual XMLNode * toXML(ore::data::XMLDocument &doc) const override
void setCdsVolSmileDynamics(const string &key, const string &smileDynamics)
const vector< Real > & yoyInflationCapFloorVolStrikes(const std::string &key) const
void setCapFloorVolExpiries(const string &key, const vector< Period > &p)
const string & defaultCurveCalendar(const string &key) const
const std::map< RiskFactorKey::KeyType, std::pair< bool, std::set< std::string > > > & parameters() const
bool hasCommodityCurveTenors(const std::string &commodityName) const
map< string, vector< Period > > zeroInflationCapFloorVolExpiries_
void setFxVolIsSurface(const string &ccypair, bool val)
void setFxVolSmileDynamics(const string &name, const string &smileDynamics)
void setParamsSimulate(RiskFactorKey::KeyType kt, bool simulate)
const vector< Real > & zeroInflationCapFloorVolStrikes(const string &key) const
const string & equityVolSmileDynamics(const string &key) const
bool hasYoYInflationCapFloorVolExpiries(const string &key) const
const vector< Period > & yoyInflationTenors(const string &key) const
const vector< Period > & equityVolExpiries(const string &key) const
const string & fxVolSmileDynamics(const string &key) const
std::map< std::string, std::vector< QuantLib::Period > > commodityCurveTenors_
map< string, vector< Period > > yoyInflationCapFloorVolExpiries_
void reset()
A method used to reset the object to its default state before fromXML is called.
map< std::string, std::vector< QuantLib::Rate > > zeroInflationCapFloorVolStrikes_
void setEquityDividendTenors(const string &key, const vector< Period > &p)
const std::vector< QuantLib::Period > & commodityVolExpiries(const std::string &commodityName) const
void setDefaultCurveCalendars(const string &key, const string &p)
void setYoYInflationCapFloorVolExpiries(const string &key, const vector< Period > &p)
const map< string, string > & swapIndices() const
const vector< Real > & equityVolStandardDevs(const string &key) const
map< std::string, std::vector< QuantLib::Rate > > yoyInflationCapFloorVolStrikes_
void setYieldCurveTenors(const string &key, const vector< Period > &p)
void setYoYInflationCapFloorVolStrikes(const std::string &key, const std::vector< QuantLib::Rate > &strikes)
void setFxVolMoneyness(const string &ccypair, const vector< Real > &moneyness)
const vector< Period > & zeroInflationTenors(const string &key) const
void setEquityVolStandardDevs(const string &name, const vector< Real > &standardDevs)
const vector< string > & additionalScenarioDataIndices() const
void setSwapVolExpiries(const string &key, const vector< Period > &p)
const string & capFloorVolSmileDynamics(const string &key) const
void setZeroInflationTenors(const string &key, const vector< Period > &p)
Scenario class.