public virtual 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);
     }
 }
Пример #2
0
 public virtual 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 virtual 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);
        }
Пример #4
0
        //-------------------------------------------------------------------------
        public virtual 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).MarketDataName).isEqualTo(CURVE_NAME);
            assertThat(test.yValueParameterSensitivity(10d).Sensitivity).isEqualTo(interp.parameterSensitivity(10d));
            assertThat(test.firstDerivative(10d)).isEqualTo(interp.firstDerivative(10d));
        }