Esempio n. 1
0
        //-------------------------------------------------------------------------
        // 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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        //-------------------------------------------------------------------------
        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());
        }
Esempio n. 5
0
        //-------------------------------------------------------------------------
        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));
        }
Esempio n. 6
0
        //-------------------------------------------------------------------------
        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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        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);
 }
Esempio n. 11
0
        //-------------------------------------------------------------------------
        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);
        }
Esempio n. 12
0
        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);
        }
Esempio n. 13
0
        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));
        }