26#include <boost/assign/list_of.hpp>
60 const vector<string>&
ccys()
const {
return ccys_; }
85 const vector<Period>&
swapVolTerms(
const string& key)
const;
149 const vector<Period>&
defaultTenors(
const string& key)
const;
171 const vector<Period>&
fxVolExpiries(
const string& key)
const;
175 const vector<Real>&
fxVolStdDevs(
const string& ccypair)
const;
213 const std::vector<QuantLib::Period>&
commodityCurveTenors(
const std::string& commodityName)
const;
222 const std::vector<QuantLib::Period>&
commodityVolExpiries(
const std::string& commodityName)
const;
235 const std::map<RiskFactorKey::KeyType, std::pair<bool, std::set<std::string>>>&
parameters()
const {
330 void setFxVolStdDevs(
const string& ccypair,
const vector<Real>& stdDevs);
352 void setCprs(
const vector<string>& names);
509 std::map<RiskFactorKey::KeyType, std::pair<bool, std::set<std::string>>>
params_;
KeyType
Risk Factor types.
@ YoYInflationCapFloorVolatility
@ ZeroInflationCapFloorVolatility
ScenarioSimMarket description.
void setZeroInflationIndices(vector< string > names)
const string & defaultCurveExtrapolation() const
std::vector< QuantLib::Real > & commodityVolMoneyness(const std::string &commodityName)
vector< string > cdsVolNames() const
void setFxCcyPairs(vector< string > names)
vector< string > & additionalScenarioDataIndices()
vector< string > baseCorrelationNames() const
bool simulateYieldVols() const
void setSwapVolSmileDynamics(const string &key, const string &smileDynamics)
const vector< string > & additionalScenarioDataCcys() const
void setCapFloorVolIsAtm(const std::string &key, bool isAtm)
bool hasEquityDividendTenors(const string &key) const
map< string, vector< Period > > swapVolTerms_
map< string, bool > equityVolIsSurface_
bool hasZeroInflationCapFloorVolExpiries(const string &key) const
void setEquityNames(vector< string > names)
void setSimulateFXVols(bool simulate)
const map< string, string > & yieldCurveCurrencies() const
map< string, vector< Period > > equityDividendTenors_
string & cdsVolDecayMode()
vector< string > paramsLookup(RiskFactorKey::KeyType k) const
vector< string > additionalScenarioDataIndices_
vector< string > equityNames() const
vector< std::string > correlationPairs() const
string & zeroInflationCapFloorVolDecayMode()
void setSimulateCorrelations(bool simulate)
bool simulateCorrelations() const
const vector< Real > & baseCorrelationDetachmentPoints() const
bool capFloorVolAdjustOptionletPillars() const
void setYieldVolNames(vector< string > names)
vector< string > swapVolKeys() const
bool simulateFxVolATMOnly() const
bool simulateSwapVolATMOnly() const
vector< Period > & correlationExpiries()
bool fxUseMoneyness(const std::string &ccypair) const
const string & yieldVolSmileDynamics(const string &key) const
void setSimulateYoYInflationCapFloorVols(bool simulate)
std::map< std::string, std::vector< QuantLib::Period > > commodityVolExpiries_
void setSimulateSwapVols(bool simulate)
void setFxVolDecayMode(const string &val)
std::map< std::string, std::vector< QuantLib::Real > > commodityVolMoneyness_
const string & cdsVolSmileDynamics(const string &key) const
map< string, string > & swapIndices()
bool commodityVolSimulate() 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)
map< string, vector< Real > > equityMoneyness_
void setYoyInflationTenors(const string &key, const vector< Period > &p)
const vector< Period > & baseCorrelationTerms() const
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)
string & capFloorVolDecayMode()
const string & interpolation() const
bool hasCapFloorVolExpiries(const string &key) const
const vector< Period > & swapVolTerms(const string &key) const
vector< Period > & yieldVolTerms()
void setCommodityCurveSimulate(bool simulate)
const std::string & commodityVolDecayMode() const
vector< string > yieldCurveNames() const
const string & capFloorVolDecayMode() const
const vector< Period > & yoyInflationCapFloorVolExpiries(const string &key) const
void setCommodityNames(vector< string > names)
bool simulateCdsVols() const
void setCommodityCurveTenors(const std::string &commodityName, const std::vector< QuantLib::Period > &p)
void setFxVolCcyPairs(vector< string > names)
void setCommodityVolSmileDynamics(const string &key, const string &smileDynamics)
void setYieldVolSmileDynamics(const string &key, const string &smileDynamics)
const vector< Real > & fxVolMoneyness(const string &ccypair) const
vector< string > yieldVolNames() const
const string & zeroInflationCapFloorVolSmileDynamics(const string &key) const
map< std::string, std::vector< QuantLib::Rate > > capFloorVolStrikes_
vector< string > & ccys()
const std::vector< QuantLib::Real > & commodityVolMoneyness(const std::string &commodityName) const
std::string & commodityVolDecayMode()
ScenarioSimMarketParameters()
Default constructor.
bool paramsSimulate(RiskFactorKey::KeyType kt) const
string & yieldVolDecayMode()
vector< Period > & cdsVolExpiries()
void setEquityVolIsSurface(const string &name, bool isSurface)
vector< string > additionalScenarioDataCcys_
map< string, bool > swapVolIsCube_
bool equityVolIsSurface(const string &key) const
void setEquityVolMoneyness(const string &name, const vector< Real > &moneyness)
const string & commodityVolSmileDynamics(const string &commodityName) const
vector< string > fxVolCcyPairs() const
vector< Period > & yieldVolExpiries()
void setAdditionalScenarioDataIndices(const vector< string > &asdi)
bool swapVolIsCube(const string &key) const
bool hasYieldCurveTenors(const string &key) const
void setCdsVolNames(vector< string > names)
bool hasParamsName(RiskFactorKey::KeyType kt, string name) const
string yoyInflationCapFloorVolDecayMode_
vector< string > fxCcyPairs() const
void setCommodityCurves(vector< string > names)
const vector< string > & additionalScenarioDataSurvivalWeights() const
void setZeroInflationCapFloorVolStrikes(const std::string &key, const std::vector< QuantLib::Rate > &strikes)
void setDefaultCurveExtrapolation(const std::string &e)
const string & yoyInflationCapFloorVolSmileDynamics(const string &key) const
vector< Real > baseCorrelationDetachmentPoints_
void setYoYInflationCapFloorVolSmileDynamics(const string &key, const string &smileDynamics)
bool simulateCdsVolATMOnly() const
void setCapFloorVolKeys(vector< string > names)
map< string, string > swapVolSmileDynamics_
bool simulateCapFloorVols() const
vector< Real > & baseCorrelationDetachmentPoints()
bool commodityCurveSimulate() const
bool simulateFXVols() const
vector< string > additionalScenarioDataSurvivalWeights_
std::vector< std::string > commodityVolNames() const
bool simulateRecoveryRates() const
void setAdditionalScenarioDataCcys(const vector< string > &ccys)
void setZeroInflationCapFloorVolExpiries(const string &key, const vector< Period > &p)
void setFxVolStdDevs(const string &ccypair, const vector< Real > &stdDevs)
std::vector< std::string > commodityNames() const
void setSwapVolTerms(const string &key, const vector< Period > &p)
bool hasZeroInflationTenors(const string &key) const
const vector< Period > & cdsVolExpiries() const
void setEquityVolExpiries(const string &name, const vector< Period > &expiries)
bool capFloorVolIsAtm(const std::string &key) const
const vector< Real > & fxVolStdDevs(const string &ccypair) const
void setZeroInflationCapFloorVolSmileDynamics(const string &key, const string &smileDynamics)
bool correlationIsSurface_
vector< Real > correlationStrikes_
const vector< Period > & capFloorVolExpiries(const string &key) const
map< string, string > commodityVolSmileDynamics_
const vector< Period > & defaultTenors(const string &key) const
std::vector< QuantLib::Period > & commodityVolExpiries(const std::string &commodityName)
map< string, vector< Real > > fxMoneyness_
bool simulateSurvivalProbabilities() const
map< string, string > fxVolSmileDynamics_
const vector< string > & ccys() const
const vector< Real > & equityVolMoneyness(const string &key) const
void setSimulateCapFloorVols(bool simulate)
bool operator!=(const ScenarioSimMarketParameters &rhs)
const vector< Period > & correlationExpiries() const
const string & extrapolation() const
map< string, string > yieldVolSmileDynamics_
const std::vector< QuantLib::Period > & commodityCurveTenors(const std::string &commodityName) const
bool & correlationIsSurface()
void setSwapVolStrikeSpreads(const std::string &key, const std::vector< QuantLib::Rate > &strikes)
void setCapFloorVolSmileDynamics(const string &key, const string &smileDynamics)
vector< string > zeroInflationIndices() const
void setNumberOfCreditStates(Size numberOfCreditStates)
const vector< Period > & equityDividendTenors(const string &key) const
void setCommodityVolSimulate(bool simulate)
const vector< Period > & zeroInflationCapFloorVolExpiries(const string &key) const
vector< Real > & correlationStrikes()
virtual void fromXML(XMLNode *node) override
string yieldVolDecayMode_
bool equityUseMoneyness(const string &key) const
map< string, vector< Period > > zeroInflationTenors_
const vector< Period > & swapVolExpiries(const string &key) const
const string & zeroInflationCapFloorVolDecayMode() const
bool simulateZeroInflationCapFloorVols() const
void setCprs(const vector< string > &names)
bool fxVolSimulateATMOnly_
map< string, vector< Real > > fxStandardDevs_
map< string, vector< Real > > swapVolStrikeSpreads_
Size numberOfCreditStates_
void setZeroInflationCapFloorNames(vector< string > names)
bool capFloorVolAdjustOptionletPillars_
const string & baseCcy() const
string zeroInflationCapFloorVolDecayMode_
vector< string > equityDividendYields() const
vector< Period > correlationExpiries_
map< std::string, bool > capFloorVolIsAtm_
string equityVolDecayMode_
void setSimulateEquityVols(bool simulate)
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
map< string, vector< Period > > swapVolExpiries_
const string & swapVolSmileDynamics(const string &key) const
bool simulateBaseCorrelations() const
void setRecoveryRates(vector< string > names)
void setSimulateCdsVolsATMOnly(bool simulateATMOnly)
map< string, string > zeroInflationCapFloorVolSmileDynamics_
vector< Period > baseCorrelationTerms_
void setSwapVolIsCube(const string &key, bool isCube)
map< string, string > yoyInflationCapFloorVolSmileDynamics_
string capFloorVolDecayMode_
bool hasDefaultTenors(const string &key) const
const string & yieldVolDecayMode() const
void setSimulateRecoveryRates(bool simulate)
const string & equityVolDecayMode() const
const vector< string > & cprs() const
std::string commodityVolDecayMode_
bool operator==(const ScenarioSimMarketParameters &rhs)
void setSimulateBaseCorrelations(bool simulate)
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 & cdsVolDecayMode() const
map< string, vector< Period > > defaultTenors_
vector< string > zeroInflationCapFloorVolNames() const
string defaultCurveExtrapolation_
void setSimulateDividendYield(bool simulate)
const string & defaultCurveCalendar(const string &key) const
void setYieldCurveNames(vector< string > names)
map< string, string > defaultCurveCalendars_
vector< string > indices() const
const std::map< RiskFactorKey::KeyType, std::pair< bool, std::set< std::string > > > & parameters() const
map< string, string > & yieldCurveCurrencies()
Size additionalScenarioDataNumberOfCreditStates_
void setSimulateSurvivalProbabilities(bool simulate)
void setSimulateFxSpots(bool simulate)
map< string, string > capFloorVolSmileDynamics_
bool simulateFxSpots() const
const vector< Period > & yieldVolTerms() const
const string & yoyInflationCapFloorVolDecayMode() const
const vector< Period > & yieldVolExpiries() const
bool securitySpreadsSimulate() const
bool equityVolSimulateATMOnly_
const string & swapVolDecayMode() const
bool hasCommodityCurveTenors(const std::string &commodityName) const
vector< string > defaultNames() const
const vector< Real > & correlationStrikes() const
void setSimulateCdsVols(bool simulate)
bool simulateEquityVolATMOnly() const
vector< string > equityVolNames() const
bool simulateEquityVols() const
vector< string > capFloorVolKeys() const
string & swapVolDecayMode()
void setBaseCorrelationNames(vector< string > names)
map< string, vector< Period > > zeroInflationCapFloorVolExpiries_
bool simulateYoYInflationCapFloorVols() const
vector< string > & additionalScenarioDataCcys()
map< string, vector< Period > > capFloorVolExpiries_
void setFxVolIsSurface(const string &ccypair, bool val)
void setFxVolSmileDynamics(const string &name, const string &smileDynamics)
map< string, vector< Period > > fxVolExpiries_
void setParamsSimulate(RiskFactorKey::KeyType kt, bool simulate)
map< string, vector< Period > > yieldCurveTenors_
bool hasYoyInflationTenors(const string &key) const
void setSimulateEquityVolATMOnly(bool simulateATMOnly)
const vector< Real > & zeroInflationCapFloorVolStrikes(const string &key) const
const string & equityVolSmileDynamics(const string &key) const
bool hasYoYInflationCapFloorVolExpiries(const string &key) const
vector< Period > cdsVolExpiries_
void setSecuritySpreadsSimulate(bool simulate)
bool simulateCprs() const
const vector< Period > & yoyInflationTenors(const string &key) const
const vector< Period > & equityVolExpiries(const string &key) const
void setSimulateZeroInflationCapFloorVols(bool simulate)
const string & fxVolSmileDynamics(const string &key) const
std::map< std::string, std::vector< QuantLib::Period > > commodityCurveTenors_
map< string, vector< Period > > yoyInflationCapFloorVolExpiries_
bool capFloorVolUseCapAtm() const
map< string, vector< Period > > yoyInflationTenors_
void reset()
A method used to reset the object to its default state before fromXML is called.
void setSimulateCprs(bool simulate)
vector< string > cpiIndices() const
map< std::string, std::vector< QuantLib::Rate > > zeroInflationCapFloorVolStrikes_
vector< string > yoyInflationIndices() const
vector< Period > yieldVolTerms_
vector< string > discountCurveNames() const
void setEquityDividendTenors(const string &key, const vector< Period > &p)
const std::vector< QuantLib::Period > & commodityVolExpiries(const std::string &commodityName) const
void setYoyInflationIndices(vector< string > names)
void setDefaultNames(vector< string > names)
void setDefaultCurveCalendars(const string &key, const string &p)
map< string, string > equityVolSmileDynamics_
void setYoYInflationCapFloorVolExpiries(const string &key, const vector< Period > &p)
void setSwapVolKeys(vector< string > names)
void setEquityDividendCurves(vector< string > names)
void setEquityVolNames(vector< string > names)
map< string, vector< Period > > equityVolExpiries_
string & yoyInflationCapFloorVolDecayMode()
const map< string, string > & swapIndices() const
const vector< Real > & equityVolStandardDevs(const string &key) const
Size numberOfCreditStates() const
map< std::string, std::vector< QuantLib::Rate > > yoyInflationCapFloorVolStrikes_
void setSimulateYieldVols(bool simulate)
bool simulateDividendYield() const
vector< string > yoyInflationCapFloorVolNames() const
void setYieldCurveTenors(const string &key, const vector< Period > &p)
bool & simulateSwapVolATMOnly()
vector< Period > & baseCorrelationTerms()
vector< Period > yieldVolExpiries_
bool capFloorVolUseCapAtm_
void setYoYInflationCapFloorVolStrikes(const std::string &key, const std::vector< QuantLib::Rate > &strikes)
void setFxVolMoneyness(const string &ccypair, const vector< Real > &moneyness)
void setCorrelationPairs(vector< string > names)
const vector< Period > & zeroInflationTenors(const string &key) const
void setCpiIndices(vector< string > names)
bool cdsVolSimulateATMOnly_
bool simulateSwapVols() const
void setEquityVolStandardDevs(const string &name, const vector< Real > &standardDevs)
void setYoYInflationCapFloorVolNames(vector< string > names)
map< string, vector< Real > > equityStandardDevs_
void setCommodityVolNames(vector< string > names)
bool swapVolSimulateATMOnly_
void setSecurities(vector< string > names)
const string & fxVolDecayMode() const
map< string, string > swapIndices_
void setSimulateFxVolATMOnly(bool simulateATMOnly)
const vector< string > & additionalScenarioDataIndices() const
void setCapFloorVolUseCapAtm(bool capFloorVolUseCapAtm)
void setSwapVolExpiries(const string &key, const vector< Period > &p)
void setDiscountCurveNames(vector< string > names)
map< string, string > yieldCurveCurrencies_
void setIndices(vector< string > names)
bool correlationIsSurface() const
vector< string > securities() const
map< string, string > cdsVolSmileDynamics_
void setEquityVolDecayMode(const string &val)
map< std::string, bool > fxVolIsSurface_
const string & capFloorVolSmileDynamics(const string &key) const
const Size additionalScenarioDataNumberOfCreditStates() const
void setZeroInflationTenors(const string &key, const vector< Period > &p)