public void firstDerivative() { for (int i = 0; i < NB_X_SAMPLE; i++) { double dComputed = ADD_FIXED_CURVE.firstDerivative(X_SAMPLE[i]); double dExpected = FIXED_CURVE.firstDerivative(X_SAMPLE[i]) + SPREAD_CURVE.firstDerivative(X_SAMPLE[i]); assertEquals(dComputed, dExpected, TOLERANCE_Y); } }
public void test_firstDerivative() { for (int i = 0; i < NUM_SAMPLES; ++i) { double computed = COMBINED_CURVE.firstDerivative(X_SAMPLES.get(i)); double expected = BASE_CURVE.firstDerivative(X_SAMPLES.get(i)) + SPREAD_CURVE.firstDerivative(X_SAMPLES.get(i)); assertEquals(computed, expected, TOL); } }
public void test_firstDerivative() { InterpolatedNodalCurve curve = InterpolatedNodalCurve.of( METADATA, DoubleArray.of(0, 1), DoubleArray.of(2, 2.5), CurveInterpolators.LINEAR); Curve absoluteShiftedCurve = ParallelShiftedCurve.absolute(curve, 1); Curve relativeShiftedCurve = ParallelShiftedCurve.relative(curve, 0.2); assertThat(curve.firstDerivative(0.1)).isEqualTo(0.5); assertThat(absoluteShiftedCurve.firstDerivative(0.1)).isEqualTo(0.5); assertThat(relativeShiftedCurve.firstDerivative(0.1)).isEqualTo(0.5 * 1.2); }
public void test_lookup() { InterpolatedNodalCurve test = InterpolatedNodalCurve.of(METADATA, XVALUES, YVALUES, INTERPOLATOR); BoundCurveInterpolator interp = INTERPOLATOR.bind(XVALUES, YVALUES, FLAT_EXTRAPOLATOR, FLAT_EXTRAPOLATOR); assertThat(test.yValue(XVALUES.get(0))).isEqualTo(YVALUES.get(0)); assertThat(test.yValue(XVALUES.get(1))).isEqualTo(YVALUES.get(1)); assertThat(test.yValue(XVALUES.get(2))).isEqualTo(YVALUES.get(2)); assertThat(test.yValue(10d)).isEqualTo(interp.interpolate(10d)); assertThat(test.yValueParameterSensitivity(10d).getMarketDataName()).isEqualTo(CURVE_NAME); assertThat(test.yValueParameterSensitivity(10d).getSensitivity()).isEqualTo(interp.parameterSensitivity(10d)); assertThat(test.firstDerivative(10d)).isEqualTo(interp.firstDerivative(10d)); }