The Lab

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from this space and version 1.1.6

...

  • OrderDepth - MDEntryID provides a unique identifier of that individual Order, as and when the order is modified it's ID will change. Additional linkage information may also be provided by the venue so the market data consumer can track each individual order through it's entire lifetime. Whisperer currently delivers this in the NoEntryPassthruFields block, if available.
  • PriceDepth - here the MDEntryID represents a specific side/price level and so can could be relied upon used to give the correct book ordering. Typically it will be a string representation of either the price itself, or the level within the book (position number).

...

  1. Collect the orders by price level (this . This is redundant for a PriceDepth book, which is already aggregated).
  2. Sort prices for each side of the book best to worst.
  3. For each price level sort MDEntryIDs smallest (oldest) > largest (newest). Again, this is redundant for a PriceDepth book, which is already aggregated.

I.e. The Client always sorts the book by price for each side (not MDEntryID). The MDEntryID is effectively a secondary key for sorting multiple orders at a give price level (ie. OrderDepth books only).

Orders

The Orders workflow is always normalised and consistently implements the state transition model as outlined in the diagram below. Where Venue events are absent, synthetic equivalents are generated by Whisperer in their place. These messages are easily discernible by reference to the TradingFlags.IsSynthetic field.

...