Class ImmutableIborFutureConvention

    • Method Detail

      • of

        public static ImmutableIborFutureConvention of​(IborIndex index,
                                                       DateSequence dateSequence)
        Creates a convention based on the specified index and the sequence of dates.

        The standard market convention is based on the index. The business day adjustment is set to be 'Following' using the effective date calendar from the index. The convention name will default to the name of the index suffixed by the name of the date sequence.

        Parameters:
        index - the index, the calendar for the adjustment is extracted from the index
        dateSequence - the sequence of dates
        Returns:
        the convention
      • createTrade

        public IborFutureTrade createTrade​(java.time.LocalDate tradeDate,
                                           SecurityId securityId,
                                           java.time.Period minimumPeriod,
                                           int sequenceNumber,
                                           double quantity,
                                           double notional,
                                           double price,
                                           ReferenceData refData)
        Description copied from interface: IborFutureConvention
        Creates a trade based on this convention.

        This returns a trade based on the specified minimum period and sequence number.

        Specified by:
        createTrade in interface IborFutureConvention
        Parameters:
        tradeDate - the trade date
        securityId - the identifier of the security
        minimumPeriod - minimum period between the value date and the first future
        sequenceNumber - the 1-based sequence number of the futures
        quantity - the number of contracts traded, positive if buying, negative if selling
        notional - the notional amount of one future contract
        price - the trade price of the future
        refData - the reference data, used to resolve the trade dates
        Returns:
        the trade
      • createTrade

        public IborFutureTrade createTrade​(java.time.LocalDate tradeDate,
                                           SecurityId securityId,
                                           java.time.YearMonth yearMonth,
                                           double quantity,
                                           double notional,
                                           double price,
                                           ReferenceData refData)
        Description copied from interface: IborFutureConvention
        Creates a trade based on this convention.

        This returns a trade based on the specified year-month.

        Specified by:
        createTrade in interface IborFutureConvention
        Parameters:
        tradeDate - the trade date
        securityId - the identifier of the security
        yearMonth - the year-month that the future is defined to be for
        quantity - the number of contracts traded, positive if buying, negative if selling
        notional - the notional amount of one future contract
        price - the trade price of the future
        refData - the reference data, used to resolve the trade dates
        Returns:
        the trade
      • calculateReferenceDateFromTradeDate

        public java.time.LocalDate calculateReferenceDateFromTradeDate​(java.time.LocalDate tradeDate,
                                                                       java.time.Period minimumPeriod,
                                                                       int sequenceNumber,
                                                                       ReferenceData refData)
        Description copied from interface: IborFutureConvention
        Calculates the reference date from the trade date.

        This determines the date from the specified minimum period and sequence number.

        Specified by:
        calculateReferenceDateFromTradeDate in interface IborFutureConvention
        Parameters:
        tradeDate - the trade date
        minimumPeriod - minimum period between the trade date and the first future
        sequenceNumber - the 1-based sequence number of the futures
        refData - the reference data, used to resolve the date
        Returns:
        the future reference date
      • calculateReferenceDateFromTradeDate

        public java.time.LocalDate calculateReferenceDateFromTradeDate​(java.time.LocalDate tradeDate,
                                                                       java.time.YearMonth yearMonth,
                                                                       ReferenceData refData)
        Description copied from interface: IborFutureConvention
        Calculates the reference date from the trade date.

        This determines the date from the specified year-month.

        Specified by:
        calculateReferenceDateFromTradeDate in interface IborFutureConvention
        Parameters:
        tradeDate - the trade date
        yearMonth - the year-month that the future is defined to be for
        refData - the reference data, used to resolve the date
        Returns:
        the future reference date
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getIndex

        public IborIndex getIndex()
        Gets the Ibor index.

        The floating rate to be paid is based on this index It will be a well known market index such as 'GBP-LIBOR-3M'.

        Specified by:
        getIndex in interface IborFutureConvention
        Returns:
        the value of the property, not null
      • getName

        public java.lang.String getName()
        Gets the convention name, such as 'USD-LIBOR-3M-Quarterly-IMM'.

        This will default to the name of the index suffixed by the name of the date sequence if not specified.

        Specified by:
        getName in interface IborFutureConvention
        Specified by:
        getName in interface Named
        Returns:
        the value of the property, not null
      • getDateSequence

        public DateSequence getDateSequence()
        Gets the sequence of dates that the future is based on.

        This is used to calculate the reference date of the future that is the start date of the underlying synthetic deposit.

        Returns:
        the value of the property, not null
      • getBusinessDayAdjustment

        public BusinessDayAdjustment getBusinessDayAdjustment()
        Gets the business day adjustment to apply to the reference date.

        The reference date, which is often the third Wednesday of the month, will be adjusted as defined here.

        Returns:
        the value of the property, not null
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object