@ImmutablePreBuild private static void preBuild(Builder builder) { if (builder.parameterMetadata.size() == 0) { if (builder.initialGuess != null) { builder.parameterMetadata = ParameterMetadata.listOfEmpty(builder.initialGuess.size()); } } }
public void test_listOfEmpty() { List<ParameterMetadata> test = ParameterMetadata.listOfEmpty(2); assertEquals(test.size(), 2); }
/** * Obtains an instance from the market data name and sensitivity. * <p> * The market data name identifies the {@link ParameterizedData} instance that was queried. * The parameter metadata will be empty. * The size of the parameter metadata list must match the size of the sensitivity array. * * @param marketDataName the name of the market data that the sensitivity refers to * @param sensitivity the sensitivity values, one for each parameter * @return the sensitivity object */ public static UnitParameterSensitivity of(MarketDataName<?> marketDataName, DoubleArray sensitivity) { return of(marketDataName, ParameterMetadata.listOfEmpty(sensitivity.size()), sensitivity); }
/** * Obtains an instance from the market data name, currency and sensitivity. * <p> * The market data name identifies the {@link ParameterizedData} instance that was queried. * The parameter metadata will be empty. * The size of the parameter metadata list must match the size of the sensitivity array. * * @param marketDataName the name of the market data that the sensitivity refers to * @param currency the currency of the sensitivity * @param sensitivity the sensitivity values, one for each parameter * @return the sensitivity object */ public static CurrencyParameterSensitivity of( MarketDataName<?> marketDataName, Currency currency, DoubleArray sensitivity) { return of(marketDataName, ParameterMetadata.listOfEmpty(sensitivity.size()), currency, sensitivity); }
public void test_withParameterMetadata() { DefaultCurveMetadata base = DefaultCurveMetadata.of(CURVE_NAME); DefaultCurveMetadata test = base.withParameterMetadata(ParameterMetadata.listOfEmpty(2)); assertThat(test.getParameterMetadata().isPresent()).isTrue(); assertThat(test.getParameterMetadata().get()).containsAll(ParameterMetadata.listOfEmpty(2)); // redo for test coverage DefaultCurveMetadata test2 = test.withParameterMetadata(ParameterMetadata.listOfEmpty(3)); assertThat(test2.getParameterMetadata().isPresent()).isTrue(); assertThat(test2.getParameterMetadata().get()).containsAll(ParameterMetadata.listOfEmpty(3)); }
public void test_withNode_atStart_withMetadata() { InterpolatedNodalCurve base = InterpolatedNodalCurve.of(METADATA_ENTRIES, XVALUES, YVALUES, INTERPOLATOR); LabelDateParameterMetadata item = LabelDateParameterMetadata.of(date(2015, 6, 30), TNR_1Y); InterpolatedNodalCurve test = base.withNode(0.5d, 4d, item); List<ParameterMetadata> list = new ArrayList<>(); list.add(item); list.addAll(ParameterMetadata.listOfEmpty(SIZE)); assertThat(test.getName()).isEqualTo(CURVE_NAME); assertThat(test.getParameterCount()).isEqualTo(SIZE + 1); assertThat(test.getMetadata()).isEqualTo(METADATA_ENTRIES.withParameterMetadata(list)); assertThat(test.getXValues()).isEqualTo(DoubleArray.of(0.5d, 1d, 2d, 3d)); assertThat(test.getYValues()).isEqualTo(DoubleArray.of(4d, 5d, 7d, 8d)); }
public void test_builder_noParamMetadata() { ParameterizedFunctionalCurveDefinition test = ParameterizedFunctionalCurveDefinition.builder() .dayCount(ACT_365F) .valueFunction(VALUE_FUNCTION) .derivativeFunction(DERIVATIVE_FUNCTION) .sensitivityFunction(SENSITIVITY_FUNCTION) .initialGuess(INITIAL_PARAMS) .name(CURVE_NAME) .nodes(NODES) .xValueType(ValueType.YEAR_FRACTION) .yValueType(ValueType.ZERO_RATE) .build(); assertEquals(test.getName(), CURVE_NAME); assertEquals(test.getXValueType(), ValueType.YEAR_FRACTION); assertEquals(test.getYValueType(), ValueType.ZERO_RATE); assertEquals(test.getDayCount(), Optional.of(ACT_365F)); assertEquals(test.getNodes(), NODES); assertEquals(test.getValueFunction(), VALUE_FUNCTION); assertEquals(test.getDerivativeFunction(), DERIVATIVE_FUNCTION); assertEquals(test.getSensitivityFunction(), SENSITIVITY_FUNCTION); assertEquals(test.getInitialGuess(), INITIAL_PARAMS); assertEquals(test.getParameterCount(), 3); assertEquals(test.getParameterMetadata(), ParameterMetadata.listOfEmpty(3)); }