public void test_of_int() { assertEquals(Tenor.ofDays(1), TENOR_1D); assertEquals(Tenor.ofDays(7), TENOR_1W); assertEquals(Tenor.ofWeeks(2), TENOR_2W); assertEquals(Tenor.ofMonths(1), TENOR_1M); assertEquals(Tenor.ofMonths(15), TENOR_15M); assertEquals(Tenor.ofMonths(18), TENOR_18M); assertEquals(Tenor.ofMonths(21), TENOR_21M); assertEquals(Tenor.ofYears(1), TENOR_1Y); assertEquals(Tenor.ofYears(35), TENOR_35Y); assertEquals(Tenor.ofYears(40), TENOR_40Y); assertEquals(Tenor.ofYears(45), TENOR_45Y); assertEquals(Tenor.ofYears(50), TENOR_50Y); }
@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); }
@DataProvider(name = "based") public static Object[][] data_based() { return new Object[][] { {Tenor.ofDays(1), false, false}, {Tenor.ofDays(2), false, false}, {Tenor.ofDays(6), false, false}, {Tenor.ofDays(7), true, false}, {Tenor.ofWeeks(1), true, false}, {Tenor.ofWeeks(3), true, false}, {Tenor.ofMonths(1), false, true}, {Tenor.ofMonths(3), false, true}, {Tenor.ofYears(1), false, true}, {Tenor.ofYears(3), false, true}, {Tenor.of(Period.of(1, 2, 3)), false, false}, }; }
public void test_compare() { List<Tenor> tenors = ImmutableList.of( Tenor.ofDays(1), Tenor.ofDays(3), Tenor.ofDays(7), Tenor.ofWeeks(2), Tenor.ofWeeks(4), Tenor.ofDays(30), Tenor.ofMonths(1), Tenor.ofDays(31), Tenor.of(Period.of(0, 1, 1)), Tenor.ofDays(60), Tenor.ofMonths(2), Tenor.ofDays(61), Tenor.ofDays(91), Tenor.ofMonths(3), Tenor.ofDays(92), Tenor.ofDays(182), Tenor.ofMonths(6), Tenor.ofDays(183), Tenor.ofDays(365), Tenor.ofYears(1), Tenor.ofDays(366)); List<Tenor> test = new ArrayList<>(tenors); Collections.shuffle(test); Collections.sort(test); assertEquals(test, tenors); }
private List<IsdaCreditCurveNode> createsNode( DaysAdjustment spotDateOffset, BusinessDayAdjustment businessDayAdjustment, DayCount depositDayCount, DayCount swapDayCount, Frequency paymentFrequency, int[] termMonths, int[] swapYears, String[] idValues) { int nInstruments = idValues.length; int nTerms = termMonths.length; List<IsdaCreditCurveNode> nodes = new ArrayList<>(nInstruments); for (int i = 0; i < nTerms; i++) { Tenor tenor = Tenor.ofMonths(termMonths[i]); nodes.add(DepositIsdaCreditCurveNode.of( QuoteId.of(StandardId.of("OG", idValues[i])), spotDateOffset, businessDayAdjustment, tenor, depositDayCount)); } for (int i = nTerms; i < nInstruments; i++) { Tenor tenor = Tenor.ofYears(swapYears[i - nTerms]); nodes.add(SwapIsdaCreditCurveNode.of( QuoteId.of(StandardId.of("OG", idValues[i])), spotDateOffset, businessDayAdjustment, tenor, swapDayCount, paymentFrequency)); } return nodes; }
String[] idValues = new String[] {"mm1M", "mm2M", "mm3M", "mm6M", "mm9M", "swap1Y", "mm18M"}; for (int i = 0; i < nMoneyMarket; i++) { Tenor tenor = Tenor.ofMonths(mmMonths[i]); nodes.add(DepositIsdaCreditCurveNode.of(QuoteId.of(StandardId.of("OG", idValues[i])), ADJ_3D, BUS_ADJ, tenor, ACT_360)); QuoteId.of(StandardId.of("OG", idValues[nInstruments])), ADJ_3D, BUS_ADJ, Tenor.ofMonths(18), ACT_360)); ImmutableMarketDataBuilder builder = ImmutableMarketData.builder(snapDate); for (int i = 0; i < rates.length; i++) {
"swap8Y", "swap9Y", "swap10Y", "swap12Y", "swap15Y", "swap20Y", "swap25Y", "swap30Y"}; for (int i = 0; i < nMoneyMarket; i++) { Tenor tenor = Tenor.ofMonths(mmMonths[i]); nodes.add(DepositIsdaCreditCurveNode.of(QuoteId.of(StandardId.of("OG", idValues[i])), ADJ_3D, BUS_ADJ, tenor, ACT_360));
public void test_of_notZero() { assertThrowsIllegalArg(() -> Tenor.of(Period.ofDays(0))); assertThrowsIllegalArg(() -> Tenor.ofDays(0)); assertThrowsIllegalArg(() -> Tenor.ofWeeks(0)); assertThrowsIllegalArg(() -> Tenor.ofMonths(0)); assertThrowsIllegalArg(() -> Tenor.ofYears(0)); }
public void test_of_notNegative() { assertThrowsIllegalArg(() -> Tenor.of(Period.ofDays(-1))); assertThrowsIllegalArg(() -> Tenor.ofDays(-1)); assertThrowsIllegalArg(() -> Tenor.ofWeeks(-1)); assertThrowsIllegalArg(() -> Tenor.ofMonths(-1)); assertThrowsIllegalArg(() -> Tenor.ofYears(-1)); }
"swap10Y", "swap12Y", "swap15Y", "swap20Y", "swap25Y", "swap30Y"}; for (int i = 0; i < nMoneyMarket1; i++) { Tenor tenor = Tenor.ofMonths(mmMonths1[i]); ImmutableTermDepositConvention convention = (ImmutableTermDepositConvention) TermDepositConventions.USD_SHORT_DEPOSIT_T2; nodes1.add(DepositIsdaCreditCurveNode.of(QuoteId.of(StandardId.of("OG", idValues1[i])), convention.getSpotDateOffset(), String[] idValues2 = new String[] {"mm1M", "mm2M", "mm3M", "mm6M", "mm9M", "mm12M"}; for (int i = 0; i < nMoneyMarket2; i++) { Tenor tenor = Tenor.ofMonths(mmMonths2[i]); nodes2.add( DepositIsdaCreditCurveNode.of(QuoteId.of(StandardId.of("OG", idValues2[i])), ADJ_0D, BUS_ADJ, tenor, ACT_360));