Class InstrumentInfo

java.lang.Object
velox.api.layer1.data.InstrumentCoreInfo
velox.api.layer1.data.InstrumentInfo
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
InstrumentInfoCrypto

public class InstrumentInfo extends InstrumentCoreInfo implements Serializable
Information about the instrument
See Also:
  • Field Details

    • UNKNOWN_DELAY

      public static final long UNKNOWN_DELAY
      Delay value for the dataDelay field, if the delay is currently unknown, but it is known that the data is delayed. Used to inform the Bookmap about some data delay.
      See Also:
    • pips

      public final double pips
      Also known as min tick, tick size or minimal price increment. This allows bookmap to translate level numbers to price that is shown to the user and vice versa
    • multiplier

      public final double multiplier
      Similar to "tick value" in its meaning, with the only difference of being per price unit instead of per tick (can be computed as tick value divided by pips)

      Specifically, this field tells bookmap the following: "how many dollars (or other currency units) will my P&L change if I have position of 1 and price moves 1 dollar (or other price unit) up"

      If you (as a data provider) send an InstrumentInfo with multiplier set to Double.NaN, it will be interpreted as an indication that data for the instrument is not yet available. In this case, the instrument is treated as a "placeholder", and it is expected that a valid InstrumentInfo with a proper multiplier will be sent as soon as the data becomes available.
      Internally, Bookmap will wait until all placeholders are replaced with valid instruments before restoring the instrument tab order as previously configured by the user.
      Note: You should not rely on this internal behavior, as it may change in future versions. It is recommended to send a complete and valid InstrumentInfo with a proper multiplier as early as possible, and only once per subscription request.
    • fullName

      public final String fullName
      Full instrument name on the platforms where it's available, null otherwise
    • isFullDepth

      public final boolean isFullDepth
      True if data provided for instrument is full depth data
    • sizeMultiplier

      public final double sizeMultiplier
      Used when size granularity is less than 1 (for most providers it's always 1, so you can ignore this field if only those are targeted). This is only a visual thing, as all updates should still be performed in integer units. It was introduced mostly because of cryptocurrencies - since sizes are no longer integer values, you can premultiply all sizes by certain value and specify it in this field. E.g. 1000 will make bookmap display size of 1 as 0.001.
    • isCrypto

      public final boolean isCrypto
      Allows bookmap to distinguish crypto instruments from other types. If true - this instrument is a cryptocurrency or is based on cryptocurrencies in some way
    • recordingTag

      public final String recordingTag
      Used to distinguish local history with special modes on the per instrument basis (i.e. local history with delayed data vs live data) Provider should set this field to specify special mode of this instrument,"DELAYED" for example
      Note: it is recommended to not set this field for LIVE instruments for backward compatibility of historical servers, i.e. so the historical server returned "live" data to the user with the old client
    • isApiProtected

      public final boolean isApiProtected
      If this flag is set to true, then all add-ons, except those marked with UnrestrictedData annotation, will be blocked from receiving data from this instrument
    • isNbboSupported

      public final boolean isNbboSupported
      If this flag is set to true, then this instrument supports NBBO data, and it is possible to create NBBO indicator for the instrument
    • dataDelay

      public final long dataDelay
      Delay in nanoseconds for the data of this instrument. If delay is currently unknown, but it is known that the data is delayed, then you should set this field to UNKNOWN_DELAY, to inform the Bookmap that the data is delayed (so the Bookmap can apply some restrictions for delayed data instruments).
    • requestedSymbol

      public final String requestedSymbol
      Used to correctly handle "generic" instrument substitution. If your provider wants to subscribe to the instrument with a different symbol than you received in subscription request (for example you received "ES" and want to subscribe to "ESH4"), then you should set this field to the symbol which you received in request.
    • defaultLotSize

      public final int defaultLotSize
  • Constructor Details

  • Method Details