public virtual void test_usdLibor3m_dates() { IborIndex test = IborIndex.of("USD-LIBOR-3M"); assertEquals(test.calculateEffectiveFromFixing(date(2014, 10, 27), REF_DATA), date(2014, 10, 29)); assertEquals(test.calculateMaturityFromFixing(date(2014, 10, 27), REF_DATA), date(2015, 1, 29)); assertEquals(test.calculateFixingFromEffective(date(2014, 10, 29), REF_DATA), date(2014, 10, 27)); assertEquals(test.calculateMaturityFromEffective(date(2014, 10, 29), REF_DATA), date(2015, 1, 29)); // weekend assertEquals(test.calculateEffectiveFromFixing(date(2014, 10, 10), REF_DATA), date(2014, 10, 14)); assertEquals(test.calculateMaturityFromFixing(date(2014, 10, 10), REF_DATA), date(2015, 1, 14)); assertEquals(test.calculateFixingFromEffective(date(2014, 10, 14), REF_DATA), date(2014, 10, 10)); assertEquals(test.calculateMaturityFromEffective(date(2014, 10, 14), REF_DATA), date(2015, 1, 14)); // effective date is US holiday assertEquals(test.calculateEffectiveFromFixing(date(2015, 1, 16), REF_DATA), date(2015, 1, 20)); assertEquals(test.calculateMaturityFromFixing(date(2015, 1, 16), REF_DATA), date(2015, 4, 20)); assertEquals(test.calculateFixingFromEffective(date(2015, 1, 20), REF_DATA), date(2015, 1, 16)); assertEquals(test.calculateMaturityFromEffective(date(2015, 1, 20), REF_DATA), date(2015, 4, 20)); // input date is Sunday, 13th is US holiday, but not UK holiday (can fix, but not be effective) assertEquals(test.calculateEffectiveFromFixing(date(2014, 10, 12), REF_DATA), date(2014, 10, 15)); assertEquals(test.calculateMaturityFromFixing(date(2014, 10, 12), REF_DATA), date(2015, 1, 15)); assertEquals(test.calculateFixingFromEffective(date(2014, 10, 12), REF_DATA), date(2014, 10, 10)); assertEquals(test.calculateMaturityFromEffective(date(2014, 10, 12), REF_DATA), date(2015, 1, 14)); // fixing time and zone assertEquals(test.calculateFixingDateTime(date(2014, 10, 13)), date(2014, 10, 13).atTime(LocalTime.of(11, 0)).atZone(ZoneId.of("Europe/London"))); // resolve assertEquals(test.resolve(REF_DATA).apply(date(2014, 10, 27)), IborIndexObservation.of(test, date(2014, 10, 27), REF_DATA)); }
//------------------------------------------------------------------------- public IborIndex toIborIndex(Tenor tenor) { if (!type.Ibor) { throw new System.InvalidOperationException("Incorrect index type, expected Ibor: " + externalName); } return(IborIndex.of(indexName + tenor.normalized().ToString())); }
public virtual void test_bbsw6m() { IborIndex test = IborIndex.of("AUD-BBSW-6M"); assertEquals(test.Currency, AUD); assertEquals(test.Name, "AUD-BBSW-6M"); assertEquals(test.Tenor, TENOR_6M); assertEquals(test.FixingCalendar, AUSY); assertEquals(test.FixingDateOffset, DaysAdjustment.ofBusinessDays(-1, AUSY)); assertEquals(test.EffectiveDateOffset, DaysAdjustment.ofBusinessDays(1, AUSY)); assertEquals(test.MaturityDateOffset, TenorAdjustment.of(TENOR_6M, PeriodAdditionConventions.NONE, BusinessDayAdjustment.of(MODIFIED_FOLLOWING_BI_MONTHLY, AUSY))); assertEquals(test.DayCount, ACT_365F); assertEquals(test.ToString(), "AUD-BBSW-6M"); }
public virtual void test_sek_stibor() { IborIndex test = IborIndex.of("SEK-STIBOR-3M"); assertEquals(test.Currency, SEK); assertEquals(test.Name, "SEK-STIBOR-3M"); assertEquals(test.Tenor, TENOR_3M); assertEquals(test.FixingCalendar, SEST); assertEquals(test.FixingDateOffset, DaysAdjustment.ofBusinessDays(-2, SEST)); assertEquals(test.EffectiveDateOffset, DaysAdjustment.ofBusinessDays(2, SEST)); assertEquals(test.MaturityDateOffset, TenorAdjustment.of(TENOR_3M, PeriodAdditionConventions.NONE, BusinessDayAdjustment.of(MODIFIED_FOLLOWING, SEST))); assertEquals(test.DayCount, ACT_360); assertEquals(test.DefaultFixedLegDayCount, THIRTY_U_360); assertEquals(test.ToString(), "SEK-STIBOR-3M"); }
public virtual void test_usdLibor_all() { assertEquals(IborIndex.of("USD-LIBOR-1W").Name, "USD-LIBOR-1W"); assertEquals(IborIndex.of("USD-LIBOR-1W"), IborIndices.USD_LIBOR_1W); assertEquals(IborIndex.of("USD-LIBOR-1M").Name, "USD-LIBOR-1M"); assertEquals(IborIndex.of("USD-LIBOR-1M"), IborIndices.USD_LIBOR_1M); assertEquals(IborIndex.of("USD-LIBOR-2M").Name, "USD-LIBOR-2M"); assertEquals(IborIndex.of("USD-LIBOR-2M"), IborIndices.USD_LIBOR_2M); assertEquals(IborIndex.of("USD-LIBOR-3M").Name, "USD-LIBOR-3M"); assertEquals(IborIndex.of("USD-LIBOR-3M"), IborIndices.USD_LIBOR_3M); assertEquals(IborIndex.of("USD-LIBOR-6M").Name, "USD-LIBOR-6M"); assertEquals(IborIndex.of("USD-LIBOR-6M"), IborIndices.USD_LIBOR_6M); assertEquals(IborIndex.of("USD-LIBOR-12M").Name, "USD-LIBOR-12M"); assertEquals(IborIndex.of("USD-LIBOR-12M"), IborIndices.USD_LIBOR_12M); }
public virtual void test_zar_jibar() { IborIndex test = IborIndex.of("ZAR-JIBAR-3M"); assertEquals(test.Currency, ZAR); assertEquals(test.Name, "ZAR-JIBAR-3M"); assertEquals(test.Tenor, TENOR_3M); assertEquals(test.FixingCalendar, ZAJO); assertEquals(test.FixingDateOffset, DaysAdjustment.ofCalendarDays(0, BusinessDayAdjustment.of(PRECEDING, ZAJO))); assertEquals(test.EffectiveDateOffset, DaysAdjustment.ofCalendarDays(0, BusinessDayAdjustment.of(FOLLOWING, ZAJO))); assertEquals(test.MaturityDateOffset, TenorAdjustment.of(TENOR_3M, PeriodAdditionConventions.NONE, BusinessDayAdjustment.of(MODIFIED_FOLLOWING, ZAJO))); assertEquals(test.DayCount, ACT_365F); assertEquals(test.DefaultFixedLegDayCount, ACT_365F); assertEquals(test.ToString(), "ZAR-JIBAR-3M"); }
public virtual void test_pln_wibor() { IborIndex test = IborIndex.of("PLN-WIBOR-3M"); assertEquals(test.Currency, PLN); assertEquals(test.Name, "PLN-WIBOR-3M"); assertEquals(test.Tenor, TENOR_3M); assertEquals(test.FixingCalendar, PLWA); assertEquals(test.FixingDateOffset, DaysAdjustment.ofBusinessDays(-2, PLWA)); assertEquals(test.EffectiveDateOffset, DaysAdjustment.ofBusinessDays(2, PLWA)); assertEquals(test.MaturityDateOffset, TenorAdjustment.of(TENOR_3M, PeriodAdditionConventions.NONE, BusinessDayAdjustment.of(MODIFIED_FOLLOWING, PLWA))); assertEquals(test.DayCount, ACT_365F); assertEquals(test.DefaultFixedLegDayCount, ACT_ACT_ISDA); assertEquals(test.ToString(), "PLN-WIBOR-3M"); }
public virtual void test_mxn_tiie() { IborIndex test = IborIndex.of("MXN-TIIE-4W"); assertEquals(test.Currency, MXN); assertEquals(test.Name, "MXN-TIIE-4W"); assertEquals(test.Tenor, TENOR_4W); assertEquals(test.FixingCalendar, MXMC); assertEquals(test.FixingDateOffset, DaysAdjustment.ofBusinessDays(-1, MXMC)); assertEquals(test.EffectiveDateOffset, DaysAdjustment.ofBusinessDays(1, MXMC)); assertEquals(test.MaturityDateOffset, TenorAdjustment.of(TENOR_4W, PeriodAdditionConventions.NONE, BusinessDayAdjustment.of(FOLLOWING, MXMC))); assertEquals(test.DayCount, ACT_360); assertEquals(test.DefaultFixedLegDayCount, ACT_360); assertEquals(test.ToString(), "MXN-TIIE-4W"); }
public virtual void test_tibor_euroyen3m() { IborIndex test = IborIndex.of("JPY-TIBOR-EUROYEN-3M"); assertEquals(test.Currency, JPY); assertEquals(test.Name, "JPY-TIBOR-EUROYEN-3M"); assertEquals(test.Tenor, TENOR_3M); assertEquals(test.FixingCalendar, JPTO); assertEquals(test.FixingDateOffset, DaysAdjustment.ofBusinessDays(-2, JPTO)); assertEquals(test.EffectiveDateOffset, DaysAdjustment.ofBusinessDays(2, JPTO)); assertEquals(test.MaturityDateOffset, TenorAdjustment.ofLastBusinessDay(TENOR_3M, BusinessDayAdjustment.of(MODIFIED_FOLLOWING, JPTO))); assertEquals(test.DayCount, ACT_360); assertEquals(test.DefaultFixedLegDayCount, ACT_365F); assertEquals(test.FloatingRateName, FloatingRateName.of("JPY-TIBOR-EUROYEN")); assertEquals(test.ToString(), "JPY-TIBOR-EUROYEN-3M"); }
public virtual void test_euribor3m() { IborIndex test = IborIndex.of("EUR-EURIBOR-3M"); assertEquals(test.Currency, EUR); assertEquals(test.Name, "EUR-EURIBOR-3M"); assertEquals(test.Tenor, TENOR_3M); assertEquals(test.FixingCalendar, EUTA); assertEquals(test.FixingDateOffset, DaysAdjustment.ofBusinessDays(-2, EUTA)); assertEquals(test.EffectiveDateOffset, DaysAdjustment.ofBusinessDays(2, EUTA)); assertEquals(test.MaturityDateOffset, TenorAdjustment.ofLastBusinessDay(TENOR_3M, BusinessDayAdjustment.of(MODIFIED_FOLLOWING, EUTA))); assertEquals(test.DayCount, ACT_360); assertEquals(test.DefaultFixedLegDayCount, THIRTY_U_360); assertEquals(test.FloatingRateName, FloatingRateName.of("EUR-EURIBOR")); assertEquals(test.ToString(), "EUR-EURIBOR-3M"); }
//------------------------------------------------------------------------- public virtual void test_usdLibor3m() { IborIndex test = IborIndex.of("USD-LIBOR-3M"); assertEquals(test.Currency, USD); assertEquals(test.Name, "USD-LIBOR-3M"); assertEquals(test.Tenor, TENOR_3M); assertEquals(test.FixingCalendar, GBLO); assertEquals(test.FixingDateOffset, DaysAdjustment.ofBusinessDays(-2, GBLO)); assertEquals(test.EffectiveDateOffset, DaysAdjustment.ofBusinessDays(2, GBLO, BusinessDayAdjustment.of(FOLLOWING, GBLO.combinedWith(USNY)))); assertEquals(test.MaturityDateOffset, TenorAdjustment.ofLastBusinessDay(TENOR_3M, BusinessDayAdjustment.of(MODIFIED_FOLLOWING, GBLO.combinedWith(USNY)))); assertEquals(test.DayCount, ACT_360); assertEquals(test.DefaultFixedLegDayCount, ACT_360); assertEquals(test.FloatingRateName, FloatingRateName.of("USD-LIBOR")); assertEquals(test.ToString(), "USD-LIBOR-3M"); }
public virtual void test_sgd_sibor() { HolidayCalendarId SGSI = HolidayCalendarId.of("SGSI"); IborIndex test = IborIndex.of("SGD-SIBOR-3M"); assertEquals(test.Currency, SGD); assertEquals(test.Name, "SGD-SIBOR-3M"); assertEquals(test.Tenor, TENOR_3M); assertEquals(test.FixingCalendar, SGSI); assertEquals(test.FixingDateOffset, DaysAdjustment.ofBusinessDays(-2, SGSI)); assertEquals(test.EffectiveDateOffset, DaysAdjustment.ofBusinessDays(2, SGSI)); assertEquals(test.MaturityDateOffset, TenorAdjustment.of(TENOR_3M, PeriodAdditionConventions.NONE, BusinessDayAdjustment.of(MODIFIED_FOLLOWING, SGSI))); assertEquals(test.DayCount, ACT_365F); assertEquals(test.DefaultFixedLegDayCount, ACT_365F); assertEquals(test.ToString(), "SGD-SIBOR-3M"); }
private static readonly HolidayCalendarId NZBD = HolidayCalendarId.of("NZBD"); // no constant for this public virtual void test_gbpLibor3m() { IborIndex test = IborIndex.of("GBP-LIBOR-3M"); assertEquals(test.Name, "GBP-LIBOR-3M"); assertEquals(test.Currency, GBP); assertEquals(test.Active, true); assertEquals(test.Tenor, TENOR_3M); assertEquals(test.FixingCalendar, GBLO); assertEquals(test.FixingDateOffset, DaysAdjustment.ofCalendarDays(0, BusinessDayAdjustment.of(PRECEDING, GBLO))); assertEquals(test.EffectiveDateOffset, DaysAdjustment.ofCalendarDays(0, BusinessDayAdjustment.of(FOLLOWING, GBLO))); assertEquals(test.MaturityDateOffset, TenorAdjustment.ofLastBusinessDay(TENOR_3M, BusinessDayAdjustment.of(MODIFIED_FOLLOWING, GBLO))); assertEquals(test.DayCount, ACT_365F); assertEquals(test.DefaultFixedLegDayCount, ACT_365F); assertEquals(test.FloatingRateName, FloatingRateName.of("GBP-LIBOR")); assertEquals(test.ToString(), "GBP-LIBOR-3M"); }
public virtual void test_krw_cd() { HolidayCalendarId KRSE = HolidayCalendarId.of("KRSE"); IborIndex test = IborIndex.of("KRW-CD-13W"); assertEquals(test.Currency, KRW); assertEquals(test.Name, "KRW-CD-13W"); assertEquals(test.Tenor, TENOR_13W); assertEquals(test.FixingCalendar, KRSE); assertEquals(test.FixingDateOffset, DaysAdjustment.ofBusinessDays(-1, KRSE)); assertEquals(test.EffectiveDateOffset, DaysAdjustment.ofBusinessDays(1, KRSE)); assertEquals(test.MaturityDateOffset, TenorAdjustment.of(TENOR_13W, PeriodAdditionConventions.NONE, BusinessDayAdjustment.of(FOLLOWING, KRSE))); assertEquals(test.DayCount, ACT_365F); assertEquals(test.DefaultFixedLegDayCount, ACT_365F); assertEquals(test.ToString(), "KRW-CD-13W"); IborIndex test2 = IborIndex.of("KRW-CD-3M"); assertEquals(test2.Name, "KRW-CD-13W"); }
public virtual void test_euribor3m_dates() { IborIndex test = IborIndex.of("EUR-EURIBOR-3M"); assertEquals(test.calculateEffectiveFromFixing(date(2014, 10, 27), REF_DATA), date(2014, 10, 29)); assertEquals(test.calculateMaturityFromFixing(date(2014, 10, 27), REF_DATA), date(2015, 1, 29)); assertEquals(test.calculateFixingFromEffective(date(2014, 10, 29), REF_DATA), date(2014, 10, 27)); assertEquals(test.calculateMaturityFromEffective(date(2014, 10, 29), REF_DATA), date(2015, 1, 29)); // weekend assertEquals(test.calculateEffectiveFromFixing(date(2014, 10, 10), REF_DATA), date(2014, 10, 14)); assertEquals(test.calculateMaturityFromFixing(date(2014, 10, 10), REF_DATA), date(2015, 1, 14)); assertEquals(test.calculateFixingFromEffective(date(2014, 10, 14), REF_DATA), date(2014, 10, 10)); assertEquals(test.calculateMaturityFromEffective(date(2014, 10, 14), REF_DATA), date(2015, 1, 14)); // input date is Sunday assertEquals(test.calculateEffectiveFromFixing(date(2014, 10, 12), REF_DATA), date(2014, 10, 15)); assertEquals(test.calculateMaturityFromFixing(date(2014, 10, 12), REF_DATA), date(2015, 1, 15)); assertEquals(test.calculateFixingFromEffective(date(2014, 10, 12), REF_DATA), date(2014, 10, 9)); assertEquals(test.calculateMaturityFromEffective(date(2014, 10, 12), REF_DATA), date(2015, 1, 13)); // fixing time and zone assertEquals(test.calculateFixingDateTime(date(2014, 10, 13)), date(2014, 10, 13).atTime(LocalTime.of(11, 0)).atZone(ZoneId.of("Europe/Brussels"))); }
public virtual void test_tibor_euroyen3m_dates() { IborIndex test = IborIndex.of("JPY-TIBOR-EUROYEN-3M"); assertEquals(test.calculateEffectiveFromFixing(date(2014, 10, 27), REF_DATA), date(2014, 10, 29)); assertEquals(test.calculateMaturityFromFixing(date(2014, 10, 27), REF_DATA), date(2015, 1, 29)); assertEquals(test.calculateFixingFromEffective(date(2014, 10, 29), REF_DATA), date(2014, 10, 27)); assertEquals(test.calculateMaturityFromEffective(date(2014, 10, 29), REF_DATA), date(2015, 1, 29)); // weekend assertEquals(test.calculateEffectiveFromFixing(date(2014, 10, 10), REF_DATA), date(2014, 10, 15)); assertEquals(test.calculateMaturityFromFixing(date(2014, 10, 10), REF_DATA), date(2015, 1, 15)); assertEquals(test.calculateFixingFromEffective(date(2014, 10, 15), REF_DATA), date(2014, 10, 10)); assertEquals(test.calculateMaturityFromEffective(date(2014, 10, 15), REF_DATA), date(2015, 1, 15)); // input date is Sunday assertEquals(test.calculateEffectiveFromFixing(date(2014, 10, 12), REF_DATA), date(2014, 10, 16)); assertEquals(test.calculateMaturityFromFixing(date(2014, 10, 12), REF_DATA), date(2015, 1, 16)); assertEquals(test.calculateFixingFromEffective(date(2014, 10, 12), REF_DATA), date(2014, 10, 9)); assertEquals(test.calculateMaturityFromEffective(date(2014, 10, 12), REF_DATA), date(2015, 1, 14)); // fixing time and zone assertEquals(test.calculateFixingDateTime(date(2014, 10, 13)), date(2014, 10, 13).atTime(LocalTime.of(11, 50)).atZone(ZoneId.of("Asia/Tokyo"))); }
public virtual void test_gbpLibor3m_dates() { IborIndex test = IborIndex.of("GBP-LIBOR-3M"); assertEquals(test.calculateEffectiveFromFixing(date(2014, 10, 13), REF_DATA), date(2014, 10, 13)); assertEquals(test.calculateMaturityFromFixing(date(2014, 10, 13), REF_DATA), date(2015, 1, 13)); assertEquals(test.calculateFixingFromEffective(date(2014, 10, 13), REF_DATA), date(2014, 10, 13)); assertEquals(test.calculateMaturityFromEffective(date(2014, 10, 13), REF_DATA), date(2015, 1, 13)); // weekend assertEquals(test.calculateEffectiveFromFixing(date(2014, 10, 10), REF_DATA), date(2014, 10, 10)); assertEquals(test.calculateMaturityFromFixing(date(2014, 10, 10), REF_DATA), date(2015, 1, 12)); assertEquals(test.calculateFixingFromEffective(date(2014, 10, 10), REF_DATA), date(2014, 10, 10)); assertEquals(test.calculateMaturityFromEffective(date(2014, 10, 10), REF_DATA), date(2015, 1, 12)); // input date is Sunday assertEquals(test.calculateEffectiveFromFixing(date(2014, 10, 12), REF_DATA), date(2014, 10, 13)); assertEquals(test.calculateMaturityFromFixing(date(2014, 10, 12), REF_DATA), date(2015, 1, 13)); assertEquals(test.calculateFixingFromEffective(date(2014, 10, 12), REF_DATA), date(2014, 10, 13)); assertEquals(test.calculateMaturityFromEffective(date(2014, 10, 12), REF_DATA), date(2015, 1, 13)); // fixing time and zone assertEquals(test.calculateFixingDateTime(date(2014, 10, 13)), date(2014, 10, 13).atTime(LocalTime.of(11, 0)).atZone(ZoneId.of("Europe/London"))); // resolve assertEquals(test.resolve(REF_DATA).apply(date(2014, 10, 13)), IborIndexObservation.of(test, date(2014, 10, 13), REF_DATA)); }
// an Ibor stub private static Optional <IborRateStubCalculation> parseIborStub(CsvRow row, string leg, Currency currency, IborRateCalculation.Builder builder, string rateField, string amountField, string indexField, string interpolatedField) { double?stubRateOpt = findValue(row, leg, rateField).map(s => LoaderUtils.parseDoublePercent(s)); double?stubAmountOpt = findValue(row, leg, amountField).map(s => LoaderUtils.parseDouble(s)); Optional <IborIndex> stubIndexOpt = findValue(row, leg, indexField).map(s => IborIndex.of(s)); Optional <IborIndex> stubIndex2Opt = findValue(row, leg, interpolatedField).map(s => IborIndex.of(s)); if (stubRateOpt.HasValue && !stubAmountOpt.HasValue && !stubIndexOpt.Present && !stubIndex2Opt.Present) { return(IborRateStubCalculation.ofFixedRate(stubRateOpt.Value)); } else if (!stubRateOpt.HasValue && stubAmountOpt.HasValue && !stubIndexOpt.Present && !stubIndex2Opt.Present) { return(IborRateStubCalculation.ofKnownAmount(CurrencyAmount.of(currency, stubAmountOpt.Value))); } else if (!stubRateOpt.HasValue && !stubAmountOpt.HasValue && stubIndexOpt.Present) { if (stubIndex2Opt.Present) { return(IborRateStubCalculation.ofIborInterpolatedRate(stubIndexOpt.get(), stubIndex2Opt.get())); } else { return(IborRateStubCalculation.ofIborRate(stubIndexOpt.get())); } } else if (stubRateOpt.HasValue || stubAmountOpt.HasValue || stubIndexOpt.Present || stubIndex2Opt.Present) { throw new System.ArgumentException("Swap leg must define only one of the following fields " + ImmutableList.of(leg + rateField, leg + amountField, leg + indexField) + ", and '" + leg + interpolatedField + "' is only allowed with '" + leg + indexField + "'"); } return(null); }
public virtual void test_of_lookup_null() { assertThrowsIllegalArg(() => IborIndex.of(null)); }
public virtual void test_of_lookup_notFound() { assertThrowsIllegalArg(() => IborIndex.of("Rubbish")); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test(dataProvider = "name") public void test_of_lookup(IborIndex convention, String name) public virtual void test_of_lookup(IborIndex convention, string name) { assertEquals(IborIndex.of(name), convention); }