@Override public PortfolioItemSummary summarize() { String description = "Ibor calibration trade"; return SummarizerUtils.summary(this, ProductType.CALIBRATION, description, product.getCurrency()); }
@Override protected Object propertyGet(Bean bean, String propertyName, boolean quiet) { switch (propertyName.hashCode()) { case 244977400: // buySell return ((IborFixingDeposit) bean).getBuySell(); case 575402001: // currency return ((IborFixingDeposit) bean).getCurrency(); case 1585636160: // notional return ((IborFixingDeposit) bean).getNotional(); case -2129778896: // startDate return ((IborFixingDeposit) bean).getStartDate(); case -1607727319: // endDate return ((IborFixingDeposit) bean).getEndDate(); case -1065319863: // businessDayAdjustment return ((IborFixingDeposit) bean).businessDayAdjustment; case 100346066: // index return ((IborFixingDeposit) bean).getIndex(); case 873743726: // fixingDateOffset return ((IborFixingDeposit) bean).getFixingDateOffset(); case 1905311443: // dayCount return ((IborFixingDeposit) bean).getDayCount(); case 747425396: // fixedRate return ((IborFixingDeposit) bean).getFixedRate(); } return super.propertyGet(bean, propertyName, quiet); }
/** * Restricted copy constructor. * @param beanToCopy the bean to copy from, not null */ private Builder(IborFixingDeposit beanToCopy) { this.buySell = beanToCopy.getBuySell(); this.currency = beanToCopy.getCurrency(); this.notional = beanToCopy.getNotional(); this.startDate = beanToCopy.getStartDate(); this.endDate = beanToCopy.getEndDate(); this.businessDayAdjustment = beanToCopy.businessDayAdjustment; this.index = beanToCopy.getIndex(); this.fixingDateOffset = beanToCopy.getFixingDateOffset(); this.dayCount = beanToCopy.getDayCount(); this.fixedRate = beanToCopy.getFixedRate(); }
public void test_builder_minimum() { IborFixingDeposit test = IborFixingDeposit.builder() .buySell(SELL) .notional(NOTIONAL) .startDate(START_DATE) .endDate(END_DATE) .businessDayAdjustment(BDA_MOD_FOLLOW) .index(GBP_LIBOR_6M) .fixedRate(RATE) .build(); assertEquals(test.getBusinessDayAdjustment().get(), BDA_MOD_FOLLOW); assertEquals(test.getBuySell(), SELL); assertEquals(test.getFixingDateOffset(), GBP_LIBOR_6M.getFixingDateOffset()); assertEquals(test.getNotional(), NOTIONAL); assertEquals(test.getCurrency(), GBP); assertEquals(test.getDayCount(), ACT_365F); assertEquals(test.getStartDate(), START_DATE); assertEquals(test.getEndDate(), END_DATE); assertEquals(test.getIndex(), GBP_LIBOR_6M); assertEquals(test.getFixedRate(), RATE); }
public void test_builder_full() { IborFixingDeposit test = IborFixingDeposit.builder() .buySell(SELL) .notional(NOTIONAL) .currency(GBP) .startDate(START_DATE) .endDate(END_DATE) .businessDayAdjustment(BDA_MOD_FOLLOW) .fixingDateOffset(DAY_ADJ) .dayCount(ACT_365F) .index(GBP_LIBOR_6M) .fixedRate(RATE) .build(); assertEquals(test.getBusinessDayAdjustment().get(), BDA_MOD_FOLLOW); assertEquals(test.getBuySell(), SELL); assertEquals(test.getFixingDateOffset(), DAY_ADJ); assertEquals(test.getNotional(), NOTIONAL); assertEquals(test.getCurrency(), GBP); assertEquals(test.getDayCount(), ACT_365F); assertEquals(test.getStartDate(), START_DATE); assertEquals(test.getEndDate(), END_DATE); assertEquals(test.getIndex(), GBP_LIBOR_6M); assertEquals(test.getFixedRate(), RATE); assertEquals(test.isCrossCurrency(), false); assertEquals(test.allPaymentCurrencies(), ImmutableSet.of(GBP)); assertEquals(test.allCurrencies(), ImmutableSet.of(GBP)); }
@Override public ResolvedIborFixingDeposit resolve(ReferenceData refData) { DateAdjuster bda = getBusinessDayAdjustment().orElse(BusinessDayAdjustment.NONE).resolve(refData); LocalDate start = bda.adjust(startDate); LocalDate end = bda.adjust(endDate); double yearFraction = dayCount.yearFraction(start, end); LocalDate fixingDate = fixingDateOffset.adjust(startDate, refData); return ResolvedIborFixingDeposit.builder() .startDate(start) .endDate(end) .yearFraction(yearFraction) .currency(getCurrency()) .notional(buySell.normalize(notional)) .floatingRate(IborRateComputation.of(index, fixingDate, refData)) .fixedRate(fixedRate) .build(); }