public SimpleFuture toDerivative(final ZonedDateTime date, final double referencePrice) {
Validate.notNull(date, "date");
Validate.isTrue(date.isBefore(_expiryDate));
double timeToFixing = TimeCalculator.getTimeBetween(date, _expiryDate);
double timeToDelivery = TimeCalculator.getTimeBetween(date, _settlementDate);
return new SimpleFuture(timeToFixing, timeToDelivery, referencePrice, _unitAmount, _currency);
}