@Override public CurveMetadata metadata(LocalDate valuationDate, ReferenceData refData) { List<DatedParameterMetadata> nodeMetadata = nodes.stream() .map(node -> node.metadata(valuationDate, refData)) .collect(toImmutableList()); return DefaultCurveMetadata.builder() .curveName(name) .xValueType(xValueType) .yValueType(yValueType) .dayCount(dayCount) .parameterMetadata(nodeMetadata) .build(); }
public void test_builder2() { DefaultCurveMetadata test = DefaultCurveMetadata.builder() .curveName(CURVE_NAME) .xValueType(ValueType.YEAR_FRACTION) .yValueType(ValueType.DISCOUNT_FACTOR) .addInfo(CurveInfoType.DAY_COUNT, ACT_360) .jacobian(JACOBIAN_DATA) .parameterMetadata(ParameterMetadata.empty()) .build(); assertThat(test.getCurveName()).isEqualTo(CURVE_NAME); assertThat(test.getXValueType()).isEqualTo(ValueType.YEAR_FRACTION); assertThat(test.getYValueType()).isEqualTo(ValueType.DISCOUNT_FACTOR); assertThat(test.getInfo(CurveInfoType.DAY_COUNT)).isEqualTo(ACT_360); assertThat(test.findInfo(CurveInfoType.DAY_COUNT)).isEqualTo(Optional.of(ACT_360)); assertThat(test.getInfo(CurveInfoType.JACOBIAN)).isEqualTo(JACOBIAN_DATA); assertThat(test.findInfo(CurveInfoType.JACOBIAN)).isEqualTo(Optional.of(JACOBIAN_DATA)); assertThat(test.findInfo(CurveInfoType.of("Rubbish"))).isEqualTo(Optional.empty()); assertThat(test.getParameterMetadata().isPresent()).isTrue(); assertThat(test.getParameterMetadata().get()).containsExactly(ParameterMetadata.empty()); }
public void test_of_String_noMetadata() { DefaultCurveMetadata test = DefaultCurveMetadata.of(NAME); assertThat(test.getCurveName()).isEqualTo(CURVE_NAME); assertThat(test.getXValueType()).isEqualTo(ValueType.UNKNOWN); assertThat(test.getYValueType()).isEqualTo(ValueType.UNKNOWN); assertThat(test.getInfo()).isEqualTo(ImmutableMap.of()); assertThat(test.getParameterMetadata().isPresent()).isFalse(); }
/** * Restricted copy constructor. * * @param beanToCopy the bean to copy from */ DefaultCurveMetadataBuilder(DefaultCurveMetadata beanToCopy) { this.curveName = beanToCopy.getCurveName(); this.xValueType = beanToCopy.getXValueType(); this.yValueType = beanToCopy.getYValueType(); this.info.putAll(beanToCopy.getInfo()); this.parameterMetadata = beanToCopy.getParameterMetadata().orElse(null); }
public void test_withInfo() { DefaultCurveMetadata base = DefaultCurveMetadata.of(CURVE_NAME); assertThat(base.findInfo(CurveInfoType.DAY_COUNT).isPresent()).isFalse(); DefaultCurveMetadata test = base.withInfo(CurveInfoType.DAY_COUNT, ACT_360); assertThat(base.findInfo(CurveInfoType.DAY_COUNT).isPresent()).isFalse(); assertThat(test.findInfo(CurveInfoType.DAY_COUNT).isPresent()).isTrue(); }
public void test_builder3() { DefaultCurveMetadata test = DefaultCurveMetadata.builder() .curveName(CURVE_NAME) .parameterMetadata(ImmutableList.of(ParameterMetadata.empty())) .clearParameterMetadata() .build(); assertThat(test.getCurveName()).isEqualTo(CURVE_NAME); assertThat(test.getXValueType()).isEqualTo(ValueType.UNKNOWN); assertThat(test.getYValueType()).isEqualTo(ValueType.UNKNOWN); assertThat(test.getParameterMetadata().isPresent()).isFalse(); }
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 coverage() { DefaultCurveMetadata test = DefaultCurveMetadata.of(CURVE_NAME); coverImmutableBean(test); DefaultCurveMetadata test2 = DefaultCurveMetadata.builder() .curveName(CURVE_NAME) .xValueType(ValueType.YEAR_FRACTION) .yValueType(ValueType.DISCOUNT_FACTOR) .dayCount(ACT_360) .jacobian(JACOBIAN_DATA) .parameterMetadata(ParameterMetadata.empty()) .build(); coverBeanEquals(test, test2); }
public void test_of_constant() { IsdaCreditDiscountFactors test = IsdaCreditDiscountFactors.of(USD, VALUATION, CONST_CURVE); assertEquals(test.getCurrency(), USD); assertEquals(test.getCurve(), CONST_CURVE); assertEquals(test.getDayCount(), ACT_365L); assertEquals(test.getParameterCount(), 1); assertEquals(test.getParameter(0), RATE_SINGLE); assertEquals(test.getParameterKeys(), DoubleArray.of(TIME_SINGLE)); assertEquals(test.getParameterMetadata(0), SimpleCurveParameterMetadata.of(METADATA.getXValueType(), TIME_SINGLE)); assertEquals(test.getValuationDate(), VALUATION); assertEquals(test.findData(CONST_CURVE.getName()), Optional.of(CONST_CURVE)); assertEquals(test.findData(CurveName.of("Rubbish")), Optional.empty()); assertEquals(test.toDiscountFactors(), ZeroRateDiscountFactors.of(USD, VALUATION, CONST_CURVE)); assertEquals(test.isIsdaCompliant(), true); }
public void test_ofValues() { IsdaCreditDiscountFactors test = IsdaCreditDiscountFactors.of( USD, VALUATION, METADATA.getCurveName(), TIME, RATE, ACT_365F); IsdaCreditDiscountFactors expected = IsdaCreditDiscountFactors.of(USD, VALUATION, CURVE); assertEquals(test, expected); }
/** * 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)); }
ImmutableList.of(CurveParameterSize.of(curveDefinition.getName(), nNodes)), MATRIX_ALGEBRA.getInverse(sensi)); NodalCurve curveWithParamMetadata = curve.withMetadata( curve.getMetadata().withInfo(CurveInfoType.JACOBIAN, jacobian).withParameterMetadata(parameterMetadata)); return IsdaCreditDiscountFactors.of(currency, curveValuationDate, curveWithParamMetadata);
public void test_of_constant_interface() { IsdaCreditDiscountFactors test = (IsdaCreditDiscountFactors) CreditDiscountFactors.of(USD, VALUATION, CONST_CURVE); assertEquals(test.getCurrency(), USD); assertEquals(test.getCurve(), CONST_CURVE); assertEquals(test.getDayCount(), ACT_365L); assertEquals(test.getParameterCount(), 1); assertEquals(test.getParameter(0), RATE_SINGLE); assertEquals(test.getParameterKeys(), DoubleArray.of(TIME_SINGLE)); assertEquals(test.getParameterMetadata(0), SimpleCurveParameterMetadata.of(METADATA.getXValueType(), TIME_SINGLE)); assertEquals(test.getValuationDate(), VALUATION); assertEquals(test.findData(CONST_CURVE.getName()), Optional.of(CONST_CURVE)); assertEquals(test.findData(CurveName.of("Rubbish")), Optional.empty()); assertEquals(test.toDiscountFactors(), ZeroRateDiscountFactors.of(USD, VALUATION, CONST_CURVE)); assertEquals(test.isIsdaCompliant(), true); }
public void test_ofValue() { IsdaCreditDiscountFactors test = IsdaCreditDiscountFactors.of( USD, VALUATION, METADATA_SINGLE.getCurveName(), DoubleArray.of(TIME_SINGLE), DoubleArray.of(RATE_SINGLE), ACT_365L); IsdaCreditDiscountFactors expected = IsdaCreditDiscountFactors.of(USD, VALUATION, CONST_CURVE); assertEquals(test, expected); }
/** * 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(CurveName name, double yValue) { return new ConstantCurve(DefaultCurveMetadata.of(name), yValue); }
@Override public CurveMetadata metadata(LocalDate valuationDate, ReferenceData refData) { return DefaultCurveMetadata.builder() .curveName(name) .xValueType(xValueType) .yValueType(yValueType) .dayCount(dayCount) .parameterMetadata(parameterMetadata) .build(); }
public void test_builder4() { DefaultCurveMetadata test = DefaultCurveMetadata.builder() .curveName(CURVE_NAME) .xValueType(ValueType.YEAR_FRACTION) .yValueType(ValueType.DISCOUNT_FACTOR) .parameterMetadata(ParameterMetadata.empty()) .parameterMetadata(ParameterMetadata.empty()) // second replaces first .build(); assertThat(test.getCurveName()).isEqualTo(CURVE_NAME); assertThat(test.getXValueType()).isEqualTo(ValueType.YEAR_FRACTION); assertThat(test.getYValueType()).isEqualTo(ValueType.DISCOUNT_FACTOR); assertThrowsIllegalArg(() -> test.getInfo(CurveInfoType.DAY_COUNT)); assertThat(test.findInfo(CurveInfoType.DAY_COUNT)).isEqualTo(Optional.empty()); assertThat(test.findInfo(CurveInfoType.JACOBIAN)).isEqualTo(Optional.empty()); assertThat(test.findInfo(CurveInfoType.of("Rubbish"))).isEqualTo(Optional.empty()); assertThat(test.getParameterMetadata().isPresent()).isTrue(); assertThat(test.getParameterMetadata().get()).containsExactly(ParameterMetadata.empty()); }
@Override protected Object propertyGet(Bean bean, String propertyName, boolean quiet) { switch (propertyName.hashCode()) { case 771153946: // curveName return ((DefaultCurveMetadata) bean).getCurveName(); case -868509005: // xValueType return ((DefaultCurveMetadata) bean).getXValueType(); case -1065022510: // yValueType return ((DefaultCurveMetadata) bean).getYValueType(); case 3237038: // info return ((DefaultCurveMetadata) bean).getInfo(); case -1169106440: // parameterMetadata return ((DefaultCurveMetadata) bean).parameterMetadata; } return super.propertyGet(bean, propertyName, quiet); }
public void test_of_interface() { IsdaCreditDiscountFactors test = (IsdaCreditDiscountFactors) CreditDiscountFactors.of(USD, VALUATION, CURVE); assertEquals(test.getCurrency(), USD); assertEquals(test.getCurve(), CURVE); assertEquals(test.getDayCount(), ACT_365F); assertEquals(test.getParameterCount(), RATE.size()); assertEquals(test.getParameter(3), RATE.get(3)); assertEquals(test.getParameter(1), RATE.get(1)); assertEquals(test.getParameterKeys(), TIME); assertEquals(test.getParameterMetadata(4), SimpleCurveParameterMetadata.of(METADATA.getXValueType(), TIME.get(4))); assertEquals(test.getParameterMetadata(6), SimpleCurveParameterMetadata.of(METADATA.getXValueType(), TIME.get(6))); assertEquals(test.getValuationDate(), VALUATION); assertEquals(test.findData(CURVE.getName()), Optional.of(CURVE)); assertEquals(test.findData(CurveName.of("Rubbish")), Optional.empty()); assertEquals(test.toDiscountFactors(), ZeroRateDiscountFactors.of(USD, VALUATION, CURVE)); assertEquals(test.isIsdaCompliant(), true); }
@Override public CurveMetadata getMetadata() { return DefaultCurveMetadata.of(CURVE_NAME); }