Пример #1
0
        //-------------------------------------------------------------------------
        // build conventions
        private static FixedOvernightSwapConvention makeConvention(string name, OvernightIndex index, DayCount dayCount, Frequency frequency, int paymentLag, int spotLag)
        {
            HolidayCalendarId calendar          = index.FixingCalendar;
            DaysAdjustment    paymentDateOffset = DaysAdjustment.ofBusinessDays(paymentLag, calendar);
            DaysAdjustment    spotDateOffset    = DaysAdjustment.ofBusinessDays(spotLag, calendar);

            return(ImmutableFixedOvernightSwapConvention.of(name, FixedRateSwapLegConvention.builder().currency(index.Currency).dayCount(dayCount).accrualFrequency(frequency).accrualBusinessDayAdjustment(BusinessDayAdjustment.of(MODIFIED_FOLLOWING, calendar)).paymentFrequency(frequency).paymentDateOffset(paymentDateOffset).stubConvention(StubConvention.SMART_INITIAL).build(), OvernightRateSwapLegConvention.builder().index(index).accrualMethod(COMPOUNDED).accrualFrequency(frequency).paymentFrequency(frequency).paymentDateOffset(paymentDateOffset).stubConvention(StubConvention.SMART_INITIAL).build(), spotDateOffset));
        }
Пример #2
0
        //-------------------------------------------------------------------------
        public virtual void coverage()
        {
            FixedRateSwapLegConvention test = FixedRateSwapLegConvention.of(GBP, ACT_365F, P3M, BDA_MOD_FOLLOW);

            coverImmutableBean(test);
            FixedRateSwapLegConvention test2 = FixedRateSwapLegConvention.builder().currency(USD).dayCount(ACT_360).accrualFrequency(P6M).accrualBusinessDayAdjustment(BDA_FOLLOW).startDateBusinessDayAdjustment(BDA_FOLLOW).endDateBusinessDayAdjustment(BDA_FOLLOW).stubConvention(LONG_INITIAL).rollConvention(RollConventions.EOM).paymentFrequency(P6M).paymentDateOffset(PLUS_TWO_DAYS).build();

            coverBeanEquals(test, test2);
        }
Пример #3
0
        public virtual void test_builder()
        {
            FixedRateSwapLegConvention test = FixedRateSwapLegConvention.builder().currency(GBP).dayCount(ACT_365F).accrualFrequency(P3M).accrualBusinessDayAdjustment(BDA_MOD_FOLLOW).build();

            assertEquals(test.Currency, GBP);
            assertEquals(test.DayCount, ACT_365F);
            assertEquals(test.AccrualFrequency, P3M);
            assertEquals(test.AccrualBusinessDayAdjustment, BDA_MOD_FOLLOW);
            assertEquals(test.StartDateBusinessDayAdjustment, BDA_MOD_FOLLOW);
            assertEquals(test.EndDateBusinessDayAdjustment, BDA_MOD_FOLLOW);
            assertEquals(test.StubConvention, StubConvention.SMART_INITIAL);
            assertEquals(test.RollConvention, RollConventions.EOM);
            assertEquals(test.PaymentFrequency, P3M);
            assertEquals(test.PaymentDateOffset, DaysAdjustment.NONE);
            assertEquals(test.CompoundingMethod, CompoundingMethod.NONE);
        }
Пример #4
0
        public virtual void test_builderAllSpecified()
        {
            FixedRateSwapLegConvention test = FixedRateSwapLegConvention.builder().currency(USD).dayCount(ACT_360).accrualFrequency(P6M).accrualBusinessDayAdjustment(BDA_FOLLOW).startDateBusinessDayAdjustment(BDA_FOLLOW).endDateBusinessDayAdjustment(BDA_FOLLOW).stubConvention(LONG_INITIAL).rollConvention(RollConventions.DAY_1).paymentFrequency(P6M).paymentDateOffset(PLUS_TWO_DAYS).compoundingMethod(CompoundingMethod.FLAT).build();

            assertEquals(test.Currency, USD);
            assertEquals(test.DayCount, ACT_360);
            assertEquals(test.AccrualFrequency, P6M);
            assertEquals(test.AccrualBusinessDayAdjustment, BDA_FOLLOW);
            assertEquals(test.StartDateBusinessDayAdjustment, BDA_FOLLOW);
            assertEquals(test.EndDateBusinessDayAdjustment, BDA_FOLLOW);
            assertEquals(test.StubConvention, StubConvention.LONG_INITIAL);
            assertEquals(test.RollConvention, RollConventions.DAY_1);
            assertEquals(test.PaymentFrequency, P6M);
            assertEquals(test.PaymentDateOffset, PLUS_TWO_DAYS);
            assertEquals(test.CompoundingMethod, CompoundingMethod.FLAT);
        }
 // Create a zero-coupon fixed leg convention
 private static FixedRateSwapLegConvention fixedLegZcConvention(Currency ccy, HolidayCalendarId cal)
 {
     return(FixedRateSwapLegConvention.builder().paymentFrequency(Frequency.TERM).accrualFrequency(Frequency.P12M).accrualBusinessDayAdjustment(BusinessDayAdjustment.of(MODIFIED_FOLLOWING, cal)).startDateBusinessDayAdjustment(BusinessDayAdjustment.of(MODIFIED_FOLLOWING, cal)).endDateBusinessDayAdjustment(BusinessDayAdjustment.of(MODIFIED_FOLLOWING, cal)).compoundingMethod(CompoundingMethod.STRAIGHT).dayCount(ONE_ONE).currency(ccy).build());
 }
Пример #6
0
 //-------------------------------------------------------------------------
 public virtual void test_builder_notEnoughData()
 {
     assertThrowsIllegalArg(() => FixedRateSwapLegConvention.builder().build());
 }