/** * Gets the currency of the Ibor index. * * @return the currency of the index */ public Currency getCurrency() { return index.getCurrency(); }
/** * Gets the leg currency, optional with defaulting getter. * <p> * This is the currency of the swap leg and the currency that payment is made in. * The data model permits this currency to differ from that of the index, * however the two are typically the same. * <p> * This will default to the currency of the index if not specified. * * @return the start date business day adjustment, not null */ public Currency getCurrency() { return currency != null ? currency : index.getCurrency(); }
/** * Gets the primary currency, * providing a default result if no override specified. * <p> * This is the currency of the FRA and the currency that payment is made in. * The data model permits this currency to differ from that of the index, * however the two are typically the same. * <p> * This will default to the currency of the index if not specified. * * @return the currency, not null */ public Currency getCurrency() { return currency != null ? currency : index.getCurrency(); }
/** * Gets the currency of the Ibor index. * * @return the currency of the index */ public Currency getCurrency() { return getIndex().getCurrency(); }
@Override @DerivedProperty public Currency getCurrency() { return index.getCurrency(); }
void collectCurrencies(ImmutableSet.Builder<Currency> builder) { getKnownAmount().ifPresent(amt -> builder.add(amt.getCurrency())); getIndex().ifPresent(idx -> builder.add(idx.getCurrency())); getIndexInterpolated().ifPresent(idx -> builder.add(idx.getCurrency())); }
/** * Obtains an instance from the observation and sensitivity value. * <p> * The currency is defaulted from the index. * * @param observation the rate observation, including the fixing date * @param sensitivity the value of the sensitivity * @return the point sensitivity object */ public static IborRateSensitivity of(IborIndexObservation observation, double sensitivity) { return new IborRateSensitivity(observation, observation.getIndex().getCurrency(), sensitivity); }
@Override public void collectCurrencies(ImmutableSet.Builder<Currency> builder) { builder.add(index.getCurrency()); getInitialStub().ifPresent(stub -> stub.collectCurrencies(builder)); getFinalStub().ifPresent(stub -> stub.collectCurrencies(builder)); }
@ImmutablePreBuild private static void preBuild(Builder builder) { if (builder.index != null) { if (builder.dayCount == null) { builder.dayCount = builder.index.getDayCount(); } if (builder.fixingDateOffset == null) { builder.fixingDateOffset = builder.index.getFixingDateOffset(); } if (builder.currency == null) { builder.currency = builder.index.getCurrency(); } } }
public void test_pln_wibor() { IborIndex test = IborIndex.of("PLN-WIBOR-3M"); assertEquals(test.getCurrency(), PLN); assertEquals(test.getName(), "PLN-WIBOR-3M"); assertEquals(test.getTenor(), TENOR_3M); assertEquals(test.getFixingCalendar(), PLWA); assertEquals(test.getFixingDateOffset(), DaysAdjustment.ofBusinessDays(-2, PLWA)); assertEquals(test.getEffectiveDateOffset(), DaysAdjustment.ofBusinessDays(2, PLWA)); assertEquals(test.getMaturityDateOffset(), TenorAdjustment.of(TENOR_3M, PeriodAdditionConventions.NONE, BusinessDayAdjustment.of(MODIFIED_FOLLOWING, PLWA))); assertEquals(test.getDayCount(), ACT_365F); assertEquals(test.getDefaultFixedLegDayCount(), ACT_ACT_ISDA); assertEquals(test.toString(), "PLN-WIBOR-3M"); }
@ImmutablePreBuild private static void preBuild(Builder builder) { if (builder.index != null) { if (builder.accrualFactor == 0d && builder.index.getTenor().isMonthBased()) { builder.accrualFactor(builder.index.getTenor().getPeriod().toTotalMonths() / 12d); } if (builder.currency == null) { builder.currency = builder.index.getCurrency(); } } }
public void test_dkk_cibor() { IborIndex test = IborIndex.of("DKK-CIBOR-3M"); assertEquals(test.getCurrency(), DKK); assertEquals(test.getName(), "DKK-CIBOR-3M"); assertEquals(test.getTenor(), TENOR_3M); assertEquals(test.getFixingCalendar(), DKCO); assertEquals(test.getFixingDateOffset(), DaysAdjustment.ofBusinessDays(-2, DKCO)); assertEquals(test.getEffectiveDateOffset(), DaysAdjustment.ofBusinessDays(2, DKCO)); assertEquals(test.getMaturityDateOffset(), TenorAdjustment.of(TENOR_3M, PeriodAdditionConventions.NONE, BusinessDayAdjustment.of(MODIFIED_FOLLOWING, DKCO))); assertEquals(test.getDayCount(), ACT_360); assertEquals(test.getDefaultFixedLegDayCount(), THIRTY_U_360); assertEquals(test.toString(), "DKK-CIBOR-3M"); }
public void test_huf_bubor() { IborIndex test = IborIndex.of("HUF-BUBOR-3M"); assertEquals(test.getCurrency(), HUF); assertEquals(test.getName(), "HUF-BUBOR-3M"); assertEquals(test.getTenor(), TENOR_3M); assertEquals(test.getFixingCalendar(), HUBU); assertEquals(test.getFixingDateOffset(), DaysAdjustment.ofBusinessDays(-2, HUBU)); assertEquals(test.getEffectiveDateOffset(), DaysAdjustment.ofBusinessDays(2, HUBU)); assertEquals(test.getMaturityDateOffset(), TenorAdjustment.of(TENOR_3M, PeriodAdditionConventions.NONE, BusinessDayAdjustment.of(MODIFIED_FOLLOWING, HUBU))); assertEquals(test.getDayCount(), ACT_360); assertEquals(test.getDefaultFixedLegDayCount(), ACT_365F); assertEquals(test.toString(), "HUF-BUBOR-3M"); }
public void test_mxn_tiie() { IborIndex test = IborIndex.of("MXN-TIIE-4W"); assertEquals(test.getCurrency(), MXN); assertEquals(test.getName(), "MXN-TIIE-4W"); assertEquals(test.getTenor(), TENOR_4W); assertEquals(test.getFixingCalendar(), MXMC); assertEquals(test.getFixingDateOffset(), DaysAdjustment.ofBusinessDays(-1, MXMC)); assertEquals(test.getEffectiveDateOffset(), DaysAdjustment.ofBusinessDays(1, MXMC)); assertEquals(test.getMaturityDateOffset(), TenorAdjustment.of(TENOR_4W, PeriodAdditionConventions.NONE, BusinessDayAdjustment.of(FOLLOWING, MXMC))); assertEquals(test.getDayCount(), ACT_360); assertEquals(test.getDefaultFixedLegDayCount(), ACT_360); assertEquals(test.toString(), "MXN-TIIE-4W"); }
public void test_bbsw4m() { IborIndex test = IborIndex.of("AUD-BBSW-4M"); assertEquals(test.getCurrency(), AUD); assertEquals(test.getName(), "AUD-BBSW-4M"); assertEquals(test.getTenor(), TENOR_4M); assertEquals(test.getFixingCalendar(), AUSY); assertEquals(test.getFixingDateOffset(), DaysAdjustment.ofBusinessDays(-1, AUSY)); assertEquals(test.getEffectiveDateOffset(), DaysAdjustment.ofBusinessDays(1, AUSY)); assertEquals(test.getMaturityDateOffset(), TenorAdjustment.of( TENOR_4M, PeriodAdditionConventions.NONE, BusinessDayAdjustment.of(MODIFIED_FOLLOWING_BI_MONTHLY, AUSY))); assertEquals(test.getDayCount(), ACT_365F); assertEquals(test.toString(), "AUD-BBSW-4M"); }
public void test_tibor_japan3m() { IborIndex test = IborIndex.of("JPY-TIBOR-JAPAN-3M"); assertEquals(test.getCurrency(), JPY); assertEquals(test.getName(), "JPY-TIBOR-JAPAN-3M"); assertEquals(test.getTenor(), TENOR_3M); assertEquals(test.getFixingCalendar(), JPTO); assertEquals(test.getFixingDateOffset(), DaysAdjustment.ofBusinessDays(-2, JPTO)); assertEquals(test.getEffectiveDateOffset(), DaysAdjustment.ofBusinessDays(2, JPTO)); assertEquals(test.getMaturityDateOffset(), TenorAdjustment.ofLastBusinessDay(TENOR_3M, BusinessDayAdjustment.of(MODIFIED_FOLLOWING, JPTO))); assertEquals(test.getDayCount(), ACT_365F); assertEquals(test.getDefaultFixedLegDayCount(), ACT_365F); assertEquals(test.getFloatingRateName(), FloatingRateName.of("JPY-TIBOR-JAPAN")); assertEquals(test.toString(), "JPY-TIBOR-JAPAN-3M"); }
public void test_tibor_euroyen3m() { IborIndex test = IborIndex.of("JPY-TIBOR-EUROYEN-3M"); assertEquals(test.getCurrency(), JPY); assertEquals(test.getName(), "JPY-TIBOR-EUROYEN-3M"); assertEquals(test.getTenor(), TENOR_3M); assertEquals(test.getFixingCalendar(), JPTO); assertEquals(test.getFixingDateOffset(), DaysAdjustment.ofBusinessDays(-2, JPTO)); assertEquals(test.getEffectiveDateOffset(), DaysAdjustment.ofBusinessDays(2, JPTO)); assertEquals(test.getMaturityDateOffset(), TenorAdjustment.ofLastBusinessDay(TENOR_3M, BusinessDayAdjustment.of(MODIFIED_FOLLOWING, JPTO))); assertEquals(test.getDayCount(), ACT_360); assertEquals(test.getDefaultFixedLegDayCount(), ACT_365F); assertEquals(test.getFloatingRateName(), FloatingRateName.of("JPY-TIBOR-EUROYEN")); assertEquals(test.toString(), "JPY-TIBOR-EUROYEN-3M"); }
public void test_of_indexOnly() { ImmutableIborFixingDepositConvention test = ImmutableIborFixingDepositConvention.of(GBP_LIBOR_6M); assertEquals(test.getBusinessDayAdjustment(), BusinessDayAdjustment.of(MODIFIED_FOLLOWING, GBP_LIBOR_6M.getFixingCalendar())); assertEquals(test.getCurrency(), GBP_LIBOR_6M.getCurrency()); assertEquals(test.getDayCount(), GBP_LIBOR_6M.getDayCount()); assertEquals(test.getFixingDateOffset(), GBP_LIBOR_6M.getFixingDateOffset()); assertEquals(test.getIndex(), GBP_LIBOR_6M); assertEquals(test.getSpotDateOffset(), GBP_LIBOR_6M.getEffectiveDateOffset()); }
public void test_builder_indexOnly() { ImmutableIborFixingDepositConvention test = ImmutableIborFixingDepositConvention.builder() .index(GBP_LIBOR_6M) .build(); assertEquals(test.getBusinessDayAdjustment(), BusinessDayAdjustment.of(MODIFIED_FOLLOWING, GBP_LIBOR_6M.getFixingCalendar())); assertEquals(test.getCurrency(), GBP_LIBOR_6M.getCurrency()); assertEquals(test.getDayCount(), GBP_LIBOR_6M.getDayCount()); assertEquals(test.getFixingDateOffset(), GBP_LIBOR_6M.getFixingDateOffset()); assertEquals(test.getIndex(), GBP_LIBOR_6M); assertEquals(test.getSpotDateOffset(), GBP_LIBOR_6M.getEffectiveDateOffset()); }
@ImmutablePreBuild private static void preBuild(Builder builder) { if (builder.iborRate != null) { if (builder.accrualFactor == 0d && builder.iborRate.getIndex().getTenor().isMonthBased()) { builder.accrualFactor(builder.iborRate.getIndex().getTenor().getPeriod().toTotalMonths() / 12d); } if (builder.currency == null) { builder.currency = builder.iborRate.getIndex().getCurrency(); } } }