@Override
 /**
  * Computes the Federal Funds future price using average of forward rates (not convexity
  * adjustment).
  *
  * @param future The future security.
  * @param curves The curves.
  * @return The price.
  */
 public double price(final FederalFundsFutureSecurity future, final YieldCurveBundle curves) {
   Validate.notNull(future, "Future");
   Validate.notNull(curves, "Curves");
   int nbFixing = future.getFixingPeriodAccrualFactor().length;
   YieldAndDiscountCurve ois = curves.getCurve(future.getOISCurveName());
   double[] df = new double[nbFixing + 1];
   for (int loopfix = 0; loopfix < nbFixing + 1; loopfix++) {
     df[loopfix] = ois.getDiscountFactor(future.getFixingPeriodTime()[loopfix]);
   }
   double interest = future.getAccruedInterest();
   for (int loopfix = 0; loopfix < nbFixing; loopfix++) {
     interest += df[loopfix] / df[loopfix + 1] - 1.0;
   }
   return 1.0 - interest / future.getFixingTotalAccrualFactor();
 }