* @return The price rate sensitivity.
*/
public InterestRateCurveSensitivity priceCurveSensitivity(final InterestRateFutureSecurity future, final HullWhiteOneFactorPiecewiseConstantDataBundle curves) {
ArgumentChecker.notNull(future, "Future");
ArgumentChecker.notNull(curves, "Curves");
final YieldAndDiscountCurve forwardCurve = curves.getCurve(future.getForwardCurveName());
final double dfForwardStart = forwardCurve.getDiscountFactor(future.getFixingPeriodStartTime());
final double dfForwardEnd = forwardCurve.getDiscountFactor(future.getFixingPeriodEndTime());
final double futureConvexityFactor = MODEL.futuresConvexityFactor(curves.getHullWhiteParameter(), future.getLastTradingTime(), future.getFixingPeriodStartTime(), future.getFixingPeriodEndTime());
// Backward sweep
final double priceBar = 1.0;
final double forwardBar = -futureConvexityFactor * priceBar;
final double dfForwardEndBar = -dfForwardStart / (dfForwardEnd * dfForwardEnd) / future.getFixingPeriodAccrualFactor() * forwardBar;