public void test_builder() { ResolvedCdsIndex test = ResolvedCdsIndex.builder() .buySell(BUY) .dayCount(ACT_360) .cdsIndexId(INDEX_ID) .legalEntityIds(LEGAL_ENTITIES) .paymentOnDefault(ACCRUED_PREMIUM) .protectionStart(BEGINNING) .paymentPeriods(PAYMENTS) .protectionEndDate(PAYMENTS.get(PAYMENTS.size() - 1).getEffectiveEndDate()) .settlementDateOffset(SETTLE_DAY_ADJ) .stepinDateOffset(STEPIN_DAY_ADJ) .build(); assertEquals(test.getBuySell(), BUY); assertEquals(test.getCurrency(), USD); assertEquals(test.getAccrualStartDate(), PAYMENTS.get(0).getStartDate()); assertEquals(test.getAccrualEndDate(), PAYMENTS.get(42).getEndDate()); assertEquals(test.getDayCount(), ACT_360); assertEquals(test.getFixedRate(), COUPON); assertEquals(test.getCdsIndexId(), INDEX_ID); assertEquals(test.getLegalEntityIds(), LEGAL_ENTITIES); assertEquals(test.getNotional(), NOTIONAL); assertEquals(test.getPaymentOnDefault(), ACCRUED_PREMIUM); assertEquals(test.getPaymentPeriods(), PAYMENTS); assertEquals(test.getProtectionEndDate(), PAYMENTS.get(42).getEffectiveEndDate()); assertEquals(test.getSettlementDateOffset(), SETTLE_DAY_ADJ); assertEquals(test.getProtectionStart(), BEGINNING); assertEquals(test.getStepinDateOffset(), STEPIN_DAY_ADJ); }
public void test_effectiveStartDate() { ResolvedCdsIndex test1 = ResolvedCdsIndex.builder() .buySell(BUY) .dayCount(ACT_360) LocalDate date2 = LocalDate.of(2013, 9, 22); assertEquals(test1.calculateEffectiveStartDate(date2), START_DATE.minusDays(1)); ResolvedCdsIndex test2 = ResolvedCdsIndex.builder() .buySell(BUY) .dayCount(ACT_360)
public void test_serialization() { ResolvedCdsIndex test = ResolvedCdsIndex.builder() .buySell(BUY) .dayCount(ACT_360) .cdsIndexId(INDEX_ID) .legalEntityIds(LEGAL_ENTITIES) .paymentOnDefault(ACCRUED_PREMIUM) .protectionStart(BEGINNING) .paymentPeriods(PAYMENTS) .protectionEndDate(PAYMENTS.get(PAYMENTS.size() - 1).getEffectiveEndDate()) .settlementDateOffset(SETTLE_DAY_ADJ) .stepinDateOffset(STEPIN_DAY_ADJ) .build(); assertSerialization(test); }
public void test_accruedYearFraction() { double eps = 1.0e-15; ResolvedCdsIndex test = ResolvedCdsIndex.builder() .buySell(BUY) .dayCount(ACT_360) .cdsIndexId(INDEX_ID) .legalEntityIds(LEGAL_ENTITIES) .paymentOnDefault(ACCRUED_PREMIUM) .protectionStart(BEGINNING) .paymentPeriods(PAYMENTS) .protectionEndDate(PAYMENTS.get(PAYMENTS.size() - 1).getEffectiveEndDate()) .settlementDateOffset(SETTLE_DAY_ADJ) .stepinDateOffset(STEPIN_DAY_ADJ) .build(); double accStart = test.accruedYearFraction(START_DATE.minusDays(1)); double accNextMinusOne = test.accruedYearFraction(START_DATE.plusMonths(3).minusDays(1)); double accNext = test.accruedYearFraction(START_DATE.plusMonths(3)); double accNextOne = test.accruedYearFraction(START_DATE.plusMonths(3).plusDays(1)); double accMod = test.accruedYearFraction(START_DATE.plusYears(1)); double accEnd = test.accruedYearFraction(END_DATE); double accEndOne = test.accruedYearFraction(END_DATE.plusDays(1)); assertEquals(accStart, 0d); assertEquals(accNext, 0d); assertEquals(accNextMinusOne, ACT_360.relativeYearFraction(START_DATE, START_DATE.plusMonths(3).minusDays(1)), eps); assertEquals(accNextOne, 1d / 360d, eps); // 2.x assertEquals(accMod, 0.24722222222222223, eps); assertEquals(accEnd, 0.25555555555555554, eps); assertEquals(accEndOne, 0.25833333333333336, eps); }
public void coverage() { ResolvedCdsIndex test1 = ResolvedCdsIndex.builder() .buySell(BUY) .dayCount(ACT_360) .cdsIndexId(INDEX_ID) .legalEntityIds(LEGAL_ENTITIES) .paymentOnDefault(ACCRUED_PREMIUM) .protectionStart(BEGINNING) .paymentPeriods(PAYMENTS) .protectionEndDate(PAYMENTS.get(PAYMENTS.size() - 1).getEffectiveEndDate()) .settlementDateOffset(SETTLE_DAY_ADJ) .stepinDateOffset(STEPIN_DAY_ADJ) .build(); coverImmutableBean(test1); ResolvedCdsIndex test2 = ResolvedCdsIndex.builder() .buySell(BuySell.SELL) .dayCount(DayCounts.ACT_365F) .cdsIndexId(StandardId.of("OG", "AA-INDEX")) .legalEntityIds(ImmutableList.of(StandardId.of("OG", "ABC1"), StandardId.of("OG", "ABC2"))) .paymentOnDefault(PaymentOnDefault.NONE) .protectionStart(ProtectionStartOfDay.NONE) .paymentPeriods(PAYMENTS.get(0)) .protectionEndDate(PAYMENTS.get(0).getEffectiveEndDate()) .settlementDateOffset(DaysAdjustment.NONE) .stepinDateOffset(DaysAdjustment.NONE) .build(); coverBeanEquals(test1, test2); }
public void test_totoSingleNameCds() { ResolvedCdsIndex base = ResolvedCdsIndex.builder() .buySell(BUY) .dayCount(ACT_360) .cdsIndexId(INDEX_ID) .legalEntityIds(LEGAL_ENTITIES) .paymentOnDefault(ACCRUED_PREMIUM) .protectionStart(BEGINNING) .paymentPeriods(PAYMENTS) .protectionEndDate(PAYMENTS.get(PAYMENTS.size() - 1).getEffectiveEndDate()) .settlementDateOffset(SETTLE_DAY_ADJ) .stepinDateOffset(STEPIN_DAY_ADJ) .build(); ResolvedCds test = base.toSingleNameCds(); ResolvedCds expected = ResolvedCds.builder() .buySell(BUY) .dayCount(ACT_360) .legalEntityId(INDEX_ID) .paymentOnDefault(ACCRUED_PREMIUM) .protectionStart(BEGINNING) .paymentPeriods(PAYMENTS) .protectionEndDate(PAYMENTS.get(PAYMENTS.size() - 1).getEffectiveEndDate()) .settlementDateOffset(SETTLE_DAY_ADJ) .stepinDateOffset(STEPIN_DAY_ADJ) .build(); assertEquals(test, expected); }
ImmutableList<CreditCouponPaymentPeriod> paymentPeriods = accrualPeriods.build(); return ResolvedCdsIndex.builder() .buySell(buySell) .cdsIndexId(cdsIndexId)
.yearFraction(ACT_360.relativeYearFraction(start, end.plusDays(1))) .build()); ResolvedCdsIndex expected = ResolvedCdsIndex.builder() .buySell(BUY) .cdsIndexId(INDEX_ID)