public void test_serialization() { ConstantNodalCurve test = ConstantNodalCurve.of(METADATA, XVALUE, YVALUE); assertSerialization(test); }
extrapolatorRight)); } else { res.add(ConstantNodalCurve.of( metadata.get(i), parameterCurveNodes.get(i).get(0),
public void test_withMetadata() { ConstantNodalCurve base = ConstantNodalCurve.of(METADATA, XVALUE, YVALUE); ConstantNodalCurve test = base.withMetadata(METADATA_ENTRIES); assertThat(test.getName()).isEqualTo(CURVE_NAME); assertThat(test.getParameterCount()).isEqualTo(SIZE); assertThat(test.getMetadata()).isEqualTo(METADATA_ENTRIES); assertThat(test.getXValues()).isEqualTo(XVALUE_ARRAY); assertThat(test.getYValues()).isEqualTo(YVALUE_ARRAY); }
public void test_withValues() { ConstantNodalCurve base = ConstantNodalCurve.of(METADATA, XVALUE, YVALUE); ConstantNodalCurve test = base.withYValues(YVALUE_BUMPED_ARRAY); assertThat(test.getName()).isEqualTo(CURVE_NAME); assertThat(test.getParameterCount()).isEqualTo(SIZE); assertThat(test.getMetadata()).isEqualTo(METADATA); assertThat(test.getXValues()).isEqualTo(XVALUE_ARRAY); assertThat(test.getYValues()).isEqualTo(YVALUE_BUMPED_ARRAY); }
public void test_withValuesXy() { ConstantNodalCurve base = ConstantNodalCurve.of(METADATA, XVALUE, YVALUE); ConstantNodalCurve test = base.withValues(XVALUE_ARRAY_NEW, YVALUE_BUMPED_ARRAY); assertThat(test.getName()).isEqualTo(CURVE_NAME); assertThat(test.getParameterCount()).isEqualTo(SIZE); assertThat(test.getMetadata()).isEqualTo(METADATA); assertThat(test.getXValues()).isEqualTo(XVALUE_ARRAY_NEW); assertThat(test.getYValues()).isEqualTo(YVALUE_BUMPED_ARRAY); }
public void test_of_noCurveMetadata() { ConstantNodalCurve test = ConstantNodalCurve.of(METADATA_NOPARAM, XVALUE, YVALUE); assertThat(test.getName()).isEqualTo(CURVE_NAME); assertThat(test.getParameterCount()).isEqualTo(SIZE); assertThat(test.getParameter(0)).isEqualTo(YVALUE); assertThat(test.getParameterMetadata(0)).isEqualTo(SimpleCurveParameterMetadata.of(ValueType.YEAR_FRACTION, XVALUE)); }
public void test_withMetadata_badSize() { ConstantNodalCurve base = ConstantNodalCurve.of(METADATA, XVALUE, YVALUE); assertThrowsIllegalArg(() -> base.withMetadata(METADATA_ENTRIES2)); }
public void test_of_CurveMetadata() { ConstantNodalCurve test = ConstantNodalCurve.of(METADATA_ENTRIES, XVALUE, YVALUE); ConstantNodalCurve testRe = ConstantNodalCurve.of(METADATA_ENTRIES, XVALUE, YVALUE); assertThat(test).isEqualTo(testRe); assertThat(test.getName()).isEqualTo(CURVE_NAME); assertThat(test.getParameterCount()).isEqualTo(SIZE); assertThat(test.getParameter(0)).isEqualTo(YVALUE); assertThrowsIllegalArg(() -> test.getParameter(1)); assertThat(test.getParameterMetadata(0)).isSameAs(METADATA_ENTRIES.getParameterMetadata().get().get(0)); assertThat(test.withParameter(0, 2d)).isEqualTo(ConstantNodalCurve.of(METADATA_ENTRIES, XVALUE, 2d)); assertThrowsIllegalArg(() -> test.withParameter(1, 2d)); assertThat(test.withPerturbation((i, v, m) -> v - 2d)).isEqualTo( ConstantNodalCurve.of(METADATA_ENTRIES, XVALUE, YVALUE_BUMPED)); assertThat(test.getMetadata()).isEqualTo(METADATA_ENTRIES); assertThat(test.getXValues()).isEqualTo(XVALUE_ARRAY); assertThat(test.getYValues()).isEqualTo(YVALUE_ARRAY); }
public void test_withNode() { ConstantNodalCurve base = ConstantNodalCurve.of(METADATA_ENTRIES, XVALUE, YVALUE); SimpleCurveParameterMetadata param = SimpleCurveParameterMetadata.of(ValueType.YEAR_FRACTION, XVALUE); ConstantNodalCurve test = base.withNode(XVALUE, 2d, param); assertThat(test.getXValue()).isEqualTo(XVALUE); assertThat(test.getYValue()).isEqualTo(2d); assertThat(test.getParameterMetadata(0)).isEqualTo(param); }
public void test_values() { ConstantNodalCurve test = ConstantNodalCurve.of(METADATA, XVALUE, YVALUE); assertThat(test.yValue(10.2421)).isEqualTo(YVALUE); assertThat(test.yValueParameterSensitivity(10.2421).getMarketDataName()).isEqualTo(CURVE_NAME); assertThat(test.yValueParameterSensitivity(10.2421).getSensitivity()).isEqualTo(DoubleArray.of(1d)); assertThat(test.firstDerivative(10.2421)).isEqualTo(0d); }
public void test_withNode_invalid() { ConstantNodalCurve test = ConstantNodalCurve.of(METADATA_ENTRIES, XVALUE, YVALUE); assertThrowsIllegalArg(() -> test.withNode(1, 2, ParameterMetadata.empty())); }
public void test_withValues_badSize() { ConstantNodalCurve base = ConstantNodalCurve.of(METADATA, XVALUE, YVALUE); assertThrowsIllegalArg(() -> base.withYValues(DoubleArray.EMPTY)); assertThrowsIllegalArg(() -> base.withYValues(DoubleArray.of(4d, 6d))); }
public void test_createSabrParameterCurve() { DoubleArray nuKnots = DoubleArray.of(5.0); SabrIborCapletFloorletVolatilityCalibrationDefinition fixedBeta = SabrIborCapletFloorletVolatilityCalibrationDefinition.ofFixedBeta( NAME, USD_LIBOR_3M, ACT_365F, BETA_RHO, ALPHA_KNOTS, BETA_RHO_KNOTS, nuKnots, DOUBLE_QUADRATIC, FLAT, LINEAR, HAGAN); SabrIborCapletFloorletVolatilityCalibrationDefinition fixedRho = SabrIborCapletFloorletVolatilityCalibrationDefinition.ofFixedRho( NAME, USD_LIBOR_3M, ACT_365F, BETA_RHO, ALPHA_KNOTS, BETA_RHO_KNOTS, nuKnots, DOUBLE_QUADRATIC, FLAT, LINEAR, HAGAN); ImmutableList<CurveMetadata> metadata = fixedBeta.createSabrParameterMetadata(); DoubleArray newValues = DoubleArray.of( 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.02, 0.02, 0.02, 0.05); DoubleArray newValues1 = DoubleArray.of(0.01, 0.01, 0.01, 0.01, 0.01, 0.01); DoubleArray newValues2 = DoubleArray.of(0.02, 0.02, 0.02); DoubleArray newValues3 = DoubleArray.of(0.05); List<Curve> computedFixedBeta = fixedBeta.createSabrParameterCurve(metadata, newValues); List<Curve> computedFixedRho = fixedRho.createSabrParameterCurve(metadata, newValues); Curve curveAlpha = InterpolatedNodalCurve.of( metadata.get(0), ALPHA_KNOTS, newValues1, DOUBLE_QUADRATIC, FLAT, LINEAR); Curve curveBeta = InterpolatedNodalCurve.of( metadata.get(1), BETA_RHO_KNOTS, newValues2, DOUBLE_QUADRATIC, FLAT, LINEAR); Curve curveRho = InterpolatedNodalCurve.of( metadata.get(2), BETA_RHO_KNOTS, newValues2, DOUBLE_QUADRATIC, FLAT, LINEAR); Curve curveNu = ConstantNodalCurve.of(metadata.get(3), nuKnots.get(0), newValues3.get(0)); assertEquals(computedFixedBeta, ImmutableList.of(curveAlpha, fixedBeta.getBetaCurve().get(), curveRho, curveNu)); assertEquals(computedFixedRho, ImmutableList.of(curveAlpha, curveBeta, fixedRho.getRhoCurve().get(), curveNu)); }
public void test_withValuesXy_badSize() { ConstantNodalCurve base = ConstantNodalCurve.of(METADATA, XVALUE, YVALUE); assertThrowsIllegalArg(() -> base.withValues(DoubleArray.EMPTY, DoubleArray.EMPTY)); assertThrowsIllegalArg(() -> base.withValues(DoubleArray.of(4d), DoubleArray.of(6d, 0d))); }
.build(); NodalCurve creditCurve = n == 1 ? ConstantNodalCurve.of(baseMetadata, t[0], guess[0]) : InterpolatedNodalCurve.of( baseMetadata,
.build(); NodalCurve creditCurve = n == 1 ? ConstantNodalCurve.of(baseMetadata, t[0], guess[0]) : InterpolatedNodalCurve.of( baseMetadata,
.build(); NodalCurve curve = (yearFractions.size() == 1 && zeroRates.size() == 1) ? ConstantNodalCurve.of(metadata, yearFractions.get(0), zeroRates.get(0)) : InterpolatedNodalCurve.of(metadata, yearFractions, zeroRates, CurveInterpolators.PRODUCT_LINEAR, CurveExtrapolators.FLAT, CurveExtrapolators.PRODUCT_LINEAR);
JacobianCalibrationMatrix jacobian = JacobianCalibrationMatrix.of( ImmutableList.of(CurveParameterSize.of(curve.getName(), nNode)), jacobianMatrix); return ConstantNodalCurve.of(curve.getMetadata().withInfo(CurveInfoType.JACOBIAN, jacobian), time, rate); return ConstantNodalCurve.of(curve.getMetadata(), time, rate);