/** * Obtains an instance that uses the specified set of reference data. * * @param refData the reference data * @return the loader */ public static SensitivityCsvLoader of(ReferenceData refData) { return new SensitivityCsvLoader(SensitivityCsvInfoResolver.of(refData)); }
/** * Obtains an instance that uses the standard set of reference data. * * @return the loader */ public static SensitivityCsvLoader standard() { return new SensitivityCsvLoader(SensitivityCsvInfoResolver.standard()); }
Optional<String> tenorStrOpt = row.findValue(TENOR_HEADER); if (tenorStrOpt.isPresent() && !tenorOpt.isPresent()) { if (lenientDateParsing && !dateOpt.isPresent() && !resolver.isTenorRequired()) { try { dateOpt = tenorStrOpt.map(LoaderUtils::parseDate); Tenor tenor = resolver.checkSensitivityTenor(tenorOpt.get()); if (dateOpt.isPresent()) { return TenorDateParameterMetadata.of(dateOpt.get(), tenor); return TenorParameterMetadata.of(tenor); } else if (resolver.isTenorRequired()) { throw new IllegalArgumentException(Messages.format("Missing value for '{}' column", TENOR_HEADER)); } else if (dateOpt.isPresent()) {
for (String header : csv.headers()) { String headerLowerCase = header.toLowerCase(Locale.ENGLISH); if (!REF_HEADERS.contains(headerLowerCase) && !resolver.isInfoColumn(headerLowerCase)) { references.put(header, CurveName.of(header)); for (Entry<String, CurveName> entry : references.entrySet()) { CurveName reference = entry.getValue(); CurveName resolvedCurveName = resolver.checkCurveName(reference); String valueStr = batchRow.getField(entry.getKey()); Currency currency = parseCurrency(batchRow, reference);
@Override public Tenor checkSensitivityTenor(Tenor tenor) { Tenor adjustedTenor = SensitivityCsvInfoResolver.super.checkSensitivityTenor(tenor); return adjustedTenor.equals(Tenor.TENOR_12M) ? Tenor.TENOR_1Y : adjustedTenor; }
private PortfolioItemInfo parseInfo(CsvRow row) { PortfolioItemInfo info = PortfolioItemInfo.empty(); String scheme = row.findValue(ID_SCHEME_HEADER).orElse(DEFAULT_SCHEME); StandardId id = row.findValue(ID_HEADER).map(str -> StandardId.of(scheme, str)).orElse(null); if (id != null) { info = info.withId(id); } return resolver.parseSensitivityInfo(row, info); }
try { CurveName reference = CurveName.of(batchRow.getValue(REFERENCE_HEADER)); CurveName resolvedCurveName = resolver.checkCurveName(reference); CurveSensitivitiesType type = CurveSensitivitiesType.of(batchRow.getValue(TYPE_HEADER)); ParameterMetadata metadata = parseMetadata(batchRow, false);
for (String header : csv.headers()) { String headerLowerCase = header.toLowerCase(Locale.ENGLISH); if (!TYPE_HEADERS.contains(headerLowerCase) && !resolver.isInfoColumn(headerLowerCase)) { types.put(header, CurveSensitivitiesType.of(header.replace(" ", ""))); ParameterMetadata metadata = parseMetadata(batchRow, true); CurveName reference = CurveName.of(batchRow.getValue(REFERENCE_HEADER)); CurveName resolvedCurveName = resolver.checkCurveName(reference); for (Entry<String, CurveSensitivitiesType> entry : types.entrySet()) { CurveSensitivitiesType type = entry.getValue();