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