@Override public Double apply(Double level) { return ExcelInterpolationQuantileMethod.DEFAULT.quantileWithExtrapolationFromUnsorted(level, data); } };
public void excel() { DoubleArray data = DoubleArray.of(1.0, 3.0, 2.0, 4.0); double level = 0.3; double quantileComputed = ExcelInterpolationQuantileMethod.DEFAULT.quantileFromUnsorted(level, data); double quantileExpected = 1.9; // From Excel doc assertEquals(quantileComputed, quantileExpected, TOL); double quantileExtrapComputed = ExcelInterpolationQuantileMethod.DEFAULT .quantileWithExtrapolationFromUnsorted(level, data); assertEquals(quantileExtrapComputed, quantileComputed); }
public void excel_expected_shortfall_9999() { DoubleArray data = DoubleArray.of(1.0, 3.0, 2.0, 4.0); Function<Double, Double> func = new Function<Double, Double>() { @Override public Double apply(Double level) { return ExcelInterpolationQuantileMethod.DEFAULT.quantileWithExtrapolationFromUnsorted(level, data); } }; double expectedShortfallExpected = INTEG.integrate(func, TOL_INTEGRAL / 1000d, LEVEL5) / LEVEL5; double expectedShortfallComputed = ExcelInterpolationQuantileMethod.DEFAULT.expectedShortfallFromUnsorted(LEVEL5, data); assertEquals(expectedShortfallComputed, expectedShortfallExpected, TOL_INTEGRAL); }
public void excel_expected_shortfall() { DoubleArray data = DoubleArray.of(1.0, 3.0, 2.0, 4.0); double level = 0.3; Function<Double, Double> func = new Function<Double, Double>() { @Override public Double apply(Double level) { return ExcelInterpolationQuantileMethod.DEFAULT.quantileWithExtrapolationFromUnsorted(level, data); } }; double expectedShortfallExpected = INTEG.integrate(func, TOL_INTEGRAL / 1000d, level) / level; double expectedShortfallComputed = ExcelInterpolationQuantileMethod.DEFAULT.expectedShortfallFromUnsorted(level, data); assertEquals(expectedShortfallComputed, expectedShortfallExpected, TOL_INTEGRAL); }
@Override public Double apply(Double level) { return ExcelInterpolationQuantileMethod.DEFAULT.quantileWithExtrapolationFromUnsorted(level, data); } };
public void excel_expected_shortfall_0001() { DoubleArray data = DoubleArray.of(1.0, 3.0, 2.0, 4.0); Function<Double, Double> func = new Function<Double, Double>() { @Override public Double apply(Double level) { return ExcelInterpolationQuantileMethod.DEFAULT.quantileWithExtrapolationFromUnsorted(level, data); } }; double expectedShortfallExpected = INTEG.integrate(func, TOL_INTEGRAL / 1000d, LEVEL4) / LEVEL4; double expectedShortfallComputed = ExcelInterpolationQuantileMethod.DEFAULT.expectedShortfallFromUnsorted(LEVEL4, data); assertEquals( expectedShortfallComputed, expectedShortfallExpected, TOL_INTEGRAL * 10d); // high sensitivity to lower bound }
@Override public Double apply(Double level) { return ExcelInterpolationQuantileMethod.DEFAULT.quantileWithExtrapolationFromUnsorted(level, data); } };