// -------------------------------------------------------------------------
 @Override
 public FunctionRequirements requirements(GenericFutureOptionTrade trade) {
   QuoteKey key = QuoteKey.of(trade.getSecurity().getStandardId());
   return FunctionRequirements.builder()
       .singleValueRequirements(ImmutableSet.of(key))
       .outputCurrencies(trade.getProduct().getCurrency())
       .build();
 }
 @Override
 public Optional<Currency> defaultReportingCurrency(GenericFutureOptionTrade target) {
   return Optional.of(target.getProduct().getCurrency());
 }