return Optional.of(IborRateStubCalculation.ofIborInterpolatedRate(stubIndexOpt.get(), stubIndex2Opt.get())); } else { return Optional.of(IborRateStubCalculation.ofIborRate(stubIndexOpt.get()));
public void test_ofIborInterpolatedRate_invalid_interpolatedSameIndex() { assertThrowsIllegalArg(() -> IborRateStubCalculation.ofIborInterpolatedRate(GBP_LIBOR_3M, GBP_LIBOR_3M)); }
public void test_of_null() { assertThrowsIllegalArg(() -> IborRateStubCalculation.ofIborRate(null)); assertThrowsIllegalArg(() -> IborRateStubCalculation.ofIborInterpolatedRate(null, GBP_LIBOR_3M)); assertThrowsIllegalArg(() -> IborRateStubCalculation.ofIborInterpolatedRate(GBP_LIBOR_3M, null)); assertThrowsIllegalArg(() -> IborRateStubCalculation.ofIborInterpolatedRate(null, null)); }
public void test_ofIborInterpolatedRate() { IborRateStubCalculation test = IborRateStubCalculation.ofIborInterpolatedRate(GBP_LIBOR_1M, GBP_LIBOR_3M); assertEquals(test.getFixedRate(), OptionalDouble.empty()); assertEquals(test.getIndex(), Optional.of(GBP_LIBOR_1M)); assertEquals(test.getIndexInterpolated(), Optional.of(GBP_LIBOR_3M)); assertEquals(test.isFixedRate(), false); assertEquals(test.isKnownAmount(), false); assertEquals(test.isFloatingRate(), true); assertEquals(test.isInterpolated(), true); }
public void test_collectIndices_stubCalcsTwoStubs_interpolated() { IborRateCalculation test = IborRateCalculation.builder() .dayCount(ACT_365F) .index(GBP_LIBOR_1M) .fixingDateOffset(MINUS_TWO_DAYS) .initialStub(IborRateStubCalculation.ofIborInterpolatedRate(GBP_LIBOR_1W, GBP_LIBOR_1M)) .finalStub(IborRateStubCalculation.ofIborInterpolatedRate(GBP_LIBOR_3M, GBP_LIBOR_1M)) .build(); ImmutableSet.Builder<Index> builder = ImmutableSet.builder(); test.collectIndices(builder); assertEquals(builder.build(), ImmutableSet.of(GBP_LIBOR_1M, GBP_LIBOR_1W, GBP_LIBOR_3M)); }
document.validateNotPresent(index2El, "capRateSchedule"); document.validateNotPresent(index2El, "floorRateSchedule"); return IborRateStubCalculation.ofIborInterpolatedRate( (IborIndex) document.parseIndex(index1El), (IborIndex) document.parseIndex(index2El));
public void coverage() { IborRateStubCalculation test = IborRateStubCalculation.ofIborInterpolatedRate(GBP_LIBOR_1M, GBP_LIBOR_3M); coverImmutableBean(test); IborRateStubCalculation test2 = IborRateStubCalculation.ofFixedRate(0.028d); coverBeanEquals(test, test2); IborRateStubCalculation test3 = IborRateStubCalculation.ofKnownAmount(GBP_P1000); coverBeanEquals(test, test3); }
public void test_expand_singlePeriod_stubCalcsInitialStub_interpolated() { IborRateCalculation test = IborRateCalculation.builder() .dayCount(ACT_365F) .index(GBP_LIBOR_2M) .fixingDateOffset(MINUS_TWO_DAYS) .initialStub(IborRateStubCalculation.ofIborInterpolatedRate(GBP_LIBOR_1W, GBP_LIBOR_1M)) .build(); RateAccrualPeriod rap1 = RateAccrualPeriod.builder(ACCRUAL1STUB) .yearFraction(ACCRUAL1STUB.yearFraction(ACT_365F, ACCRUAL_SCHEDULE_STUBS)) .rateComputation(IborInterpolatedRateComputation.of(GBP_LIBOR_1W, GBP_LIBOR_1M, DATE_01_06, REF_DATA)) .build(); ImmutableList<RateAccrualPeriod> periods = test.createAccrualPeriods(SINGLE_ACCRUAL_SCHEDULE_STUB, SINGLE_ACCRUAL_SCHEDULE_STUB, REF_DATA); assertEquals(periods, ImmutableList.of(rap1)); }
public void test_expand_stubCalcsTwoStubs_interpolated() { IborRateCalculation test = IborRateCalculation.builder() .dayCount(ACT_365F) .index(GBP_LIBOR_1M) .fixingDateOffset(MINUS_TWO_DAYS) .initialStub(IborRateStubCalculation.ofIborInterpolatedRate(GBP_LIBOR_1W, GBP_LIBOR_1M)) .finalStub(IborRateStubCalculation.ofIborInterpolatedRate(GBP_LIBOR_3M, GBP_LIBOR_1M)) .build(); RateAccrualPeriod rap1 = RateAccrualPeriod.builder(ACCRUAL1STUB) .yearFraction(ACCRUAL1STUB.yearFraction(ACT_365F, ACCRUAL_SCHEDULE_STUBS)) .rateComputation(IborInterpolatedRateComputation.of(GBP_LIBOR_1W, GBP_LIBOR_1M, DATE_01_06, REF_DATA)) .build(); RateAccrualPeriod rap2 = RateAccrualPeriod.builder(ACCRUAL2) .yearFraction(ACCRUAL2.yearFraction(ACT_365F, ACCRUAL_SCHEDULE_STUBS)) .rateComputation(IborRateComputation.of(GBP_LIBOR_1M, DATE_02_03, REF_DATA)) .build(); RateAccrualPeriod rap3 = RateAccrualPeriod.builder(ACCRUAL3STUB) .yearFraction(ACCRUAL3STUB.yearFraction(ACT_365F, ACCRUAL_SCHEDULE_STUBS)) .rateComputation(IborInterpolatedRateComputation.of(GBP_LIBOR_1M, GBP_LIBOR_3M, DATE_03_03, REF_DATA)) .build(); ImmutableList<RateAccrualPeriod> periods = test.createAccrualPeriods(ACCRUAL_SCHEDULE_STUBS, ACCRUAL_SCHEDULE_STUBS, REF_DATA); assertEquals(periods, ImmutableList.of(rap1, rap2, rap3)); }
.index(USD_LIBOR_6M) .fixingDateOffset(DaysAdjustment.ofBusinessDays(-2, CalendarUSD.NYC, BDA_P)) .initialStub(IborRateStubCalculation.ofIborInterpolatedRate(USD_LIBOR_3M, USD_LIBOR_6M)) .build()) .build();
.index(USD_LIBOR_6M) .fixingDateOffset(DaysAdjustment.ofBusinessDays(-2, CalendarUSD.NYC, BDA_P)) .initialStub(IborRateStubCalculation.ofIborInterpolatedRate(USD_LIBOR_3M, USD_LIBOR_6M)) .build()) .build();
.dayCount(ACT_360) .fixingDateOffset(DaysAdjustment.ofBusinessDays(-2, GBLO)) .initialStub(IborRateStubCalculation.ofIborInterpolatedRate(EUR_LIBOR_3M, EUR_LIBOR_6M)) .build()) .build();
.dayCount(ACT_360) .fixingDateOffset(DaysAdjustment.ofBusinessDays(-2, GBLO)) .initialStub(IborRateStubCalculation.ofIborInterpolatedRate(EUR_LIBOR_3M, EUR_LIBOR_6M)) .build()) .build();
.dayCount(ACT_360) .fixingDateOffset(DaysAdjustment.ofBusinessDays(-2, SAT_SUN)) .initialStub(IborRateStubCalculation.ofIborInterpolatedRate(EUR_LIBOR_3M, EUR_LIBOR_6M)) .build()) .build();