private static void nodeLines(String valuationDateStr, Curve curve, CsvOutput csv) { ArgChecker.isTrue(curve instanceof InterpolatedNodalCurve, "interpolated"); InterpolatedNodalCurve interpolatedCurve = (InterpolatedNodalCurve) curve; int nbPoints = interpolatedCurve.getXValues().size(); for (int i = 0; i < nbPoints; i++) { ArgChecker.isTrue( interpolatedCurve.getParameterMetadata(i) instanceof DatedParameterMetadata, "Curve metadata must contain a date, but was " + interpolatedCurve.getParameterMetadata(i).getClass().getSimpleName()); DatedParameterMetadata metadata = (DatedParameterMetadata) interpolatedCurve.getParameterMetadata(i); List<String> line = new ArrayList<>(); line.add(valuationDateStr); line.add(curve.getName().getName().toString()); line.add(metadata.getDate().toString()); line.add(BigDecimal.valueOf(interpolatedCurve.getYValues().get(i)).toPlainString()); line.add(metadata.getLabel()); csv.writeLine(line); } }
private DoubleArray buildNodeTimes(LocalDate valuationDate, CurveMetadata metadata) { if (metadata.getXValueType().equals(ValueType.YEAR_FRACTION)) { return DoubleArray.of(getParameterCount(), i -> { LocalDate nodeDate = ((DatedParameterMetadata) metadata.getParameterMetadata().get().get(i)).getDate(); return getDayCount().get().yearFraction(valuationDate, nodeDate); }); } else if (metadata.getXValueType().equals(ValueType.MONTHS)) { return DoubleArray.of(getParameterCount(), i -> { LocalDate nodeDate = ((DatedParameterMetadata) metadata.getParameterMetadata().get().get(i)).getDate(); return YearMonth.from(valuationDate).until(YearMonth.from(nodeDate), MONTHS); }); } else { throw new IllegalArgumentException("Metadata XValueType should be YearFraction or Months in curve definition"); } }
public void test_metadata_last_fixing() { XCcyIborIborSwapCurveNode node = XCcyIborIborSwapCurveNode.of(TEMPLATE, SPREAD_ID, SPREAD_ADJ, LABEL).withDate(CurveNodeDate.LAST_FIXING); LocalDate valuationDate = LocalDate.of(2015, 1, 22); DatedParameterMetadata metadata = node.metadata(valuationDate, REF_DATA); LocalDate fixingExpected = LocalDate.of(2024, 10, 24); assertEquals(metadata.getDate(), fixingExpected); assertEquals(((TenorDateParameterMetadata) metadata).getTenor(), TENOR_10Y); }
public void test_metadata_last_fixing() { OvernightIborSwapCurveNode node = OvernightIborSwapCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD, LABEL).withDate(CurveNodeDate.LAST_FIXING); LocalDate valuationDate = LocalDate.of(2015, 1, 22); LocalDate fixingExpected = LocalDate.of(2024, 10, 24); DatedParameterMetadata metadata = node.metadata(valuationDate, REF_DATA); assertEquals(metadata.getDate(), fixingExpected); assertEquals(metadata.getLabel(), node.getLabel()); }
/** * Builds the sensitivity from the provided data. * * @return the sensitivities instance */ CurrencyParameterSensitivity build() { ImmutableSet<Class<?>> metadataTypes = sensitivity.keySet().stream().map(Object::getClass).collect(toImmutableSet()); if (metadataTypes.size() == 1) { if (TenoredParameterMetadata.class.isAssignableFrom(metadataTypes.iterator().next())) { Map<ParameterMetadata, Double> sorted = MapStream.of(sensitivity) .sortedKeys(Comparator.comparing(k -> ((TenoredParameterMetadata) k).getTenor())) .toMap(); return CurrencyParameterSensitivity.of(marketDataName, currency, sorted); } if (DatedParameterMetadata.class.isAssignableFrom(metadataTypes.iterator().next())) { Map<ParameterMetadata, Double> sorted = MapStream.of(sensitivity) .sortedKeys(Comparator.comparing(k -> ((DatedParameterMetadata) k).getDate())) .toMap(); return CurrencyParameterSensitivity.of(marketDataName, currency, sorted); } } return CurrencyParameterSensitivity.of(marketDataName, currency, sensitivity); }
public void test_metadata_last_fixing() { IborIborSwapCurveNode node = IborIborSwapCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD, LABEL).withDate(CurveNodeDate.LAST_FIXING); LocalDate valuationDate = LocalDate.of(2015, 1, 22); LocalDate fixingExpected = LocalDate.of(2024, 7, 24); DatedParameterMetadata metadata = node.metadata(valuationDate, REF_DATA); assertEquals(metadata.getDate(), fixingExpected); assertEquals(metadata.getLabel(), node.getLabel()); }
nodeMetadata.getLabel(), nodeMetadata.getClass().getName()); DatedParameterMetadata datedParameterMetadata = (DatedParameterMetadata) nodeMetadata; LocalDate nodeDate = datedParameterMetadata.getDate(); rebucketingArray(targetDates, rebucketedSensitivityAmounts, sensitivityAmounts.get(loopnode), nodeDate);
public void test_metadata_last_fixing() { FixedIborSwapCurveNode node = FixedIborSwapCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD, LABEL).withDate(CurveNodeDate.LAST_FIXING); LocalDate valuationDate = LocalDate.of(2015, 1, 22); LocalDate fixingExpected = LocalDate.of(2024, 10, 24); DatedParameterMetadata metadata = node.metadata(valuationDate, REF_DATA); assertEquals(metadata.getDate(), fixingExpected); assertEquals(metadata.getLabel(), node.getLabel()); }
if (nodeMetadata instanceof DatedParameterMetadata) { DatedParameterMetadata datedParameterMetadata = (DatedParameterMetadata) nodeMetadata; nodeDate = datedParameterMetadata.getDate(); } else { TenorParameterMetadata tenorParameterMetadata = (TenorParameterMetadata) nodeMetadata;
public void test_metadata_last_fixing() { FixedInflationSwapCurveNode node = FixedInflationSwapCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD, LABEL).withDate(CurveNodeDate.LAST_FIXING); LocalDate valuationDate = LocalDate.of(2015, 1, 22); LocalDate fixingExpected = LocalDate.of(2024, 10, 31); // Last day of the month DatedParameterMetadata metadata = node.metadata(valuationDate, REF_DATA); assertEquals(metadata.getDate(), fixingExpected); assertEquals(metadata.getLabel(), node.getLabel()); }
public void test_metadata_last_fixing() { IborFutureCurveNode node = IborFutureCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD, LABEL).withDate(CurveNodeDate.LAST_FIXING); ImmutableMarketData marketData = ImmutableMarketData.builder(VAL_DATE).addValue(QUOTE_ID, 0.0d).build(); IborFutureTrade trade = node.trade(1d, marketData, REF_DATA); LocalDate fixingDate = trade.getProduct().getFixingDate(); DatedParameterMetadata metadata = node.metadata(VAL_DATE, REF_DATA); assertEquals(metadata.getDate(), fixingDate); LocalDate referenceDate = TEMPLATE.calculateReferenceDateFromTradeDate(VAL_DATE, REF_DATA); assertEquals(((YearMonthDateParameterMetadata) metadata).getYearMonth(), YearMonth.from(referenceDate)); }
public void test_metadata_last_fixing() { ThreeLegBasisSwapCurveNode node = ThreeLegBasisSwapCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD, LABEL).withDate(CurveNodeDate.LAST_FIXING); LocalDate valuationDate = LocalDate.of(2015, 1, 22); LocalDate fixingExpected = LocalDate.of(2024, 7, 24); DatedParameterMetadata metadata = node.metadata(valuationDate, REF_DATA); assertEquals(metadata.getDate(), fixingExpected); assertEquals(metadata.getLabel(), node.getLabel()); }
csv.writeCell(tenor.toString()); if (containsDates) { csv.writeCell(pmd instanceof DatedParameterMetadata ? ((DatedParameterMetadata) pmd).getDate().toString() : "");
public void test_metadata_fixed() { FixedIborSwapCurveNode node = FixedIborSwapCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD, LABEL).withDate(CurveNodeDate.of(VAL_DATE)); LocalDate valuationDate = LocalDate.of(2015, 1, 22); DatedParameterMetadata metadata = node.metadata(valuationDate, REF_DATA); assertEquals(metadata.getDate(), VAL_DATE); assertEquals(metadata.getLabel(), node.getLabel()); }
public void test_metadata_fixed() { FixedInflationSwapCurveNode node = FixedInflationSwapCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD, LABEL).withDate(CurveNodeDate.of(VAL_DATE)); LocalDate valuationDate = LocalDate.of(2015, 1, 22); DatedParameterMetadata metadata = node.metadata(valuationDate, REF_DATA); assertEquals(metadata.getDate(), VAL_DATE); assertEquals(metadata.getLabel(), node.getLabel()); }
public void test_metadata_fixed() { OvernightIborSwapCurveNode node = OvernightIborSwapCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD, LABEL).withDate(CurveNodeDate.of(VAL_DATE)); LocalDate valuationDate = LocalDate.of(2015, 1, 22); DatedParameterMetadata metadata = node.metadata(valuationDate, REF_DATA); assertEquals(metadata.getDate(), VAL_DATE); assertEquals(metadata.getLabel(), node.getLabel()); }
public void test_metadata_fixed() { LocalDate nodeDate = VAL_DATE.plusMonths(1); FxSwapCurveNode node = FxSwapCurveNode.of(TEMPLATE, QUOTE_ID_PTS).withDate(CurveNodeDate.of(nodeDate)); LocalDate valuationDate = LocalDate.of(2015, 1, 22); DatedParameterMetadata metadata = node.metadata(valuationDate, REF_DATA); assertEquals(metadata.getDate(), nodeDate); assertEquals(metadata.getLabel(), node.getLabel()); }
public void test_metadata_fixed() { LocalDate nodeDate = VAL_DATE.plusMonths(1); FixedOvernightSwapCurveNode node = FixedOvernightSwapCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD, LABEL).withDate(CurveNodeDate.of(nodeDate)); LocalDate valuationDate = LocalDate.of(2015, 1, 22); DatedParameterMetadata metadata = node.metadata(valuationDate, REF_DATA); assertEquals(metadata.getDate(), nodeDate); assertEquals(metadata.getLabel(), node.getLabel()); }
public void test_metadata_fixed() { LocalDate nodeDate = VAL_DATE.plusMonths(1); IborIborSwapCurveNode node = IborIborSwapCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD, LABEL).withDate(CurveNodeDate.of(nodeDate)); DatedParameterMetadata metadata = node.metadata(VAL_DATE, REF_DATA); assertEquals(metadata.getDate(), nodeDate); assertEquals(metadata.getLabel(), node.getLabel()); }
public void test_metadata_fixed() { LocalDate nodeDate = VAL_DATE.plusMonths(1); TermDepositCurveNode node = TermDepositCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD).withDate(CurveNodeDate.of(nodeDate)); LocalDate valuationDate = LocalDate.of(2015, 1, 22); DatedParameterMetadata metadata = node.metadata(valuationDate, REF_DATA); assertEquals(metadata.getDate(), nodeDate); assertEquals(metadata.getLabel(), node.getLabel()); }