/** * Restricted copy constructor. * @param beanToCopy the bean to copy from, not null */ private Builder(IborRateCalculation beanToCopy) { this.dayCount = beanToCopy.getDayCount(); this.index = beanToCopy.getIndex(); this.resetPeriods = beanToCopy.resetPeriods; this.fixingRelativeTo = beanToCopy.getFixingRelativeTo(); this.fixingDateOffset = beanToCopy.getFixingDateOffset(); this.negativeRateMethod = beanToCopy.getNegativeRateMethod(); this.firstRegularRate = beanToCopy.firstRegularRate; this.firstRate = beanToCopy.firstRate; this.firstFixingDateOffset = beanToCopy.firstFixingDateOffset; this.initialStub = beanToCopy.initialStub; this.finalStub = beanToCopy.finalStub; this.gearing = beanToCopy.gearing; this.spread = beanToCopy.spread; }
return ((IborRateCalculation) bean).getFixingRelativeTo(); case 873743726: // fixingDateOffset return ((IborRateCalculation) bean).getFixingDateOffset(); case 1969081334: // negativeRateMethod return ((IborRateCalculation) bean).getNegativeRateMethod();
public void test_of() { IborRateCalculation test = IborRateCalculation.of(GBP_LIBOR_3M); assertEquals(test.getType(), SwapLegType.IBOR); assertEquals(test.getDayCount(), ACT_365F); assertEquals(test.getIndex(), GBP_LIBOR_3M); assertEquals(test.getResetPeriods(), Optional.empty()); assertEquals(test.getFixingRelativeTo(), PERIOD_START); assertEquals(test.getFixingDateOffset(), GBP_LIBOR_3M.getFixingDateOffset()); assertEquals(test.getNegativeRateMethod(), ALLOW_NEGATIVE); assertEquals(test.getFirstRegularRate(), OptionalDouble.empty()); assertEquals(test.getInitialStub(), Optional.empty()); assertEquals(test.getFinalStub(), Optional.empty()); assertEquals(test.getGearing(), Optional.empty()); assertEquals(test.getSpread(), Optional.empty()); }
public void test_builder_ensureDefaults() { IborRateCalculation test = IborRateCalculation.builder() .index(GBP_LIBOR_3M) .build(); assertEquals(test.getDayCount(), ACT_365F); assertEquals(test.getIndex(), GBP_LIBOR_3M); assertEquals(test.getResetPeriods(), Optional.empty()); assertEquals(test.getFixingRelativeTo(), PERIOD_START); assertEquals(test.getFixingDateOffset(), GBP_LIBOR_3M.getFixingDateOffset()); assertEquals(test.getNegativeRateMethod(), ALLOW_NEGATIVE); assertEquals(test.getFirstRegularRate(), OptionalDouble.empty()); assertEquals(test.getInitialStub(), Optional.empty()); assertEquals(test.getFinalStub(), Optional.empty()); assertEquals(test.getGearing(), Optional.empty()); assertEquals(test.getSpread(), Optional.empty()); }
public void test_builder_ensureOptionalDouble() { IborRateCalculation test = IborRateCalculation.builder() .dayCount(ACT_365F) .index(GBP_LIBOR_3M) .fixingDateOffset(MINUS_TWO_DAYS) .firstRegularRate(0.028d) .build(); assertEquals(test.getDayCount(), ACT_365F); assertEquals(test.getIndex(), GBP_LIBOR_3M); assertEquals(test.getResetPeriods(), Optional.empty()); assertEquals(test.getFixingRelativeTo(), PERIOD_START); assertEquals(test.getFixingDateOffset(), MINUS_TWO_DAYS); assertEquals(test.getNegativeRateMethod(), ALLOW_NEGATIVE); assertEquals(test.getFirstRegularRate(), OptionalDouble.of(0.028d)); assertEquals(test.getInitialStub(), Optional.empty()); assertEquals(test.getFinalStub(), Optional.empty()); assertEquals(test.getGearing(), Optional.empty()); assertEquals(test.getSpread(), Optional.empty()); }
DoubleArray floor = getFloorSchedule().isPresent() ? floorSchedule.resolveValues(adjustedSchedule) : null; DoubleArray notionals = notional.resolveValues(adjustedSchedule); DateAdjuster fixingDateAdjuster = calculation.getFixingDateOffset().resolve(refData); DateAdjuster paymentDateAdjuster = paymentDateOffset.resolve(refData); Function<LocalDate, IborIndexObservation> obsFn = calculation.getIndex().resolve(refData);
LocalDate end = BUSS_ADJ.adjust(unadjustedDates[i + 1], REF_DATA); double yearFraction = EUR_EURIBOR_3M.getDayCount().relativeYearFraction(start, end); LocalDate fixingDate = RATE_CALCULATION.getFixingDateOffset().adjust(start, REF_DATA); periods[i] = IborCapletFloorletPeriod.builder() .floorlet(STRIKES[i])
.paymentDate(PAYMENT_OFFSET.adjust(end, REF_DATA)) .notional(NOTIONALS[i]) .iborRate(IborRateComputation.of(EUR_EURIBOR_3M, rateCalc.getFixingDateOffset().adjust(end, REF_DATA), REF_DATA)) .yearFraction(yearFraction) .build();