public void test_of_indexOnly() { ImmutableIborFixingDepositConvention test = ImmutableIborFixingDepositConvention.of(GBP_LIBOR_6M); assertEquals(test.getBusinessDayAdjustment(), BusinessDayAdjustment.of(MODIFIED_FOLLOWING, GBP_LIBOR_6M.getFixingCalendar())); assertEquals(test.getCurrency(), GBP_LIBOR_6M.getCurrency()); assertEquals(test.getDayCount(), GBP_LIBOR_6M.getDayCount()); assertEquals(test.getFixingDateOffset(), GBP_LIBOR_6M.getFixingDateOffset()); assertEquals(test.getIndex(), GBP_LIBOR_6M); assertEquals(test.getSpotDateOffset(), GBP_LIBOR_6M.getEffectiveDateOffset()); }
public void test_builder_indexOnly() { ImmutableIborFixingDepositConvention test = ImmutableIborFixingDepositConvention.builder() .index(GBP_LIBOR_6M) .build(); assertEquals(test.getBusinessDayAdjustment(), BusinessDayAdjustment.of(MODIFIED_FOLLOWING, GBP_LIBOR_6M.getFixingCalendar())); assertEquals(test.getCurrency(), GBP_LIBOR_6M.getCurrency()); assertEquals(test.getDayCount(), GBP_LIBOR_6M.getDayCount()); assertEquals(test.getFixingDateOffset(), GBP_LIBOR_6M.getFixingDateOffset()); assertEquals(test.getIndex(), GBP_LIBOR_6M); assertEquals(test.getSpotDateOffset(), GBP_LIBOR_6M.getEffectiveDateOffset()); }
public void test_builder_full() { ImmutableIborFixingDepositConvention test = ImmutableIborFixingDepositConvention.builder() .name("Name") .businessDayAdjustment(BDA_MOD_FOLLOW) .currency(EUR) .dayCount(ACT_365F) .fixingDateOffset(FIXING_ADJ) .index(EUR_LIBOR_3M) .spotDateOffset(SPOT_ADJ) .build(); assertEquals(test.getName(), "Name"); assertEquals(test.getBusinessDayAdjustment(), BDA_MOD_FOLLOW); assertEquals(test.getCurrency(), EUR); assertEquals(test.getDayCount(), ACT_365F); assertEquals(test.getFixingDateOffset(), FIXING_ADJ); assertEquals(test.getIndex(), EUR_LIBOR_3M); assertEquals(test.getSpotDateOffset(), SPOT_ADJ); }
@Override public IborFixingDepositTrade toTrade( TradeInfo tradeInfo, LocalDate startDate, LocalDate endDate, BuySell buySell, double notional, double fixedRate) { Optional<LocalDate> tradeDate = tradeInfo.getTradeDate(); if (tradeDate.isPresent()) { ArgChecker.inOrderOrEqual(tradeDate.get(), startDate, "tradeDate", "startDate"); } return IborFixingDepositTrade.builder() .info(tradeInfo) .product(IborFixingDeposit.builder() .buySell(buySell) .currency(getCurrency()) .notional(notional) .startDate(startDate) .endDate(endDate) .businessDayAdjustment(getBusinessDayAdjustment()) .fixedRate(fixedRate) .index(index) .fixingDateOffset(getFixingDateOffset()) .dayCount(getDayCount()) .build()) .build(); }
public void test_createTrade() { IborFixingDepositTemplate template = IborFixingDepositTemplate.of(EUR_LIBOR_3M); double notional = 1d; double fixedRate = 0.045; LocalDate tradeDate = LocalDate.of(2015, 1, 22); IborFixingDepositTrade trade = template.createTrade(tradeDate, BUY, notional, fixedRate, REF_DATA); ImmutableIborFixingDepositConvention conv = (ImmutableIborFixingDepositConvention) template.getConvention(); LocalDate startExpected = conv.getSpotDateOffset().adjust(tradeDate, REF_DATA); LocalDate endExpected = startExpected.plus(template.getDepositPeriod()); IborFixingDeposit productExpected = IborFixingDeposit.builder() .businessDayAdjustment(conv.getBusinessDayAdjustment()) .buySell(BUY) .startDate(startExpected) .endDate(endExpected) .fixedRate(fixedRate) .index(EUR_LIBOR_3M) .notional(notional) .build(); TradeInfo tradeInfoExpected = TradeInfo.builder() .tradeDate(tradeDate) .build(); assertEquals(trade.getInfo(), tradeInfoExpected); assertEquals(trade.getProduct(), productExpected); }