/** * Sets the curve name. * * @param curveName the curve name * @return this, for chaining */ public DefaultCurveMetadataBuilder curveName(String curveName) { this.curveName = CurveName.of(curveName); return this; }
/** * Creates a constant curve with a specific value. * * @param name the curve name * @param yValue the constant y-value * @return the curve */ public static ConstantCurve of(String name, double yValue) { return of(CurveName.of(name), yValue); }
/** * Creates the metadata. * <p> * No information will be available for the x-values, y-values or parameters. * * @param name the curve name * @return the metadata */ public static DefaultCurveMetadata of(String name) { return of(CurveName.of(name)); }
/** * Creates curve metadata for a curve providing monthly prices, typically used in inflation. * <p> * The x-values represent months relative to an unspecified base month. * * @param name the curve name * @return the curve metadata */ public static CurveMetadata prices(String name) { return prices(CurveName.of(name)); }
/** * 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 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 formatForDisplay() { CurrencyParameterSensitivity sensitivity = CurrencyParameterSensitivity.of(CurveName.of("foo"), Currency.AED, DoubleArray.of(1, 2, 3)); String str = CurrencyParameterSensitivityValueFormatter.INSTANCE.formatForDisplay(sensitivity); assertThat(str).isEqualTo("1 = 1.00 | 2 = 2.00 | 3 = 3.00 "); }
public void test_loadSeasonalityDefinition() { Map<CurveName, SeasonalityDefinition> defns = SeasonalityDefinitionCsvLoader.loadSeasonalityDefinitions(ResourceLocator.of(GROUPS_1)); assertEquals(defns.size(), 1); SeasonalityDefinition defn = defns.get(CurveName.of("USD-CPI")); assertEquals(defn.getAdjustmentType(), ShiftType.SCALED); assertEquals(defn.getSeasonalityMonthOnMonth().size(), 12); }
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_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() { ConstantRecoveryRates test = ConstantRecoveryRates.of(LEGAL_ENTITY, VALUATION, RECOVERY_RATE); assertEquals(test.getLegalEntityId(), LEGAL_ENTITY); assertEquals(test.getRecoveryRate(), RECOVERY_RATE); assertEquals(test.getValuationDate(), VALUATION); assertEquals(test.recoveryRate(DATE_AFTER), RECOVERY_RATE); assertEquals(test.findData(CurveName.of("Rubbish")), Optional.empty()); assertEquals(test.getParameter(0), RECOVERY_RATE); assertEquals(test.getParameterCount(), 1); assertEquals(test.getParameterMetadata(0), ParameterMetadata.empty()); assertEquals(test.withParameter(0, 0.5), ConstantRecoveryRates.of(LEGAL_ENTITY, VALUATION, 0.5)); }
public void tokens() { CurrencyParameterSensitivity sensitivity1 = CurrencyParameterSensitivity.of(CurveName.of("curve1"), Currency.AUD, DoubleArray.EMPTY); CurrencyParameterSensitivity sensitivity2 = CurrencyParameterSensitivity.of(CurveName.of("curve2"), Currency.CHF, DoubleArray.EMPTY); CurrencyParameterSensitivities sensitivities = CurrencyParameterSensitivities.of(sensitivity1, sensitivity2); Set<String> expected = ImmutableSet.of("curve1", "curve2", "aud", "chf"); CurrencyParameterSensitivitiesTokenEvaluator evaluator = new CurrencyParameterSensitivitiesTokenEvaluator(); assertThat(evaluator.tokens(sensitivities)).isEqualTo(expected); }
public void test_of() { ZeroRateDiscountFactors test = ZeroRateDiscountFactors.of(GBP, DATE_VAL, CURVE); assertEquals(test.getCurrency(), GBP); assertEquals(test.getValuationDate(), DATE_VAL); assertEquals(test.getCurve(), CURVE); assertEquals(test.getParameterCount(), CURVE.getParameterCount()); assertEquals(test.getParameter(0), CURVE.getParameter(0)); assertEquals(test.getParameterMetadata(0), CURVE.getParameterMetadata(0)); assertEquals(test.withParameter(0, 1d).getCurve(), CURVE.withParameter(0, 1d)); assertEquals(test.withPerturbation((i, v, m) -> v + 1d).getCurve(), CURVE.withPerturbation((i, v, m) -> v + 1d)); assertEquals(test.findData(CURVE.getName()), Optional.of(CURVE)); assertEquals(test.findData(CurveName.of("Rubbish")), Optional.empty()); }
public void coverage() { CurveParameterSize test = CurveParameterSize.of(CURVE_NAME, 3); coverImmutableBean(test); CurveParameterSize test2 = CurveParameterSize.of(CurveName.of("Foo"), 4); coverBeanEquals(test, test2); }
public void coverage() { ParameterSize test = ParameterSize.of(CURVE_NAME, 3); coverImmutableBean(test); ParameterSize test2 = ParameterSize.of(CurveName.of("Foo"), 4); coverBeanEquals(test, test2); }
public void test_of() { HistoricOvernightIndexRates test = HistoricOvernightIndexRates.of(GBP_SONIA, DATE_VAL, SERIES); assertEquals(test.getIndex(), GBP_SONIA); assertEquals(test.getValuationDate(), DATE_VAL); assertEquals(test.getFixings(), SERIES); assertEquals(test.getParameterCount(), 0); assertThrows(IndexOutOfBoundsException.class, () -> test.getParameter(0)); assertThrows(IndexOutOfBoundsException.class, () -> test.getParameterMetadata(0)); assertThrows(IndexOutOfBoundsException.class, () -> test.withParameter(0, 1d)); assertSame(test.withPerturbation((i, v, m) -> v + 1d), test); assertEquals(test.findData(CurveName.of("Rubbish")), Optional.empty()); }
public void test_getSensitivity_eurUsd() { CrossGammaParameterSensitivity test = CrossGammaParameterSensitivity.of(NAME1, METADATA_USD1, ImmutableList.of(Pair.of(NAME1, METADATA_USD1), Pair.of(NAME2, METADATA_EUR1)), USD, MATRIX_USD_EUR); CrossGammaParameterSensitivity expected1 = CrossGammaParameterSensitivity.of(NAME1, METADATA_USD1, USD, MATRIX_USD1); assertEquals(test.getSensitivity(NAME1), expected1); CrossGammaParameterSensitivity expected2 = CrossGammaParameterSensitivity.of(NAME1, METADATA_USD1, NAME2, METADATA_EUR1, USD, MATRIX_EUR1); assertEquals(test.getSensitivity(NAME2), expected2); assertThrowsIllegalArg(() -> test.getSensitivity(CurveName.of("NAME-3"))); }
public void coverage() { IsdaCreditCurveDefinition test1 = IsdaCreditCurveDefinition.of(NAME, USD, CURVE_VALUATION_DATE, ACT_ACT_ISDA, NODES, true, true); coverImmutableBean(test1); IsdaCreditCurveDefinition test2 = IsdaCreditCurveDefinition.of( CurveName.of("TestCurve1"), EUR, CURVE_VALUATION_DATE.plusDays(1), ACT_365F, NODES.subList(0, 2), false, false); coverBeanEquals(test1, test2); }