@Override
 public double initialGuess(
     LocalDate valuationDate, ObservableValues marketData, ValueType valueType) {
   if (ValueType.ZERO_RATE.equals(valueType)) {
     return marketData.getValue(rateKey);
   }
   return 0d;
 }
 @Override
 public IborFixingDepositTrade trade(LocalDate valuationDate, ObservableValues marketData) {
   double fixedRate = marketData.getValue(rateKey) + spread;
   return template.toTrade(valuationDate, BuySell.BUY, 1d, fixedRate);
 }