.valueDate(fvnEl.findChild("valueDate").map(str -> document.parseDate(str)).orElse(null)) .build(); fixedRateBuilder.futureValueNotional(notional); }); fixedRateBuilder.rate(parseSchedule(fixedEl, document));
public void test_builder() { FixedRateCalculation test = FixedRateCalculation.builder() .dayCount(ACT_365F) .rate(ValueSchedule.of(0.025d)) .initialStub(FixedRateStubCalculation.ofFixedRate(0.1d)) .finalStub(FixedRateStubCalculation.ofFixedRate(0.2d)) .futureValueNotional(FutureValueNotional.autoCalculate()) .build(); assertEquals(test.getRate(), ValueSchedule.of(0.025d)); assertEquals(test.getDayCount(), ACT_365F); assertEquals(test.getInitialStub(), Optional.of(FixedRateStubCalculation.ofFixedRate(0.1d))); assertEquals(test.getFinalStub(), Optional.of(FixedRateStubCalculation.ofFixedRate(0.2d))); assertEquals(test.getFutureValueNotional(), Optional.of(FutureValueNotional.autoCalculate())); }
.rate(ValueSchedule.of(0.1)) .dayCount(DayCount.ofBus252(BRBD)) .futureValueNotional(FutureValueNotional.of(12345670)) .build()) .build();
.rate(ValueSchedule.of(fixedRate)) .dayCount(dayCount) .futureValueNotional( accrualMethod == OVERNIGHT_COMPOUNDED_ANNUAL_RATE ? FutureValueNotional.autoCalculate() : null) .build())
.rate(ValueSchedule.of(0.25d)) .dayCount(ACT_365F) .futureValueNotional(FutureValueNotional.autoCalculate()) .build()) .build();
public void test_expand_onePeriod_with_futureValueNotional() { FixedRateCalculation test = FixedRateCalculation.builder() .dayCount(ACT_365F) .rate(ValueSchedule.of(0.025d)) .futureValueNotional(FutureValueNotional.of(1000d)) .build(); SchedulePeriod period = SchedulePeriod.of(date(2014, 1, 6), date(2014, 2, 5), date(2014, 1, 5), date(2014, 2, 5)); Schedule schedule = Schedule.builder() .periods(period) .frequency(Frequency.TERM) .rollConvention(RollConventions.NONE) .build(); double yearFraction = period.yearFraction(ACT_365F, schedule); RateAccrualPeriod rap = RateAccrualPeriod.builder(period) .yearFraction(period.yearFraction(ACT_365F, schedule)) .rateComputation(FixedOvernightCompoundedAnnualRateComputation.of(0.025d, yearFraction)) .build(); ImmutableList<RateAccrualPeriod> periods = test.createAccrualPeriods(schedule, schedule, REF_DATA); assertEquals(periods, ImmutableList.of(rap)); }
public void test_expand_multiplePeriod_with_futureValueNotional() { FixedRateCalculation test = FixedRateCalculation.builder() .dayCount(ACT_365F) .rate(ValueSchedule.of(0.025d)) .futureValueNotional(FutureValueNotional.of(1000d)) .build(); SchedulePeriod period1 = SchedulePeriod.of(date(2014, 1, 6), date(2014, 2, 5), date(2014, 1, 5), date(2014, 2, 5)); SchedulePeriod period2 = SchedulePeriod.of(date(2014, 1, 5), date(2014, 2, 5), date(2014, 2, 5), date(2014, 3, 5)); SchedulePeriod period3 = SchedulePeriod.of(date(2014, 3, 5), date(2014, 4, 7), date(2014, 3, 5), date(2014, 4, 5)); Schedule schedule = Schedule.builder() .periods(period1, period2, period3) .frequency(Frequency.P1M) .rollConvention(RollConventions.DAY_5) .build(); assertThrowsIllegalArg(() -> test.createAccrualPeriods(schedule, schedule, REF_DATA)); }