/** * Obtains an instance used to obtain a curve group by name. * * @param groupName the curve group name * @return the identifier */ public static RatesCurveGroupId of(String groupName) { return new RatesCurveGroupId(CurveGroupName.of(groupName), ObservableSource.NONE); }
/** * Obtains an instance used to obtain a curve group by name. * * @param groupName the curve group name * @return the identifier */ public static LegalEntityCurveGroupId of(String groupName) { return new LegalEntityCurveGroupId(CurveGroupName.of(groupName), ObservableSource.NONE); }
/** * Obtains an instance used to obtain a curve by name. * * @param groupName the curve group name * @param curveName the curve name * @return the identifier */ public static CurveId of(String groupName, String curveName) { return new CurveId(CurveGroupName.of(groupName), CurveName.of(curveName), ObservableSource.NONE); }
public void coverage() { CurveGroupName test = CurveGroupName.of("Foo"); assertEquals(test.toString(), "Foo"); }
public void test_missingEntries() { assertThrowsIllegalArg(() -> RatesCurveGroupDefinition.of( CurveGroupName.of("group"), ImmutableList.of(ENTRY1), ImmutableList.of(CURVE_DEFN1, CURVE_DEFN2)), "An entry must be provided .* \\[Test2\\]"); }
private void assertCurves(List<RatesCurveGroup> curveGroups) { assertNotNull(curveGroups); assertEquals(curveGroups.size(), 1); RatesCurveGroup curveGroup = curveGroups.get(0); assertEquals(curveGroup.getName(), CurveGroupName.of("Default")); assertUsdDisc(curveGroup.findDiscountCurve(Currency.USD).get()); Curve usd3ml = curveGroup.findForwardCurve(IborIndices.USD_LIBOR_3M).get(); assertUsd3ml(usd3ml); }
public void calibrate_noDefinitions() { RatesCurveGroupDefinition empty = RatesCurveGroupDefinition.of(CurveGroupName.of("Group"), ImmutableList.of(), ImmutableList.of()); MarketData mad = CALIBRATOR_SYNTHETIC.marketData(empty, MULTICURVE_INPUT_EUR_TSLARGE, REF_DATA); RatesProvider multicurveSyn = CALIBRATOR_SYNTHETIC.calibrate(empty, MULTICURVE_INPUT_EUR_TSLARGE, REF_DATA); assertEquals(multicurveSyn.getDiscountCurrencies(), ImmutableSet.of()); assertEquals(multicurveSyn.getIborIndices(), ImmutableSet.of()); assertEquals(multicurveSyn.getOvernightIndices(), ImmutableSet.of()); assertEquals(multicurveSyn.getPriceIndices(), ImmutableSet.of()); assertEquals(mad.getTimeSeriesIds(), ImmutableSet.of()); }
public void test_parsing() { Map<CurveGroupName, RatesCurveGroupDefinition> test = RatesCalibrationCsvLoader.loadWithSeasonality( ResourceLocator.of(GROUPS_1), ResourceLocator.of(SETTINGS_1), ResourceLocator.of(SEASONALITY_1), ImmutableList.of(ResourceLocator.of(CALIBRATION_1))); assertEquals(test.size(), 1); assertDefinition(test.get(CurveGroupName.of("Default"))); }
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_of_TypesSource() { CurveId test = CurveId.of(CurveGroupName.of("Group"), CurveName.of("Name"), OBS_SOURCE); assertEquals(test.getCurveGroupName(), CurveGroupName.of("Group")); assertEquals(test.getCurveName(), CurveName.of("Name")); assertEquals(test.getObservableSource(), OBS_SOURCE); assertEquals(test.getMarketDataType(), Curve.class); assertEquals(test.getMarketDataName(), CurveName.of("Name")); assertEquals(test.toString(), "CurveId:Group/Name/Vendor"); }
public void test_of_Types() { CurveId test = CurveId.of(CurveGroupName.of("Group"), CurveName.of("Name")); assertEquals(test.getCurveGroupName(), CurveGroupName.of("Group")); assertEquals(test.getCurveName(), CurveName.of("Name")); assertEquals(test.getObservableSource(), ObservableSource.NONE); assertEquals(test.getMarketDataType(), Curve.class); assertEquals(test.getMarketDataName(), CurveName.of("Name")); assertEquals(test.toString(), "CurveId:Group/Name"); }
public void test_of_String() { CurveId test = CurveId.of("Group", "Name"); assertEquals(test.getCurveGroupName(), CurveGroupName.of("Group")); assertEquals(test.getCurveName(), CurveName.of("Name")); assertEquals(test.getObservableSource(), ObservableSource.NONE); assertEquals(test.getMarketDataType(), Curve.class); assertEquals(test.getMarketDataName(), CurveName.of("Name")); assertEquals(test.toString(), "CurveId:Group/Name"); }
public void test_getCurves_withGroup() { ImmutableRatesProvider test = ImmutableRatesProvider.builder(VAL_DATE) .discountCurve(GBP, DISCOUNT_CURVE_GBP) .discountCurve(USD, DISCOUNT_CURVE_USD) .build(); CurveGroupName group = CurveGroupName.of("GRP"); assertEquals(test.getCurves(group).size(), 2); assertEquals(test.getCurves(group).get(CurveId.of(group, DISCOUNT_CURVE_GBP.getName())), DISCOUNT_CURVE_GBP); assertEquals(test.getCurves(group).get(CurveId.of(group, DISCOUNT_CURVE_USD.getName())), DISCOUNT_CURVE_USD); }
public void test_tradesInitialGuesses() { RatesCurveGroupDefinition test = RatesCurveGroupDefinition.builder() .name(CurveGroupName.of("Test")) .addCurve(CURVE_DEFN1, GBP, GBP_LIBOR_1M, GBP_LIBOR_3M) .build(); MarketData marketData = ImmutableMarketData.of( date(2015, 6, 30), ImmutableMap.of(GBP_LIBOR_1M_ID, 0.5d, GBP_LIBOR_3M_ID, 1.5d)); Trade trade1 = NODE1.trade(1d, marketData, REF_DATA); Trade trade2 = NODE2.trade(1d, marketData, REF_DATA); assertEquals(test.getTotalParameterCount(), 2); assertEquals(test.resolvedTrades(marketData, REF_DATA), ImmutableList.of(trade1, trade2)); assertEquals(test.initialGuesses(marketData), ImmutableList.of(0.5d, 1.5d)); }
public void test_metadata() { RatesCurveGroupDefinition test = RatesCurveGroupDefinition.builder() .name(CurveGroupName.of("Test")) .addCurve(CURVE_DEFN1, GBP, GBP_LIBOR_1M, GBP_LIBOR_3M) .build(); LocalDate valuationDate = date(2015, 6, 30); CurveMetadata meta = CURVE_DEFN1.metadata(valuationDate, REF_DATA); assertEquals(test.metadata(valuationDate, REF_DATA), ImmutableList.of(meta)); }
public void coverage() { RatesCurveGroupDefinition test = RatesCurveGroupDefinition.builder() .name(CurveGroupName.of("Test")) .addDiscountCurve(CURVE_DEFN1, GBP) .build(); coverImmutableBean(test); RatesCurveGroupDefinition test2 = RatesCurveGroupDefinition.builder() .name(CurveGroupName.of("Test2")) .addForwardCurve(CURVE_DEFN2, GBP_LIBOR_1M) .build(); coverBeanEquals(test, test2); }
public void test_serialization() { RatesCurveGroupDefinition test = RatesCurveGroupDefinition.builder() .name(CurveGroupName.of("Test")) .addDiscountCurve(CURVE_DEFN1, GBP) .build(); assertSerialization(test); }
public void test_ofCurves_duplicateCurveName() { RatesCurveGroupDefinition definition = RatesCurveGroupDefinition.builder() .name(CurveGroupName.of("group")) .addForwardCurve(IBOR_NAME, USD_LIBOR_1M, USD_LIBOR_2M) .build(); RatesCurveGroup group = RatesCurveGroup.ofCurves(definition, IBOR_CURVE, IBOR_CURVE); assertThat(group.findForwardCurve(USD_LIBOR_1M)).hasValue(IBOR_CURVE); assertThat(group.findForwardCurve(USD_LIBOR_2M)).hasValue(IBOR_CURVE); }
public void test_combinedWith_sameCurveNamesClash() { RatesCurveGroupDefinition base1 = RatesCurveGroupDefinition.builder() .name(CurveGroupName.of("Test")) .addCurve(CURVE_DEFN1, GBP, GBP_LIBOR_1M, GBP_LIBOR_3M) .addForwardCurve(CURVE_DEFN_I, GB_RPI) .build(); RatesCurveGroupDefinition base2 = RatesCurveGroupDefinition.builder() .name(CurveGroupName.of("TestX")) .addCurve(CURVE_DEFN1B, GBP, GBP_LIBOR_6M) .build(); assertThrowsIllegalArg(() -> base1.combinedWith(base2)); }
public void test_ofCurves() { RatesCurveGroupDefinition definition = RatesCurveGroupDefinition.builder() .name(CurveGroupName.of("group")) .addCurve(DISCOUNT_NAME, GBP, GBP_LIBOR_1M) .addForwardCurve(IBOR_NAME, USD_LIBOR_1M, USD_LIBOR_2M) .addForwardCurve(OVERNIGHT_NAME, EUR_EONIA) .build(); RatesCurveGroup group = RatesCurveGroup.ofCurves(definition, DISCOUNT_CURVE, OVERNIGHT_CURVE, IBOR_CURVE); assertThat(group.findDiscountCurve(GBP)).hasValue(DISCOUNT_CURVE); assertThat(group.findForwardCurve(USD_LIBOR_1M)).hasValue(IBOR_CURVE); assertThat(group.findForwardCurve(USD_LIBOR_2M)).hasValue(IBOR_CURVE); assertThat(group.findForwardCurve(EUR_EONIA)).hasValue(OVERNIGHT_CURVE); }