public void test_of_additionConventionLastDay() { TenorAdjustment test = TenorAdjustment.of(TENOR_3M, LAST_DAY, BDA_FOLLOW_SAT_SUN); assertEquals(test.getTenor(), TENOR_3M); assertEquals(test.getAdditionConvention(), LAST_DAY); assertEquals(test.getAdjustment(), BDA_FOLLOW_SAT_SUN); assertEquals(test.toString(), "3M with LastDay then apply Following using calendar Sat/Sun"); }
@Test(dataProvider = "adjust") public void test_adjust(int months, LocalDate date, LocalDate expected) { TenorAdjustment test = TenorAdjustment.of(Tenor.ofMonths(months), LAST_DAY, BDA_FOLLOW_SAT_SUN); assertEquals(test.adjust(date, REF_DATA), expected); assertEquals(test.resolve(REF_DATA).adjust(date), expected); }
public void test_ofLastDay() { TenorAdjustment test = TenorAdjustment.ofLastDay(TENOR_3M, BDA_FOLLOW_SAT_SUN); assertEquals(test.getTenor(), TENOR_3M); assertEquals(test.getAdditionConvention(), LAST_DAY); assertEquals(test.getAdjustment(), BDA_FOLLOW_SAT_SUN); assertEquals(test.toString(), "3M with LastDay then apply Following using calendar Sat/Sun"); }
/** * Restricted copy constructor. * @param beanToCopy the bean to copy from, not null */ private Builder(TenorAdjustment beanToCopy) { this.tenor = beanToCopy.getTenor(); this.additionConvention = beanToCopy.getAdditionConvention(); this.adjustment = beanToCopy.getAdjustment(); }
public void equals() { TenorAdjustment a = TenorAdjustment.of(TENOR_3M, LAST_DAY, BDA_FOLLOW_SAT_SUN); TenorAdjustment b = TenorAdjustment.of(TENOR_1M, LAST_DAY, BDA_FOLLOW_SAT_SUN); TenorAdjustment c = TenorAdjustment.of(TENOR_3M, PAC_NONE, BDA_FOLLOW_SAT_SUN); TenorAdjustment d = TenorAdjustment.of(TENOR_3M, LAST_DAY, BDA_NONE); assertEquals(a.equals(b), false); assertEquals(a.equals(c), false); assertEquals(a.equals(d), false); }
public void test_ofLastBusinessDay() { TenorAdjustment test = TenorAdjustment.ofLastBusinessDay(TENOR_3M, BDA_FOLLOW_SAT_SUN); assertEquals(test.getTenor(), TENOR_3M); assertEquals(test.getAdditionConvention(), LAST_BUSINESS_DAY); assertEquals(test.getAdjustment(), BDA_FOLLOW_SAT_SUN); assertEquals(test.toString(), "3M with LastBusinessDay then apply Following using calendar Sat/Sun"); }
public void test_beanBuilder() { TenorAdjustment test = TenorAdjustment.builder() .tenor(TENOR_3M) .additionConvention(LAST_DAY) .adjustment(BDA_FOLLOW_SAT_SUN) .build(); assertEquals(test.getTenor(), TENOR_3M); assertEquals(test.getAdditionConvention(), LAST_DAY); assertEquals(test.getAdjustment(), BDA_FOLLOW_SAT_SUN); }
public void coverage() { coverImmutableBean(TenorAdjustment.of(TENOR_3M, LAST_DAY, BDA_FOLLOW_SAT_SUN)); }
public void test_of_invalid_conventionForPeriod() { assertThrowsIllegalArg(() -> TenorAdjustment.of(TENOR_1W, LAST_DAY, BDA_NONE)); assertThrowsIllegalArg(() -> TenorAdjustment.of(TENOR_1W, LAST_BUSINESS_DAY, BDA_NONE)); assertThrowsIllegalArg(() -> TenorAdjustment.ofLastDay(TENOR_1W, BDA_NONE)); assertThrowsIllegalArg(() -> TenorAdjustment.ofLastBusinessDay(TENOR_1W, BDA_NONE)); }
private static IborIndex lockIndexCalendar(IborIndex index) { return ((ImmutableIborIndex) index).toBuilder() .fixingCalendar(CalendarUSD.NYC) .effectiveDateOffset(index.getEffectiveDateOffset().toBuilder() .calendar(CalendarUSD.NYC) .adjustment(index.getEffectiveDateOffset().getAdjustment().toBuilder() .calendar(CalendarUSD.NYC) .build()) .build()) .maturityDateOffset(index.getMaturityDateOffset().toBuilder() .adjustment(index.getMaturityDateOffset().getAdjustment().toBuilder() .calendar(CalendarUSD.NYC) .build()) .build()) .build(); }
@Test(dataProvider = "floatLeg") public void test_holiday_calendars_match(FixedIborSwapConvention convention, IborIndex floatLeg) { assertEquals( convention.getFixedLeg().getAccrualBusinessDayAdjustment().getCalendar(), floatLeg.getMaturityDateOffset().getAdjustment().getCalendar()); }
@Override public LocalDate calculateMaturityFromEffective(LocalDate effectiveDate, ReferenceData refData) { LocalDate effectiveBusinessDay = effectiveDateCalendar(refData).nextOrSame(effectiveDate); return maturityDateOffset.adjust(effectiveBusinessDay, refData); }
@Override public Tenor getTenor() { return maturityDateOffset.getTenor(); }
.fixingDateOffset(MINUS_TWO_DAYS) .effectiveDateOffset(PLUS_TWO_DAYS) .maturityDateOffset(TenorAdjustment.ofLastDay(TENOR_3M, BDA_MOD_FOLLOW)) .fixingCalendar(SAT_SUN) .fixingTime(LocalTime.NOON)
@Override public Function<LocalDate, IborIndexObservation> resolve(ReferenceData refData) { HolidayCalendar fixingCal = fixingCalendar.resolve(refData); DateAdjuster effectiveAdjuster = effectiveDateOffset.resolve(refData); DateAdjuster maturityAdjuster = maturityDateOffset.resolve(refData); return fixingDate -> create(fixingDate, fixingCal, effectiveAdjuster, maturityAdjuster); }
@Override protected Object propertyGet(Bean bean, String propertyName, boolean quiet) { switch (propertyName.hashCode()) { case 110246592: // tenor return ((TenorAdjustment) bean).getTenor(); case 1652975501: // additionConvention return ((TenorAdjustment) bean).getAdditionConvention(); case 1977085293: // adjustment return ((TenorAdjustment) bean).getAdjustment(); } return super.propertyGet(bean, propertyName, quiet); }
public void test_serialization() { assertSerialization(TenorAdjustment.of(TENOR_3M, LAST_DAY, BDA_FOLLOW_SAT_SUN)); }
@Override public LocalDate calculateMaturityFromFixing(LocalDate fixingDate, ReferenceData refData) { LocalDate fixingBusinessDay = fixingCalendar.resolve(refData).nextOrSame(fixingDate); return maturityDateOffset.adjust(effectiveDateOffset.adjust(fixingBusinessDay, refData), refData); }
this.defaultFixedLegDayCount = MoreObjects.firstNonNull(defaultFixedLegDayCount, dayCount); String suffix = "-" + maturityDateOffset.getTenor().toString(); if (!name.endsWith(suffix)) { throw new IllegalArgumentException(Messages.format( "IborIndex name '{}' must end with tenor '{}'", name, maturityDateOffset.getTenor().toString()));
.fixingDateOffset(MINUS_TWO_DAYS) .effectiveDateOffset(PLUS_TWO_DAYS) .maturityDateOffset(TenorAdjustment.ofLastDay(TENOR_3M, BDA_MOD_FOLLOW)) .fixingCalendar(SAT_SUN) .fixingTime(LocalTime.NOON)