Interface OvernightFutureContractSpec

  • All Superinterfaces:
    Named
    All Known Implementing Classes:
    ImmutableOvernightFutureContractSpec

    public interface OvernightFutureContractSpec
    extends Named
    A contract specification for exchange traded Overnight Futures.

    The contract specification defines how the future is traded. A specific future is created by specifying the year-month.

    For commonly traded contract specifications, see OvernightFutureContractSpecs. To manually create a contract specification, see ImmutableOvernightFutureContractSpec. To register a specific contract specification, see OvernightFutureContractSpec.ini.

    • Method Detail

      • extendedEnum

        static ExtendedEnum<OvernightFutureContractSpec> extendedEnum()
        Gets the extended enum helper.

        This helper allows instances of the convention to be looked up. It also provides the complete set of available instances.

        Returns:
        the extended enum helper
      • getIndex

        OvernightIndex getIndex()
        Gets the Overnight index.

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

        Returns:
        the index
      • getNotional

        double getNotional()
        Gets the notional.

        The notional is a positive number in the index currency.

        Returns:
        the notional
      • createTrade

        OvernightFutureTrade createTrade​(LocalDate tradeDate,
                                         SecurityId securityId,
                                         SequenceDate sequenceDate,
                                         double quantity,
                                         double price,
                                         ReferenceData refData)
        Creates a trade based on this convention.

        This returns a trade based on the instructions in the SequenceDate. The sequence date points at the expiry of the future, which is how they are referred to in the market.

        Parameters:
        tradeDate - the trade date
        securityId - the identifier of the security
        sequenceDate - the date to be used from the sequence identifying the expiry of the future
        quantity - the number of contracts traded, positive if buying, negative if selling
        price - the trade price of the future
        refData - the reference data, used to resolve the trade dates
        Returns:
        the trade
        Throws:
        ReferenceDataNotFoundException - if an identifier cannot be resolved in the reference data
      • createPosition

        OvernightFuturePosition createPosition​(SecurityId securityId,
                                               YearMonth expiry,
                                               double quantity,
                                               ReferenceData refData)
        Creates a position based on this convention.
        Parameters:
        securityId - the identifier of the security
        expiry - the expiry year month
        quantity - the number of contracts traded, positive if buying, negative if selling
        refData - the reference data, used to resolve the trade dates
        Returns:
        the position
        Throws:
        ReferenceDataNotFoundException - if an identifier cannot be resolved in the reference data
      • calculateReferenceDate

        LocalDate calculateReferenceDate​(LocalDate tradeDate,
                                         SequenceDate sequenceDate,
                                         ReferenceData refData)
        Calculates the reference date from the trade date.

        This determines the date from the SequenceDate.

        Parameters:
        tradeDate - the trade date
        sequenceDate - the date to be used from the sequence
        refData - the reference data, used to resolve the date
        Returns:
        the reference date of the contract, also known as the start date
      • calculateLastFixingDate

        LocalDate calculateLastFixingDate​(LocalDate referenceDate,
                                          ReferenceData refData)
        Calculates the last fixing date from the trade date.
        Parameters:
        referenceDate - the reference date of the contract, also known as the start date
        refData - the reference data, used to resolve the date
        Returns:
        the last fixing date
      • getName

        String getName()
        Gets the name that uniquely identifies this convention.

        This name is used in serialization and can be parsed using of(String).

        Specified by:
        getName in interface Named
        Returns:
        the unique name