ScenarioSimMarketParameters instance.
1246 {
1247 QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters> simMarketData(
1249
1250 simMarketData->baseCcy() = "EUR";
1251 simMarketData->setDiscountCurveNames({"EUR", "GBP", "USD", "CHF", "JPY"});
1252 simMarketData->setYieldCurveTenors("",
1253 {2 * Weeks, 1 * Months, 3 * Months, 6 * Months, 1 * Years, 2 * Years, 3 * Years,
1254 5 * Years, 10 * Years, 13 * Years, 15 * Years, 20 * Years, 30 * Years});
1255 simMarketData->setIndices({"EUR-EURIBOR-2W", "EUR-EURIBOR-1M", "EUR-EURIBOR-3M", "EUR-EURIBOR-6M", "USD-LIBOR-2W",
1256 "USD-LIBOR-1M", "USD-LIBOR-3M", "USD-LIBOR-6M", "GBP-LIBOR-2W", "GBP-LIBOR-1M",
1257 "GBP-LIBOR-3M", "GBP-LIBOR-6M", "CHF-LIBOR-6M", "JPY-LIBOR-2W", "JPY-LIBOR-1M",
1258 "JPY-LIBOR-3M", "JPY-LIBOR-6M", "JPY-TONAR"});
1259 simMarketData->interpolation() = "LogLinear";
1260 simMarketData->swapIndices()["EUR-CMS-2Y"] = "EUR-EURIBOR-6M";
1261 simMarketData->swapIndices()["EUR-CMS-30Y"] = "EUR-EURIBOR-6M";
1262
1263 simMarketData->setSwapVolTerms("", {1 * Years, 2 * Years, 3 * Years, 4 * Years, 5 * Years, 7 * Years, 10 * Years,
1264 15 * Years, 20 * Years, 30 * Years});
1265 simMarketData->setSwapVolExpiries("",
1266 {2 * Weeks, 1 * Months, 3 * Months, 6 * Months, 1 * Years, 2 * Years, 3 * Years,
1267 5 * Years, 10 * Years, 13 * Years, 15 * Years, 20 * Years, 30 * Years});
1268 simMarketData->setSwapVolKeys({"EUR", "GBP", "USD", "CHF", "JPY"});
1269 simMarketData->swapVolDecayMode() = "ForwardVariance";
1270 simMarketData->setSimulateSwapVols(true);
1271 if (hasSwapVolCube) {
1272 simMarketData->setSwapVolIsCube("", true);
1273 simMarketData->simulateSwapVolATMOnly() = false;
1274 simMarketData->setSwapVolStrikeSpreads("", {-0.02, -0.005, 0.0, 0.005, 0.02});
1275 }
1276
1277 simMarketData->setFxVolExpiries("",
1278 vector<Period>{1 * Months, 3 * Months, 6 * Months, 2 * Years, 3 * Years, 4 * Years, 5 * Years});
1279 simMarketData->setFxVolDecayMode(string("ConstantVariance"));
1280 simMarketData->setSimulateFXVols(true);
1281 simMarketData->setFxVolCcyPairs({"EURUSD", "EURGBP", "EURCHF", "EURJPY"});
1282 simMarketData->setFxVolIsSurface(true);
1283 simMarketData->setFxVolMoneyness(vector<Real>{0.1, 0.5, 1, 1.5, 2, 2.5, 3});
1284 simMarketData->setFxCcyPairs({"EURUSD", "EURGBP", "EURCHF", "EURJPY"});
1285
1286 simMarketData->setSimulateCapFloorVols(true);
1287 simMarketData->capFloorVolDecayMode() = "ForwardVariance";
1288 simMarketData->setCapFloorVolKeys({"EUR", "USD"});
1289 simMarketData->setCapFloorVolExpiries(
1290 "", {6 * Months, 1 * Years, 2 * Years, 3 * Years, 5 * Years, 7 * Years, 10 * Years, 15 * Years, 20 * Years});
1291 simMarketData->setCapFloorVolStrikes("", {0.00, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06});
1292
1293 simMarketData->setDefaultNames({"dc", "dc2", "dc3"});
1294 simMarketData->setDefaultTenors("", {3 * Months, 6 * Months, 1 * Years, 2 * Years, 3 * Years, 5 * Years, 10 * Years,
1295 13 * Years, 15 * Years, 20 * Years});
1296 simMarketData->setSimulateSurvivalProbabilities(true);
1297 simMarketData->setSimulateRecoveryRates(false);
1298 simMarketData->setDefaultCurveCalendars("", "TARGET");
1299
1300 simMarketData->setSimulateCdsVols(true);
1301 simMarketData->cdsVolExpiries() = {6 * Months, 1 * Years, 2 * Years, 5 * Years, 10 * Years};
1302 simMarketData->cdsVolDecayMode() = "ForwardVariance";
1303 simMarketData->setCdsVolNames({"dc", "dc2", "dc3"});
1304
1305 simMarketData->setEquityNames({"SP5", "Lufthansa"});
1306 simMarketData->setEquityDividendTenors("SP5", {6 * Months, 1 * Years, 2 * Years});
1307 simMarketData->setEquityDividendTenors("Lufthansa", {6 * Months, 1 * Years, 2 * Years});
1308
1309 simMarketData->setSimulateEquityVols(true);
1310 simMarketData->setEquityVolDecayMode("ForwardVariance");
1311 simMarketData->setEquityVolNames({"SP5", "Lufthansa"});
1312 simMarketData->setEquityVolExpiries("",
1313 {2 * Weeks, 1 * Months, 3 * Months, 6 * Months, 1 * Years, 2 * Years, 3 * Years,
1314 5 * Years, 10 * Years, 13 * Years, 15 * Years, 20 * Years, 30 * Years});
1315 simMarketData->setEquityVolIsSurface("", true);
1316 simMarketData->setEquityVolMoneyness(
1317 "", {0.5, 0.6, 0.7, 0.8, 0.9, 0.95, 1.0, 1.05, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.5, 3.0});
1318
1319 simMarketData->setSimulateBaseCorrelations(true);
1320 simMarketData->setBaseCorrelationNames({"Tranch1"});
1321 simMarketData->baseCorrelationDetachmentPoints() = {0.03, 0.06, 0.09, 0.12, 0.22, 1.0};
1322 simMarketData->baseCorrelationTerms() = {1 * Days};
1323
1324 simMarketData->setZeroInflationIndices({"UKRPI"});
1325 simMarketData->setZeroInflationTenors("UKRPI", {6 * Months, 1 * Years, 2 * Years, 3 * Years, 5 * Years, 7 * Years,
1326 10 * Years, 15 * Years, 20 * Years});
1327
1328 simMarketData->setYoyInflationIndices({"UKRPI"});
1329 simMarketData->setYoyInflationTenors(
1330 "UKRPI", {1 * Years, 2 * Years, 3 * Years, 5 * Years, 7 * Years, 10 * Years, 15 * Years, 20 * Years});
1331
1332 if (hasYYCapVols) {
1333 simMarketData->setSimulateYoYInflationCapFloorVols(true);
1334 simMarketData->setYoYInflationCapFloorVolNames({"UKRPI"});
1335 simMarketData->setYoYInflationCapFloorVolExpiries(
1336 "UKRPI", {1 * Years, 2 * Years, 3 * Years, 5 * Years, 7 * Years, 10 * Years, 15 * Years, 20 * Years});
1337 simMarketData->setYoYInflationCapFloorVolStrikes("", {-0.02, -0.01, 0.00, 0.01, 0.02, 0.03});
1338 simMarketData->yoyInflationCapFloorVolDecayMode() = "ForwardVariance";
1339 }
1340
1341 return simMarketData;
1342}
ScenarioSimMarket description.