final CapFloorCMSSpreadSecurity security = new CapFloorCMSSpreadSecurity(tradeDate, maturityDate, notional, payIdentifier, receiveIdentifier, strike,
PeriodFrequency.ANNUAL, CURRENCY, ACT_360, payer, cap);
security.setName(CURRENCY.getCode() + " " + FORMAT.format(notional / 1000000) + (cap ? "MM cap spread " : "MM floor spread ") + "@ " + FORMAT.format(strike) +
"%, pay " + payTenor.getPeriod().normalized().getYears() + "Y ISDA fixing" + ", receive " +
receiveTenor.getPeriod().normalized().getYears() + "Y ISDA fixing" +
" (" + tradeDate.toLocalDate().toString() + " - " + maturityDate.toLocalDate().toString() + ")");
security.addExternalId(ExternalId.of(ID_SCHEME, GUIDGenerator.generate().toString()));
return security;
}
private Double getSwapRate(final Currency ccy, final LocalDate tradeDate, final Tenor maturity) {