@Override
public IndexFuture toDerivative(ZonedDateTime date, Double referencePrice) {
ArgumentChecker.notNull(date, "date");
final double timeToFixing = TimeCalculator.getTimeBetween(date, getExpiryDate());
final double timeToDelivery = TimeCalculator.getTimeBetween(date, getSettlementDate());
final IndexFuture newDeriv = new IndexFuture(timeToFixing, timeToDelivery, referencePrice, getCurrency(), getUnitAmount());
return newDeriv;
}