@Override public TermDepositTrade trade(double quantity, MarketData marketData, ReferenceData refData) { double fixedRate = marketData.getValue(rateId) + additionalSpread; BuySell buySell = quantity > 0 ? BuySell.BUY : BuySell.SELL; return template.createTrade(marketData.getValuationDate(), buySell, Math.abs(quantity), fixedRate, refData); }
private LocalDate calculateEnd(LocalDate valuationDate, ReferenceData refData) { TermDepositTrade trade = template.createTrade(valuationDate, BuySell.BUY, 0d, 0d, refData); ResolvedTermDeposit deposit = trade.getProduct().resolve(refData); return deposit.getEndDate(); }