bumpedMarket = new SimpleFutureDataBundle(discCrv.withSingleShift(settlement, -SHIFT), dataBundle.getMarketPrice(),
dataBundle.getSpotValue(), dataBundle.getDividendYield(), dataBundle.getCostOfCarry());
final double pvDown = future.accept(_presentValueCalculator, bumpedMarket);
final double sensitivity = (pvUp - pvDown) / (2.0 * SHIFT);
final NodeYieldSensitivityCalculator distributor = PresentValueNodeSensitivityCalculator.getDefaultInstance();
final List<Double> result = distributor.curveToNodeSensitivity(Arrays.asList(DoublesPair.of(settlement, sensitivity)), discCrv);
return new DoubleMatrix1D(result.toArray(new Double[result.size()]));
}
@Override
public DoubleMatrix1D visit(final InstrumentDerivative derivative) {