//------------------------------------------------------------------------- // proper end-to-end tests are elsewhere public virtual void test_parameterSensitivity() { DiscountIborIndexRates test = DiscountIborIndexRates.of(GBP_LIBOR_3M, DFCURVE, SERIES); IborRateSensitivity point = IborRateSensitivity.of(GBP_LIBOR_3M_AFTER, GBP, 1d); assertEquals(test.parameterSensitivity(point).size(), 1); }
public virtual void test_rateIgnoringFixingsPointSensitivity_onValuation() { DiscountIborIndexRates test = DiscountIborIndexRates.of(GBP_LIBOR_3M, DFCURVE, SERIES); IborRateSensitivity expected = IborRateSensitivity.of(GBP_LIBOR_3M_VAL, 1d); assertEquals(test.rateIgnoringFixingsPointSensitivity(GBP_LIBOR_3M_VAL), expected); }
public virtual void test_ratePointSensitivity_afterValuation() { DiscountIborIndexRates test = DiscountIborIndexRates.of(GBP_LIBOR_3M, DFCURVE, SERIES); IborRateSensitivity expected = IborRateSensitivity.of(GBP_LIBOR_3M_AFTER, 1d); assertEquals(test.ratePointSensitivity(GBP_LIBOR_3M_AFTER), expected); }
//------------------------------------------------------------------------- public virtual void test_ratePointSensitivity_fixing() { DiscountIborIndexRates test = DiscountIborIndexRates.of(GBP_LIBOR_3M, DFCURVE, SERIES); assertEquals(test.ratePointSensitivity(GBP_LIBOR_3M_BEFORE), PointSensitivityBuilder.none()); assertEquals(test.ratePointSensitivity(GBP_LIBOR_3M_VAL), PointSensitivityBuilder.none()); }
//------------------------------------------------------------------------- public virtual void test_createParameterSensitivity() { DiscountIborIndexRates test = DiscountIborIndexRates.of(GBP_LIBOR_3M, DFCURVE, SERIES); DoubleArray sensitivities = DoubleArray.of(0.12, 0.15); CurrencyParameterSensitivities sens = test.createParameterSensitivity(USD, sensitivities); assertEquals(sens.Sensitivities.get(0), CURVE.createParameterSensitivity(USD, sensitivities)); }
//------------------------------------------------------------------------- public virtual void coverage() { DiscountIborIndexRates test = DiscountIborIndexRates.of(GBP_LIBOR_3M, DFCURVE, SERIES); coverImmutableBean(test); DiscountIborIndexRates test2 = DiscountIborIndexRates.of(USD_LIBOR_3M, DFCURVE2, SERIES_EMPTY); coverBeanEquals(test, test2); }
public virtual void test_of_withFixings() { DiscountIborIndexRates test = DiscountIborIndexRates.of(GBP_LIBOR_3M, DFCURVE, SERIES); assertEquals(test.Index, GBP_LIBOR_3M); assertEquals(test.ValuationDate, DATE_VAL); assertEquals(test.Fixings, SERIES); assertEquals(test.DiscountFactors, DFCURVE); }
public virtual void test_rate_afterValuation() { DiscountIborIndexRates test = DiscountIborIndexRates.of(GBP_LIBOR_3M, DFCURVE, SERIES); LocalDate startDate = GBP_LIBOR_3M_AFTER.EffectiveDate; LocalDate endDate = GBP_LIBOR_3M_AFTER.MaturityDate; double accrualFactor = GBP_LIBOR_3M_AFTER.YearFraction; double expected = (DFCURVE.discountFactor(startDate) / DFCURVE.discountFactor(endDate) - 1) / accrualFactor; assertEquals(test.rate(GBP_LIBOR_3M_AFTER), expected, TOLERANCE_RATE); }
public virtual void test_rateIgnoringFixings_onValuation_fixing() { DiscountIborIndexRates test = DiscountIborIndexRates.of(GBP_LIBOR_3M, DFCURVE, SERIES); LocalDate startDate = GBP_LIBOR_3M_VAL.EffectiveDate; LocalDate endDate = GBP_LIBOR_3M_VAL.MaturityDate; double accrualFactor = GBP_LIBOR_3M_VAL.YearFraction; double expected = (DFCURVE.discountFactor(startDate) / DFCURVE.discountFactor(endDate) - 1) / accrualFactor; assertEquals(test.rateIgnoringFixings(GBP_LIBOR_3M_VAL), expected, TOLERANCE_RATE); }
//----------------------------------------------------------------------- public override bool Equals(object obj) { if (obj == this) { return(true); } if (obj != null && obj.GetType() == this.GetType()) { DiscountIborIndexRates other = (DiscountIborIndexRates)obj; return(JodaBeanUtils.equal(index, other.index) && JodaBeanUtils.equal(discountFactors, other.discountFactors) && JodaBeanUtils.equal(fixings, other.fixings)); } return(false); }
//------------------------------------------------------------------------- public virtual void test_of_withoutFixings() { DiscountIborIndexRates test = DiscountIborIndexRates.of(GBP_LIBOR_3M, DFCURVE); assertEquals(test.Index, GBP_LIBOR_3M); assertEquals(test.ValuationDate, DATE_VAL); assertEquals(test.Fixings, SERIES_EMPTY); assertEquals(test.DiscountFactors, DFCURVE); assertEquals(test.DiscountFactors, DFCURVE); assertEquals(test.ParameterCount, DFCURVE.ParameterCount); assertEquals(test.getParameter(0), DFCURVE.getParameter(0)); assertEquals(test.getParameterMetadata(0), DFCURVE.getParameterMetadata(0)); assertEquals(test.withParameter(0, 1d).DiscountFactors, DFCURVE.withParameter(0, 1d)); assertEquals(test.withPerturbation((i, v, m) => v + 1d).DiscountFactors, DFCURVE.withPerturbation((i, v, m) => v + 1d)); assertEquals(test.findData(CURVE.Name), CURVE); assertEquals(test.findData(CurveName.of("Rubbish")), null); // check IborIndexRates IborIndexRates test2 = IborIndexRates.of(GBP_LIBOR_3M, DATE_VAL, CURVE); assertEquals(test, test2); }
public virtual void test_rate_onValuation_fixing() { DiscountIborIndexRates test = DiscountIborIndexRates.of(GBP_LIBOR_3M, DFCURVE, SERIES); assertEquals(test.rate(GBP_LIBOR_3M_VAL), RATE_VAL); }
public virtual void test_rate_beforeValuation_noFixing_notEmptySeries() { DiscountIborIndexRates test = DiscountIborIndexRates.of(GBP_LIBOR_3M, DFCURVE, SERIES_MINIMAL); assertThrowsIllegalArg(() => test.rate(GBP_LIBOR_3M_BEFORE)); }