コード例 #1
0
        //-------------------------------------------------------------------------
        public virtual void test_buildInto()
        {
            FxIndexSensitivity        @base = FxIndexSensitivity.of(GBP_USD_WM_OBS, USD, GBP, SENSITIVITY_VALUE);
            MutablePointSensitivities combo = new MutablePointSensitivities();
            MutablePointSensitivities test  = @base.buildInto(combo);

            assertSame(test, combo);
            assertEquals(test.Sensitivities, ImmutableList.of(@base));
        }
コード例 #2
0
        public virtual void test_buildInto()
        {
            FxOptionSensitivity       @base = FxOptionSensitivity.of(NAME, PAIR, EXPIRY, STRIKE, FORWARD, GBP, SENSI_VALUE);
            MutablePointSensitivities combo = new MutablePointSensitivities();
            MutablePointSensitivities test  = @base.buildInto(combo);

            assertSame(test, combo);
            assertEquals(test.Sensitivities, ImmutableList.of(@base));
        }
        //-------------------------------------------------------------------------
        public virtual void test_buildInto()
        {
            IborCapletFloorletSensitivity @base = IborCapletFloorletSensitivity.of(NAME, EXPIRY, STRIKE, FORWARD, GBP, SENSITIVITY);
            MutablePointSensitivities     combo = new MutablePointSensitivities();
            MutablePointSensitivities     test  = @base.buildInto(combo);

            assertSame(test, combo);
            assertEquals(test.Sensitivities, ImmutableList.of(@base));
        }
コード例 #4
0
        //-------------------------------------------------------------------------
        public virtual void test_buildInto()
        {
            InflationRateSensitivity  @base = InflationRateSensitivity.of(GB_HICP_OBS, 3.5);
            MutablePointSensitivities combo = new MutablePointSensitivities();
            MutablePointSensitivities test  = @base.buildInto(combo);

            assertEquals(test, combo);
            assertEquals(test.Sensitivities, ImmutableList.of(@base));
        }
コード例 #5
0
        //-------------------------------------------------------------------------
        public virtual void test_buildInto()
        {
            PointSensitivityBuilder   @base = PointSensitivityBuilder.none();
            MutablePointSensitivities combo = new MutablePointSensitivities();
            MutablePointSensitivities test  = @base.buildInto(combo);

            assertSame(test, combo);
            assertEquals(test.Sensitivities, ImmutableList.of());
        }
コード例 #6
0
        //-------------------------------------------------------------------------
        public virtual void test_buildInto()
        {
            SwaptionSensitivity       @base = SwaptionSensitivity.of(NAME, EXPIRY, TENOR, STRIKE, FORWARD, GBP, 32d);
            MutablePointSensitivities combo = new MutablePointSensitivities();
            MutablePointSensitivities test  = @base.buildInto(combo);

            assertSame(test, combo);
            assertEquals(test.Sensitivities, ImmutableList.of(@base));
        }
コード例 #7
0
        public virtual void test_builder_validFull()
        {
            ValueStepSequence seq  = ValueStepSequence.of(date(2016, 4, 20), date(2016, 10, 20), Frequency.P3M, ValueAdjustment.ofDeltaAmount(-100));
            ValueSchedule     test = ValueSchedule.builder().initialValue(2000d).steps(STEP1, STEP2).stepSequence(seq).build();

            assertEquals(test.InitialValue, 2000d, TOLERANCE);
            assertEquals(test.Steps, ImmutableList.of(STEP1, STEP2));
            assertEquals(test.StepSequence, seq);
        }
コード例 #8
0
        public virtual void test_of_sequence()
        {
            ValueStepSequence seq  = ValueStepSequence.of(date(2016, 4, 20), date(2016, 10, 20), Frequency.P3M, ValueAdjustment.ofDeltaAmount(-100));
            ValueSchedule     test = ValueSchedule.of(10000d, seq);

            assertEquals(test.InitialValue, 10000d, TOLERANCE);
            assertEquals(test.Steps, ImmutableList.of());
            assertEquals(test.StepSequence, seq);
        }
コード例 #9
0
        //-------------------------------------------------------------------------
        public virtual void test_buildInto()
        {
            CreditCurveZeroRateSensitivity @base = CreditCurveZeroRateSensitivity.of(LEGAL_ENTITY, GBP, YEAR_FRACTION, 32d);
            MutablePointSensitivities      combo = new MutablePointSensitivities();
            MutablePointSensitivities      test  = @base.buildInto(combo);

            assertSame(test, combo);
            assertEquals(test.Sensitivities, ImmutableList.of(@base));
        }
コード例 #10
0
        //-------------------------------------------------------------------------
        public virtual void test_buildInto()
        {
            IborFutureOptionSensitivity @base = IborFutureOptionSensitivity.of(NAME, 12d, date(2015, 8, 28), 0.98, 0.99, GBP, 32d);
            MutablePointSensitivities   combo = new MutablePointSensitivities();
            MutablePointSensitivities   test  = @base.buildInto(combo);

            assertSame(test, combo);
            assertEquals(test.Sensitivities, ImmutableList.of(@base));
        }
コード例 #11
0
        //-------------------------------------------------------------------------
        public virtual void test_buildInto()
        {
            IborCapletFloorletSabrSensitivity @base = IborCapletFloorletSabrSensitivity.of(NAME, EXPIRY, SabrParameterType.ALPHA, GBP, 32d);
            MutablePointSensitivities         combo = new MutablePointSensitivities();
            MutablePointSensitivities         test  = @base.buildInto(combo);

            assertSame(test, combo);
            assertEquals(test.Sensitivities, ImmutableList.of(@base));
        }
コード例 #12
0
        public virtual void test_toUnadjusted()
        {
            SchedulePeriod a        = SchedulePeriod.of(JUL_17, OCT_17, JUL_16, OCT_15);
            SchedulePeriod b        = SchedulePeriod.of(JUL_16, OCT_15, JUL_16, OCT_15);
            Schedule       test     = Schedule.builder().periods(ImmutableList.of(a)).frequency(P1M).rollConvention(DAY_17).build().toUnadjusted();
            Schedule       expected = Schedule.builder().periods(ImmutableList.of(b)).frequency(P1M).rollConvention(DAY_17).build();

            assertEquals(test, expected);
        }
コード例 #13
0
        public virtual void test_merge_size1_stub()
        {
            Schedule test = Schedule.builder().periods(ImmutableList.of(P1_STUB)).frequency(P1M).rollConvention(DAY_17).build();

            assertEquals(test.mergeRegular(2, true), test);
            assertEquals(test.mergeRegular(2, false), test);
            assertEquals(test.merge(2, P1_STUB.UnadjustedStartDate, P1_STUB.UnadjustedEndDate), test);
            assertEquals(test.merge(2, P1_STUB.StartDate, P1_STUB.EndDate), test);
        }
コード例 #14
0
        public virtual void test_merge_groupSizeOneNoChange()
        {
            Schedule test = Schedule.builder().periods(ImmutableList.of(P2_NORMAL, P3_NORMAL, P4_NORMAL, P5_NORMAL, P6_NORMAL)).frequency(P1M).rollConvention(DAY_17).build();

            assertEquals(test.mergeRegular(1, true), test);
            assertEquals(test.mergeRegular(1, false), test);
            assertEquals(test.merge(1, P2_NORMAL.UnadjustedStartDate, P6_NORMAL.UnadjustedEndDate), test);
            assertEquals(test.merge(1, P2_NORMAL.StartDate, P6_NORMAL.EndDate), test);
        }
コード例 #15
0
 static IsdaHomogenousCdsIndexTradePricerTest()
 {
     ImmutableList.Builder <StandardId> builder = ImmutableList.builder();
     for (int i = 0; i < 97; ++i)
     {
         builder.add(StandardId.of("OG", i.ToString()));
     }
     LEGAL_ENTITIES = builder.build();
 }
コード例 #16
0
        public virtual void test_merge_group3_within5_backwards()
        {
            Schedule test     = Schedule.builder().periods(ImmutableList.of(P2_NORMAL, P3_NORMAL, P4_NORMAL, P5_NORMAL, P6_NORMAL)).frequency(P1M).rollConvention(DAY_17).build();
            Schedule expected = Schedule.builder().periods(ImmutableList.of(P2_3, P4_6)).frequency(P3M).rollConvention(DAY_17).build();

            assertEquals(test.mergeRegular(3, false), expected);
            assertEquals(test.merge(3, P4_NORMAL.UnadjustedStartDate, P6_NORMAL.UnadjustedEndDate), expected);
            assertEquals(test.merge(3, P4_NORMAL.StartDate, P6_NORMAL.EndDate), expected);
        }
コード例 #17
0
        //-------------------------------------------------------------------------
        public virtual void test_buildInto()
        {
            ZeroRateSensitivity       @base = ZeroRateSensitivity.of(GBP, YEARFRAC, 32d);
            MutablePointSensitivities combo = new MutablePointSensitivities();
            MutablePointSensitivities test  = @base.buildInto(combo);

            assertSame(test, combo);
            assertEquals(test.Sensitivities, ImmutableList.of(@base));
        }
コード例 #18
0
        //-------------------------------------------------------------------------
        public virtual void test_buildInto()
        {
            IborRateSensitivity       @base = IborRateSensitivity.of(GBP_LIBOR_3M_OBSERVATION, 32d);
            MutablePointSensitivities combo = new MutablePointSensitivities();
            MutablePointSensitivities test  = @base.buildInto(combo);

            assertSame(test, combo);
            assertEquals(test.Sensitivities, ImmutableList.of(@base));
        }
        public virtual void test_buildInto()
        {
            IssuerCurveZeroRateSensitivity @base = IssuerCurveZeroRateSensitivity.of(CURRENCY, YEARFRAC, GROUP, VALUE);
            MutablePointSensitivities      combo = new MutablePointSensitivities();
            MutablePointSensitivities      test  = @base.buildInto(combo);

            assertSame(test, combo);
            assertEquals(test.Sensitivities, ImmutableList.of(@base));
        }
        //-------------------------------------------------------------------------
        public virtual void test_buildInto()
        {
            BondFutureOptionSensitivity @base = BondFutureOptionSensitivity.of(NAME, OPTION_EXPIRY, FUTURE_EXPIRY, STRIKE_PRICE, FUTURE_PRICE, GBP, SENSITIVITY);
            MutablePointSensitivities   combo = new MutablePointSensitivities();
            MutablePointSensitivities   test  = @base.buildInto(combo);

            assertSame(test, combo);
            assertEquals(test.Sensitivities, ImmutableList.of(@base));
        }
コード例 #21
0
        //-------------------------------------------------------------------------
        public virtual void test_expand_firstFixingDateOffsetNoStub()
        {
            IborRateCalculation test = IborRateCalculation.builder().dayCount(ACT_365F).index(GBP_LIBOR_1M).fixingDateOffset(MINUS_TWO_DAYS).firstFixingDateOffset(MINUS_ONE_DAY).build();
            RateAccrualPeriod   rap1 = RateAccrualPeriod.builder(ACCRUAL1).yearFraction(ACCRUAL1.yearFraction(ACT_365F, ACCRUAL_SCHEDULE)).rateComputation(IborRateComputation.of(GBP_LIBOR_1M, DATE_01_03, REF_DATA)).build();
            RateAccrualPeriod   rap2 = RateAccrualPeriod.builder(ACCRUAL2).yearFraction(ACCRUAL2.yearFraction(ACT_365F, ACCRUAL_SCHEDULE)).rateComputation(IborRateComputation.of(GBP_LIBOR_1M, DATE_02_03, REF_DATA)).build();
            RateAccrualPeriod   rap3 = RateAccrualPeriod.builder(ACCRUAL3).yearFraction(ACCRUAL3.yearFraction(ACT_365F, ACCRUAL_SCHEDULE)).rateComputation(IborRateComputation.of(GBP_LIBOR_1M, DATE_03_03, REF_DATA)).build();
            ImmutableList <RateAccrualPeriod> periods = test.createAccrualPeriods(ACCRUAL_SCHEDULE, ACCRUAL_SCHEDULE, REF_DATA);

            assertEquals(periods, ImmutableList.of(rap1, rap2, rap3));
        }
コード例 #22
0
        public virtual void test_expand_stubCalcsTwoStubs_interpolated()
        {
            IborRateCalculation test = IborRateCalculation.builder().dayCount(ACT_365F).index(GBP_LIBOR_1M).fixingDateOffset(MINUS_TWO_DAYS).initialStub(IborRateStubCalculation.ofIborInterpolatedRate(GBP_LIBOR_1W, GBP_LIBOR_1M)).finalStub(IborRateStubCalculation.ofIborInterpolatedRate(GBP_LIBOR_3M, GBP_LIBOR_1M)).build();
            RateAccrualPeriod   rap1 = RateAccrualPeriod.builder(ACCRUAL1STUB).yearFraction(ACCRUAL1STUB.yearFraction(ACT_365F, ACCRUAL_SCHEDULE_STUBS)).rateComputation(IborInterpolatedRateComputation.of(GBP_LIBOR_1W, GBP_LIBOR_1M, DATE_01_06, REF_DATA)).build();
            RateAccrualPeriod   rap2 = RateAccrualPeriod.builder(ACCRUAL2).yearFraction(ACCRUAL2.yearFraction(ACT_365F, ACCRUAL_SCHEDULE_STUBS)).rateComputation(IborRateComputation.of(GBP_LIBOR_1M, DATE_02_03, REF_DATA)).build();
            RateAccrualPeriod   rap3 = RateAccrualPeriod.builder(ACCRUAL3STUB).yearFraction(ACCRUAL3STUB.yearFraction(ACT_365F, ACCRUAL_SCHEDULE_STUBS)).rateComputation(IborInterpolatedRateComputation.of(GBP_LIBOR_1M, GBP_LIBOR_3M, DATE_03_03, REF_DATA)).build();
            ImmutableList <RateAccrualPeriod> periods = test.createAccrualPeriods(ACCRUAL_SCHEDULE_STUBS, ACCRUAL_SCHEDULE_STUBS, REF_DATA);

            assertEquals(periods, ImmutableList.of(rap1, rap2, rap3));
        }
コード例 #23
0
        public virtual void test_createAccrualPeriods_Monthly_firstKnown()
        {
            InflationRateCalculation          test    = InflationRateCalculation.builder().index(GB_HICP).lag(Period.ofMonths(3)).indexCalculationMethod(MONTHLY).firstIndexValue(123d).build();
            RateAccrualPeriod                 rap1    = RateAccrualPeriod.builder(ACCRUAL1).yearFraction(1.0).rateComputation(InflationEndMonthRateComputation.of(GB_HICP, 123d, YearMonth.from(DATE_2015_02_05).minusMonths(3))).build();
            RateAccrualPeriod                 rap2    = RateAccrualPeriod.builder(ACCRUAL2).yearFraction(1.0).rateComputation(InflationMonthlyRateComputation.of(GB_HICP, YearMonth.from(DATE_2015_02_05).minusMonths(3), YearMonth.from(DATE_2015_03_07).minusMonths(3))).build();
            RateAccrualPeriod                 rap3    = RateAccrualPeriod.builder(ACCRUAL3).yearFraction(1.0).rateComputation(InflationMonthlyRateComputation.of(GB_HICP, YearMonth.from(DATE_2015_03_07).minusMonths(3), YearMonth.from(DATE_2015_04_05).minusMonths(3))).build();
            ImmutableList <RateAccrualPeriod> periods = test.createAccrualPeriods(ACCRUAL_SCHEDULE, ACCRUAL_SCHEDULE, REF_DATA);

            assertEquals(periods, ImmutableList.of(rap1, rap2, rap3));
        }
コード例 #24
0
        public virtual void test_expand_firstRegularRateFixedTwoStubs()
        {
            IborRateCalculation test = IborRateCalculation.builder().dayCount(ACT_365F).index(GBP_LIBOR_1M).fixingDateOffset(MINUS_TWO_DAYS).firstRegularRate(0.028d).build();
            RateAccrualPeriod   rap1 = RateAccrualPeriod.builder(ACCRUAL1STUB).yearFraction(ACCRUAL1STUB.yearFraction(ACT_365F, ACCRUAL_SCHEDULE_STUBS)).rateComputation(IborRateComputation.of(GBP_LIBOR_1M, DATE_01_06, REF_DATA)).build();
            RateAccrualPeriod   rap2 = RateAccrualPeriod.builder(ACCRUAL2).yearFraction(ACCRUAL2.yearFraction(ACT_365F, ACCRUAL_SCHEDULE_STUBS)).rateComputation(FixedRateComputation.of(0.028d)).build();
            RateAccrualPeriod   rap3 = RateAccrualPeriod.builder(ACCRUAL3STUB).yearFraction(ACCRUAL3STUB.yearFraction(ACT_365F, ACCRUAL_SCHEDULE_STUBS)).rateComputation(IborRateComputation.of(GBP_LIBOR_1M, DATE_03_03, REF_DATA)).build();
            ImmutableList <RateAccrualPeriod> periods = test.createAccrualPeriods(ACCRUAL_SCHEDULE_STUBS, ACCRUAL_SCHEDULE_STUBS, REF_DATA);

            assertEquals(periods, ImmutableList.of(rap1, rap2, rap3));
        }
コード例 #25
0
        //-------------------------------------------------------------------------
        public virtual void test_findPeriod()
        {
            ResolvedFixedCouponBond test = sut();
            ImmutableList <FixedCouponBondPaymentPeriod> payments = test.PeriodicPayments;

            assertEquals(test.findPeriod(test.UnadjustedStartDate), payments.get(0));
            assertEquals(test.findPeriod(test.UnadjustedEndDate.minusDays(1)), payments.get(payments.size() - 1));
            assertEquals(test.findPeriod(LocalDate.MIN), null);
            assertEquals(test.findPeriod(LocalDate.MAX), null);
        }
コード例 #26
0
        public virtual void test_expand_firstRateFixedInitialStubSpecified()
        {
            IborRateCalculation test = IborRateCalculation.builder().dayCount(ACT_365F).index(GBP_LIBOR_1M).fixingDateOffset(MINUS_TWO_DAYS).initialStub(IborRateStubCalculation.ofIborRate(GBP_LIBOR_1W)).firstRate(0.024d).build();
            RateAccrualPeriod   rap1 = RateAccrualPeriod.builder(ACCRUAL1STUB).yearFraction(ACCRUAL1STUB.yearFraction(ACT_365F, ACCRUAL_SCHEDULE_INITIAL_STUB)).rateComputation(IborRateComputation.of(GBP_LIBOR_1W, DATE_01_06, REF_DATA)).build();
            RateAccrualPeriod   rap2 = RateAccrualPeriod.builder(ACCRUAL2).yearFraction(ACCRUAL2.yearFraction(ACT_365F, ACCRUAL_SCHEDULE_INITIAL_STUB)).rateComputation(IborRateComputation.of(GBP_LIBOR_1M, DATE_02_03, REF_DATA)).build();
            RateAccrualPeriod   rap3 = RateAccrualPeriod.builder(ACCRUAL3).yearFraction(ACCRUAL3.yearFraction(ACT_365F, ACCRUAL_SCHEDULE_INITIAL_STUB)).rateComputation(IborRateComputation.of(GBP_LIBOR_1M, DATE_03_03, REF_DATA)).build();
            ImmutableList <RateAccrualPeriod> periods = test.createAccrualPeriods(ACCRUAL_SCHEDULE_INITIAL_STUB, ACCRUAL_SCHEDULE_INITIAL_STUB, REF_DATA);

            assertEquals(periods, ImmutableList.of(rap1, rap2, rap3));
        }
コード例 #27
0
        //-------------------------------------------------------------------------
        public virtual void coverage()
        {
            CalculationResults test = CalculationResults.of(TARGET, ImmutableList.of(CALC_RESULT));

            coverImmutableBean(test);
            CalculationResults test2 = CalculationResults.of(TARGET2, ImmutableList.of(CALC_RESULT2));

            coverBeanEquals(test, test2);
            assertNotNull(CalculationResults.meta());
        }
コード例 #28
0
        public virtual void test_merge_group2_within2_finalStub()
        {
            Schedule test     = Schedule.builder().periods(ImmutableList.of(P2_NORMAL, P3_NORMAL, P4_STUB)).frequency(P1M).rollConvention(DAY_17).build();
            Schedule expected = Schedule.builder().periods(ImmutableList.of(P2_3, P4_STUB)).frequency(P2M).rollConvention(DAY_17).build();

            assertEquals(test.mergeRegular(2, true), expected);
            assertEquals(test.mergeRegular(2, false), expected);
            assertEquals(test.merge(2, P2_NORMAL.UnadjustedStartDate, P3_NORMAL.UnadjustedEndDate), expected);
            assertEquals(test.merge(2, P2_NORMAL.StartDate, P3_NORMAL.EndDate), expected);
        }
コード例 #29
0
        //-------------------------------------------------------------------------
        public virtual void test_expand_gearingSpreadEverythingElse()
        {
            IborRateCalculation test = IborRateCalculation.builder().dayCount(ACT_360).index(GBP_LIBOR_3M).fixingDateOffset(MINUS_THREE_DAYS).fixingRelativeTo(PERIOD_END).negativeRateMethod(NOT_NEGATIVE).gearing(ValueSchedule.of(1d, ValueStep.of(2, ValueAdjustment.ofReplace(2d)))).spread(ValueSchedule.of(0d, ValueStep.of(1, ValueAdjustment.ofReplace(-0.025d)))).build();
            RateAccrualPeriod   rap1 = RateAccrualPeriod.builder(ACCRUAL1).yearFraction(ACCRUAL1.yearFraction(ACT_360, ACCRUAL_SCHEDULE)).rateComputation(IborRateComputation.of(GBP_LIBOR_3M, DATE_01_31, REF_DATA)).negativeRateMethod(NOT_NEGATIVE).build();
            RateAccrualPeriod   rap2 = RateAccrualPeriod.builder(ACCRUAL2).yearFraction(ACCRUAL2.yearFraction(ACT_360, ACCRUAL_SCHEDULE)).rateComputation(IborRateComputation.of(GBP_LIBOR_3M, DATE_02_28, REF_DATA)).negativeRateMethod(NOT_NEGATIVE).spread(-0.025d).build();
            RateAccrualPeriod   rap3 = RateAccrualPeriod.builder(ACCRUAL3).yearFraction(ACCRUAL3.yearFraction(ACT_360, ACCRUAL_SCHEDULE)).rateComputation(IborRateComputation.of(GBP_LIBOR_3M, DATE_04_02, REF_DATA)).negativeRateMethod(NOT_NEGATIVE).gearing(2d).spread(-0.025d).build();
            ImmutableList <RateAccrualPeriod> periods = test.createAccrualPeriods(ACCRUAL_SCHEDULE, ACCRUAL_SCHEDULE, REF_DATA);

            assertEquals(periods, ImmutableList.of(rap1, rap2, rap3));
        }
コード例 #30
0
        public virtual void test_createProduct_wrongType()
        {
            BondFutureSecurity test = sut();
            ImmutableList <FixedCouponBond> basket = PRODUCT.DeliveryBasket;
            SecurityId      secId   = basket.get(0).SecurityId;
            GenericSecurity sec     = GenericSecurity.of(INFO);
            ReferenceData   refData = ImmutableReferenceData.of(secId, sec);

            assertThrows(() => test.createProduct(refData), typeof(System.InvalidCastException));
        }