136 {
137 QuantLib::ext::shared_ptr<analytics::ScenarioSimMarketParameters> simMarketData(
139
140 simMarketData->baseCcy() = "EUR";
141
142 simMarketData->setDiscountCurveNames({"EUR", "GBP", "USD", "CHF", "JPY"});
143 simMarketData->setYieldCurveNames({"BondCurve1"});
144 simMarketData->yieldCurveCurrencies()["BondCurve1"] = "EUR";
145 simMarketData->setYieldCurveTenors("", {1 * Months, 6 * Months, 1 * Years, 2 * Years, 3 * Years, 4 * Years,
146 5 * Years, 7 * Years, 10 * Years, 15 * Years, 20 * Years, 30 * Years});
147 simMarketData->setIndices(
148 {"EUR-EURIBOR-6M", "USD-LIBOR-3M", "USD-LIBOR-6M", "GBP-LIBOR-6M", "CHF-LIBOR-6M", "JPY-LIBOR-6M"});
149 simMarketData->interpolation() = "LogLinear";
150
151 simMarketData->setDefaultNames({"BondIssuer1", "dc"});
152 simMarketData->setDefaultTenors(
153 "", {6 * Months, 1 * Years, 2 * Years, 3 * Years, 5 * Years, 7 * Years, 10 * Years, 15 * Years, 20 * Years});
154 simMarketData->setSimulateSurvivalProbabilities(true);
155 simMarketData->setSecurities({"Bond1"});
156 simMarketData->setDefaultCurveCalendars("", "TARGET");
157
158 simMarketData->setSwapVolTerms("", {1 * Years, 2 * Years, 3 * Years, 5 * Years, 7 * Years, 10 * Years, 20 * Years});
159 simMarketData->setSwapVolExpiries(
160 "", {6 * Months, 1 * Years, 2 * Years, 3 * Years, 5 * Years, 7 * Years, 10 * Years, 20 * Years});
161 simMarketData->setSwapVolKeys({"EUR", "GBP", "USD", "CHF", "JPY"});
162 simMarketData->swapVolDecayMode() = "ForwardVariance";
163 simMarketData->setSimulateSwapVols(true);
164
165 simMarketData->setFxVolExpiries("",
166 vector<Period>{1 * Months, 3 * Months, 6 * Months, 2 * Years, 3 * Years, 4 * Years, 5 * Years});
167 simMarketData->setFxVolDecayMode(string("ConstantVariance"));
168 simMarketData->setSimulateFXVols(true);
169 simMarketData->setFxVolCcyPairs({"EURUSD", "EURGBP", "EURCHF", "EURJPY"});
170 simMarketData->setFxVolIsSurface(true);
171 simMarketData->setFxVolMoneyness(vector<Real>{0.1, 0.5, 1, 1.5, 2, 2.5, 3});
172
173 simMarketData->setFxCcyPairs({"EURUSD", "EURGBP", "EURCHF", "EURJPY"});
174
175 simMarketData->setSimulateCapFloorVols(true);
176 simMarketData->capFloorVolDecayMode() = "ForwardVariance";
177 simMarketData->setCapFloorVolKeys({"EUR", "USD"});
178 simMarketData->setCapFloorVolExpiries(
179 "", {6 * Months, 1 * Years, 2 * Years, 3 * Years, 5 * Years, 7 * Years, 10 * Years, 15 * Years, 20 * Years});
180 simMarketData->setCapFloorVolStrikes("", {0.00, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06});
181
182 simMarketData->setSimulateCdsVols(true);
183 simMarketData->cdsVolExpiries() = {6 * Months, 1 * Years, 2 * Years, 3 * Years, 5 * Years, 10 * Years};
184 simMarketData->cdsVolDecayMode() = "ForwardVariance";
185 simMarketData->setCdsVolNames({"dc"});
186
187 simMarketData->setEquityNames({"SP5", "Lufthansa"});
188 simMarketData->setEquityDividendTenors("SP5", {6 * Months, 1 * Years, 2 * Years});
189 simMarketData->setEquityDividendTenors("Lufthansa", {6 * Months, 1 * Years, 2 * Years});
190
191 simMarketData->setSimulateEquityVols(true);
192 simMarketData->setEquityVolDecayMode("ForwardVariance");
193 simMarketData->setEquityVolNames({"SP5", "Lufthansa"});
194 simMarketData->setEquityVolExpiries("", {2 * Weeks, 1 * Months, 3 * Months, 6 * Months, 1 * Years,
195 2 * Years, 3 * Years, 5 * Years, 7 * Years, 10 * Years,
196 13 * Years, 15 * Years, 20 * Years, 30 * Years});
197 simMarketData->setEquityVolIsSurface("", true);
198 simMarketData->setEquityVolMoneyness("", {0.5, 0.6, 0.7, 0.8, 0.9, 0.95, 1.0, 1.05, 1.1, 1.2,
199 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.5, 3.0});
200
201 simMarketData->setYoyInflationIndices({"UKRP1"});
202 simMarketData->setYoyInflationTenors(
203 "UKRP1", {1 * Years, 2 * Years, 3 * Years, 5 * Years, 7 * Years, 10 * Years, 15 * Years, 20 * Years});
204
205 simMarketData->setSimulateYoYInflationCapFloorVols(true);
206 simMarketData->setYoYInflationCapFloorVolNames({"UKRP1"});
207 simMarketData->setYoYInflationCapFloorVolExpiries(
208 "UKRP1", {1 * Years, 2 * Years, 3 * Years, 5 * Years, 7 * Years, 10 * Years, 15 * Years, 20 * Years});
209 simMarketData->setYoYInflationCapFloorVolStrikes("", {-0.02, -0.01, 0.00, 0.01, 0.02, 0.03});
210 simMarketData->yoyInflationCapFloorVolDecayMode() = "ForwardVariance";
211
212 return simMarketData;
213}