/** * Restricted copy constructor. * @param beanToCopy the bean to copy from, not null */ private Builder(PeriodicSchedule beanToCopy) { this.startDate = beanToCopy.getStartDate(); this.endDate = beanToCopy.getEndDate(); this.frequency = beanToCopy.getFrequency(); this.businessDayAdjustment = beanToCopy.getBusinessDayAdjustment(); this.startDateBusinessDayAdjustment = beanToCopy.startDateBusinessDayAdjustment; this.endDateBusinessDayAdjustment = beanToCopy.endDateBusinessDayAdjustment; this.stubConvention = beanToCopy.stubConvention; this.rollConvention = beanToCopy.rollConvention; this.firstRegularStartDate = beanToCopy.firstRegularStartDate; this.lastRegularEndDate = beanToCopy.lastRegularEndDate; this.overrideStartDate = beanToCopy.overrideStartDate; }
@Override protected Object propertyGet(Bean bean, String propertyName, boolean quiet) { switch (propertyName.hashCode()) { case -2129778896: // startDate return ((PeriodicSchedule) bean).getStartDate(); case -1607727319: // endDate return ((PeriodicSchedule) bean).getEndDate(); case -70023844: // frequency return ((PeriodicSchedule) bean).getFrequency(); case -1065319863: // businessDayAdjustment return ((PeriodicSchedule) bean).getBusinessDayAdjustment(); case 429197561: // startDateBusinessDayAdjustment return ((PeriodicSchedule) bean).startDateBusinessDayAdjustment; case -734327136: // endDateBusinessDayAdjustment return ((PeriodicSchedule) bean).endDateBusinessDayAdjustment; case -31408449: // stubConvention return ((PeriodicSchedule) bean).stubConvention; case -10223666: // rollConvention return ((PeriodicSchedule) bean).rollConvention; case 2011803076: // firstRegularStartDate return ((PeriodicSchedule) bean).firstRegularStartDate; case -1540679645: // lastRegularEndDate return ((PeriodicSchedule) bean).lastRegularEndDate; case -599936828: // overrideStartDate return ((PeriodicSchedule) bean).overrideStartDate; } return super.propertyGet(bean, propertyName, quiet); }
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)); }
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)); }
@ImmutableConstructor private IborCapFloorLeg( PayReceive payReceive, PeriodicSchedule paymentSchedule, DaysAdjustment paymentDateOffset, Currency currency, ValueSchedule notional, IborRateCalculation calculation, ValueSchedule capSchedule, ValueSchedule floorSchedule) { this.payReceive = ArgChecker.notNull(payReceive, "payReceive"); this.paymentSchedule = ArgChecker.notNull(paymentSchedule, "paymentSchedule"); this.paymentDateOffset = ArgChecker.notNull(paymentDateOffset, "paymentDateOffset"); this.currency = currency != null ? currency : calculation.getIndex().getCurrency(); this.notional = notional; this.calculation = ArgChecker.notNull(calculation, "calculation"); this.capSchedule = capSchedule; this.floorSchedule = floorSchedule; ArgChecker.isTrue(!this.getPaymentSchedule().getStubConvention().isPresent() || this.getPaymentSchedule().getStubConvention().get().equals(StubConvention.NONE), "Stub period is not allowed"); ArgChecker.isFalse(this.getCapSchedule().isPresent() == this.getFloorSchedule().isPresent(), "One of cap schedule and floor schedule should be empty"); ArgChecker.isTrue(this.getCalculation().getIndex().getTenor().getPeriod().equals(this.getPaymentSchedule() .getFrequency().getPeriod()), "Payment frequency period should be the same as index tenor period"); }
.securityId(securityId) .periodicPayments(ImmutableList.copyOf(bondPeriods)) .frequency(accrualSchedule.getFrequency()) .rollConvention(accrualSchedule.calculatedRollConvention()) .dayCount(dayCount)
.nominalPayment(nominalPayment) .periodicPayments(ImmutableList.copyOf(periodicPayments)) .frequency(accrualSchedule.getFrequency()) .rollConvention(accrualSchedule.calculatedRollConvention()) .fixedRate(fixedRate)
private static RateCalculationSwapLeg parseLeg( CsvRow row, String leg, FloatingRateIndex index, DayCount defaultFixedLegDayCount) { PayReceive payReceive = LoaderUtils.parsePayReceive(getValue(row, leg, DIRECTION_FIELD)); PeriodicSchedule accrualSch = parseAccrualSchedule(row, leg); PaymentSchedule paymentSch = parsePaymentSchedule(row, leg, accrualSch.getFrequency()); NotionalSchedule notionalSch = parseNotionalSchedule(row, leg); RateCalculation calc = parseRateCalculation( row, leg, index, defaultFixedLegDayCount, accrualSch.getBusinessDayAdjustment(), notionalSch.getCurrency()); return RateCalculationSwapLeg.builder() .payReceive(payReceive) .accrualSchedule(accrualSch) .paymentSchedule(paymentSch) .notionalSchedule(notionalSch) .calculation(calc) .build(); }
if (!accrualSchedule.getFrequency().equals(resetFreq)) { ResetSchedule.Builder resetScheduleBuilder = ResetSchedule.builder(); resetScheduleBuilder.resetFrequency(resetFreq);
.nominalPayment(nominalExp) .periodicPayments(periodic) .frequency(SCHEDULE.getFrequency()) .rollConvention(SCHEDULE.calculatedRollConvention()) .settlementDateOffset(SETTLE_OFFSET)
static ResolvedCapitalIndexedBond sut() { return ResolvedCapitalIndexedBond.builder() .securityId(CapitalIndexedBondTest.sut().getSecurityId()) .dayCount(ACT_ACT_ISDA) .legalEntityId(LEGAL_ENTITY) .nominalPayment(NOMINAL) .periodicPayments(PERIODIC) .frequency(CapitalIndexedBondTest.sut().getAccrualSchedule().getFrequency()) .rollConvention(CapitalIndexedBondTest.sut().getAccrualSchedule().calculatedRollConvention()) .settlementDateOffset(SETTLE_OFFSET) .yieldConvention(US_IL_REAL) .rateCalculation(RATE_CALC) .build(); }
static ResolvedCapitalIndexedBond sut2() { return ResolvedCapitalIndexedBond.builder() .securityId(CapitalIndexedBondTest.sut2().getSecurityId()) .dayCount(NL_365) .legalEntityId(LegalEntityId.of("OG-Ticker", "US-Govt1")) .nominalPayment(PERIODIC[1].withUnitCoupon(PERIODIC[0].getStartDate(), PERIODIC[0].getUnadjustedStartDate())) .periodicPayments(PERIODIC[0], PERIODIC[1]) .frequency(CapitalIndexedBondTest.sut2().getAccrualSchedule().getFrequency()) .rollConvention(CapitalIndexedBondTest.sut2().getAccrualSchedule().calculatedRollConvention()) .settlementDateOffset(DaysAdjustment.ofBusinessDays(3, GBLO)) .yieldConvention(GB_IL_FLOAT) .rateCalculation(CapitalIndexedBondTest.sut2().getRateCalculation()) .build(); }