private RatesCurveGroupEntry findEntry(RatesCurveGroupDefinition defn, String curveName) { return defn.getEntries().stream().filter(d -> d.getCurveName().getName().equals(curveName)).findFirst().get(); }
.collect(toMap(curve -> curve.getMetadata().getCurveName(), curve -> curve, (curve1, curve2) -> curve1)); for (RatesCurveGroupEntry entry : curveGroupDefinition.getEntries()) { CurveName curveName = entry.getCurveName(); Curve curve = curveMap.get(curveName);
private static void writeCurveGroupDefinition(CsvOutput csv, RatesCurveGroupDefinition group) { String groupName = group.getName().getName(); for (RatesCurveGroupEntry entry : group.getEntries()) { for (Currency currency : entry.getDiscountCurrencies()) { csv.writeLine( ImmutableList.of(groupName, DISCOUNT, currency.toString(), entry.getCurveName().getName())); } for (Index index : entry.getIndices()) { csv.writeLine( ImmutableList.of(groupName, FORWARD, index.toString(), entry.getCurveName().getName())); } } }
@Override protected Object propertyGet(Bean bean, String propertyName, boolean quiet) { switch (propertyName.hashCode()) { case 3373707: // name return ((RatesCurveGroupDefinition) bean).getName(); case -1591573360: // entries return ((RatesCurveGroupDefinition) bean).getEntries(); case -336166639: // curveDefinitions return ((RatesCurveGroupDefinition) bean).getCurveDefinitions(); case 1051792832: // seasonalityDefinitions return ((RatesCurveGroupDefinition) bean).getSeasonalityDefinitions(); case -1730091410: // computeJacobian return ((RatesCurveGroupDefinition) bean).isComputeJacobian(); case -2061625469: // computePvSensitivityToMarketQuote return ((RatesCurveGroupDefinition) bean).isComputePvSensitivityToMarketQuote(); } return super.propertyGet(bean, propertyName, quiet); }
for (RatesCurveGroupEntry entry : group.getEntries()) { indicesRequired.addAll(entry.getIndices()); ccyRequired.addAll(entry.getDiscountCurrencies());
public void test_builder4() { RatesCurveGroupDefinition test = RatesCurveGroupDefinition.builder() .name(CurveGroupName.of("Test")) .addCurve(CURVE_NAME1, GBP, GBP_LIBOR_1M, GBP_LIBOR_3M) .build(); assertEquals(test.getName(), CurveGroupName.of("Test")); assertEquals(test.getEntries(), ImmutableList.of(ENTRY3)); assertEquals(test.findEntry(CurveName.of("Test")), Optional.of(ENTRY3)); assertEquals(test.findEntry(CurveName.of("Test2")), Optional.empty()); assertEquals(test.findEntry(CurveName.of("Rubbish")), Optional.empty()); }
public void test_loadCurveGroupDefinition() { List<RatesCurveGroupDefinition> defns = RatesCurveGroupDefinitionCsvLoader.loadCurveGroupDefinitions(ResourceLocator.of(GROUPS_1)); assertEquals(defns.size(), 1); RatesCurveGroupDefinition defn = defns.get(0); assertEquals(defn.getEntries().get(0), RatesCurveGroupEntry.builder() .curveName(CurveName.of("USD-Disc")) .discountCurrencies(USD) .build()); assertEquals(defn.getEntries().get(1), RatesCurveGroupEntry.builder() .curveName(CurveName.of("USD-3ML")) .indices(USD_LIBOR_3M) .build()); }
public void test_builder2() { RatesCurveGroupDefinition test = RatesCurveGroupDefinition.builder() .name(CurveGroupName.of("Test")) .addCurve(CURVE_DEFN1, GBP, GBP_LIBOR_1M, GBP_LIBOR_3M) .build(); assertEquals(test.getName(), CurveGroupName.of("Test")); assertEquals(test.getEntries(), ImmutableList.of(ENTRY3)); assertEquals(test.findEntry(CurveName.of("Test")), Optional.of(ENTRY3)); assertEquals(test.findEntry(CurveName.of("Test2")), Optional.empty()); assertEquals(test.findEntry(CurveName.of("Rubbish")), Optional.empty()); assertEquals(test.findCurveDefinition(CurveName.of("Test")), Optional.of(CURVE_DEFN1)); assertEquals(test.findCurveDefinition(CurveName.of("Test2")), Optional.empty()); assertEquals(test.findCurveDefinition(CurveName.of("Rubbish")), Optional.empty()); }
public void test_builder1() { RatesCurveGroupDefinition test = RatesCurveGroupDefinition.builder() .name(CurveGroupName.of("Test")) .addDiscountCurve(CURVE_DEFN1, GBP) .addForwardCurve(CURVE_DEFN1, GBP_SONIA) .addForwardCurve(CURVE_DEFN1, GBP_LIBOR_1W) .addForwardCurve(CURVE_DEFN2, GBP_LIBOR_1M, GBP_LIBOR_3M) .build(); assertEquals(test.getName(), CurveGroupName.of("Test")); assertEquals(test.getEntries(), ImmutableList.of(ENTRY1, ENTRY2)); assertEquals(test.findDiscountCurveName(GBP), Optional.of(CURVE_NAME1)); assertEquals(test.findDiscountCurveName(USD), Optional.empty()); assertEquals(test.findForwardCurveName(GBP_LIBOR_1W), Optional.of(CURVE_NAME1)); assertEquals(test.findForwardCurveName(GBP_LIBOR_1M), Optional.of(CURVE_NAME2)); assertEquals(test.findForwardCurveName(GBP_LIBOR_6M), Optional.empty()); assertEquals(test.findForwardCurveNames(GBP_LIBOR), ImmutableSet.of(CURVE_NAME1, CURVE_NAME2)); assertEquals(test.findEntry(CurveName.of("Test")), Optional.of(ENTRY1)); assertEquals(test.findEntry(CurveName.of("Test2")), Optional.of(ENTRY2)); assertEquals(test.findEntry(CurveName.of("Rubbish")), Optional.empty()); assertEquals(test.findCurveDefinition(CurveName.of("Test")), Optional.of(CURVE_DEFN1)); assertEquals(test.findCurveDefinition(CurveName.of("Test2")), Optional.of(CURVE_DEFN2)); assertEquals(test.findCurveDefinition(CurveName.of("Rubbish")), Optional.empty()); }
public void test_builder_seasonality() { RatesCurveGroupDefinition test = RatesCurveGroupDefinition.builder() .name(CurveGroupName.of("Test")) .addCurve(CURVE_DEFN1, GBP, GBP_LIBOR_1M, GBP_LIBOR_3M) .addSeasonality(CURVE_NAME_I, SEASONALITY_ADDITIVE_DEF) .build(); assertEquals(test.getName(), CurveGroupName.of("Test")); assertEquals(test.getEntries(), ImmutableList.of(ENTRY3)); assertEquals(test.findEntry(CurveName.of("Test")), Optional.of(ENTRY3)); assertEquals(test.findEntry(CurveName.of("Test2")), Optional.empty()); assertEquals(test.findEntry(CurveName.of("Rubbish")), Optional.empty()); assertEquals(test.findCurveDefinition(CurveName.of("Test")), Optional.of(CURVE_DEFN1)); assertEquals(test.findCurveDefinition(CurveName.of("Test2")), Optional.empty()); assertEquals(test.findCurveDefinition(CurveName.of("Rubbish")), Optional.empty()); ImmutableMap<CurveName, SeasonalityDefinition> seasonMap = test.getSeasonalityDefinitions(); assertTrue(seasonMap.size() == 1); assertEquals(seasonMap.get(CURVE_NAME_I), SEASONALITY_ADDITIVE_DEF); }
ImmutableMap<CurveName, JacobianCalibrationMatrix> jacobians = ImmutableMap.of(); for (RatesCurveGroupDefinition groupDefn : allGroupsDefn) { if (groupDefn.getEntries().isEmpty()) { continue;
public void test_builder3() { RatesCurveGroupDefinition test = RatesCurveGroupDefinition.builder() .name(CurveGroupName.of("Test")) .addDiscountCurve(CURVE_NAME1, GBP) .addForwardCurve(CURVE_NAME1, GBP_SONIA) .addForwardCurve(CURVE_NAME1, GBP_LIBOR_1W) .addForwardCurve(CURVE_NAME2, GBP_LIBOR_1M, GBP_LIBOR_3M) .build(); assertEquals(test.getName(), CurveGroupName.of("Test")); assertEquals(test.getEntries(), ImmutableList.of(ENTRY1, ENTRY2)); assertEquals(test.findEntry(CurveName.of("Test")), Optional.of(ENTRY1)); assertEquals(test.findEntry(CurveName.of("Test2")), Optional.of(ENTRY2)); assertEquals(test.findEntry(CurveName.of("Rubbish")), Optional.empty()); }
private void assertDefinition(RatesCurveGroupDefinition defn) { assertEquals(defn.getName(), CurveGroupName.of("Default")); assertEquals(defn.getEntries().size(), 3); assertEquals(defn.getSeasonalityDefinitions().size(), 1); assertEquals(defn.getSeasonalityDefinitions().get(CurveName.of("USD-CPI")).getAdjustmentType(), ShiftType.SCALED); RatesCurveGroupEntry entry0 = findEntry(defn, "USD-Disc"); RatesCurveGroupEntry entry1 = findEntry(defn, "USD-3ML"); RatesCurveGroupEntry entry2 = findEntry(defn, "USD-CPI"); CurveDefinition defn0 = defn.findCurveDefinition(entry0.getCurveName()).get(); CurveDefinition defn1 = defn.findCurveDefinition(entry1.getCurveName()).get(); CurveDefinition defn2 = defn.findCurveDefinition(entry2.getCurveName()).get(); assertEquals(entry0.getDiscountCurrencies(), ImmutableSet.of(Currency.USD)); assertEquals(entry0.getIndices(), ImmutableSet.of()); assertEquals(defn0.getName(), CurveName.of("USD-Disc")); assertEquals(defn0.getYValueType(), ValueType.ZERO_RATE); assertEquals(defn0.getParameterCount(), 17); assertEquals(entry1.getDiscountCurrencies(), ImmutableSet.of()); assertEquals(entry1.getIndices(), ImmutableSet.of(IborIndices.USD_LIBOR_3M)); assertEquals(defn1.getName(), CurveName.of("USD-3ML")); assertEquals(defn1.getYValueType(), ValueType.ZERO_RATE); assertEquals(defn1.getParameterCount(), 27); assertEquals(entry2.getDiscountCurrencies(), ImmutableSet.of()); assertEquals(entry2.getIndices(), ImmutableSet.of(PriceIndices.US_CPI_U)); assertEquals(defn2.getName(), CurveName.of("USD-CPI")); assertEquals(defn2.getYValueType(), ValueType.PRICE_INDEX); assertEquals(defn2.getParameterCount(), 2); }