/** * Gets the applicable roll convention defining how to roll dates. * <p> * The schedule periods are determined at the high level by repeatedly adding * the frequency to the start date, or subtracting it from the end date. * The roll convention provides the detailed rule to adjust the day-of-month or day-of-week. * <p> * The applicable roll convention is a non-null value. * If the roll convention property is not present, this is determined from the * stub convention, dates and frequency, defaulting to 'None' if necessary. * * @return the non-null roll convention */ public RollConvention calculatedRollConvention() { return calculatedRollConvention(calculatedFirstRegularStartDate(), calculatedLastRegularEndDate()); }
LocalDate regularEnd = calculatedLastRegularEndDate(); RollConvention rollConv = calculatedRollConvention(regularStart, regularEnd); List<LocalDate> unadj = generateUnadjustedDates(startDate, regularStart, regularEnd, endDate, rollConv);
LocalDate unadjEnd = calculatedUnadjustedEndDate(refData); LocalDate regularStart = calculatedFirstRegularStartDate(unadjStart, refData); LocalDate regularEnd = calculatedLastRegularEndDate(unadjEnd, refData); RollConvention rollConv = calculatedRollConvention(regularStart, regularEnd); List<LocalDate> unadj = generateUnadjustedDates(unadjStart, regularStart, regularEnd, unadjEnd, rollConv);
public void test_of_LocalDateRoll() { PeriodicSchedule test = PeriodicSchedule.of(JUN_04, SEP_17, P1M, BDA, SHORT_INITIAL, DAY_17); assertEquals(test.getStartDate(), JUN_04); assertEquals(test.getEndDate(), SEP_17); assertEquals(test.getFrequency(), P1M); assertEquals(test.getBusinessDayAdjustment(), BDA); assertEquals(test.getStartDateBusinessDayAdjustment(), Optional.empty()); assertEquals(test.getEndDateBusinessDayAdjustment(), Optional.empty()); assertEquals(test.getStubConvention(), Optional.of(SHORT_INITIAL)); assertEquals(test.getRollConvention(), Optional.of(DAY_17)); assertEquals(test.getFirstRegularStartDate(), Optional.empty()); assertEquals(test.getLastRegularEndDate(), Optional.empty()); assertEquals(test.getOverrideStartDate(), Optional.empty()); assertEquals(test.calculatedRollConvention(), DAY_17); assertEquals(test.calculatedFirstRegularStartDate(), JUN_04); assertEquals(test.calculatedLastRegularEndDate(), SEP_17); assertEquals(test.calculatedStartDate(), AdjustableDate.of(JUN_04, BDA)); assertEquals(test.calculatedEndDate(), AdjustableDate.of(SEP_17, BDA)); }
public void test_of_LocalDateEomFalse() { PeriodicSchedule test = PeriodicSchedule.of(JUN_04, SEP_17, P1M, BDA, SHORT_INITIAL, false); assertEquals(test.getStartDate(), JUN_04); assertEquals(test.getEndDate(), SEP_17); assertEquals(test.getFrequency(), P1M); assertEquals(test.getBusinessDayAdjustment(), BDA); assertEquals(test.getStartDateBusinessDayAdjustment(), Optional.empty()); assertEquals(test.getEndDateBusinessDayAdjustment(), Optional.empty()); assertEquals(test.getStubConvention(), Optional.of(SHORT_INITIAL)); assertEquals(test.getRollConvention(), Optional.empty()); assertEquals(test.getFirstRegularStartDate(), Optional.empty()); assertEquals(test.getLastRegularEndDate(), Optional.empty()); assertEquals(test.getOverrideStartDate(), Optional.empty()); assertEquals(test.calculatedRollConvention(), DAY_17); assertEquals(test.calculatedFirstRegularStartDate(), JUN_04); assertEquals(test.calculatedLastRegularEndDate(), SEP_17); assertEquals(test.calculatedStartDate(), AdjustableDate.of(JUN_04, BDA)); assertEquals(test.calculatedEndDate(), AdjustableDate.of(SEP_17, BDA)); }
public void test_of_LocalDateEomTrue() { PeriodicSchedule test = PeriodicSchedule.of(JUN_04, SEP_17, P1M, BDA, SHORT_FINAL, true); assertEquals(test.getStartDate(), JUN_04); assertEquals(test.getEndDate(), SEP_17); assertEquals(test.getFrequency(), P1M); assertEquals(test.getBusinessDayAdjustment(), BDA); assertEquals(test.getStartDateBusinessDayAdjustment(), Optional.empty()); assertEquals(test.getEndDateBusinessDayAdjustment(), Optional.empty()); assertEquals(test.getStubConvention(), Optional.of(SHORT_FINAL)); assertEquals(test.getRollConvention(), Optional.of(EOM)); assertEquals(test.getFirstRegularStartDate(), Optional.empty()); assertEquals(test.getLastRegularEndDate(), Optional.empty()); assertEquals(test.getOverrideStartDate(), Optional.empty()); assertEquals(test.calculatedRollConvention(), DAY_4); assertEquals(test.calculatedFirstRegularStartDate(), JUN_04); assertEquals(test.calculatedLastRegularEndDate(), SEP_17); assertEquals(test.calculatedStartDate(), AdjustableDate.of(JUN_04, BDA)); assertEquals(test.calculatedEndDate(), AdjustableDate.of(SEP_17, BDA)); }
LocalDate unadjEnd = calculatedUnadjustedEndDate(refData); LocalDate regularStart = calculatedFirstRegularStartDate(unadjStart, refData); LocalDate regularEnd = calculatedLastRegularEndDate(unadjEnd, refData); RollConvention rollConv = calculatedRollConvention(regularStart, regularEnd); List<LocalDate> unadj = generateUnadjustedDates(unadjStart, regularStart, regularEnd, unadjEnd, rollConv);
LocalDate unadjEnd = calculatedUnadjustedEndDate(refData); LocalDate regularStart = calculatedFirstRegularStartDate(unadjStart, refData); LocalDate regularEnd = calculatedLastRegularEndDate(unadjEnd, refData); RollConvention rollConv = calculatedRollConvention(regularStart, regularEnd); List<LocalDate> unadj = generateUnadjustedDates(unadjStart, regularStart, regularEnd, unadjEnd, rollConv);