Market data, price-depth view

Hi,
Regarding the price-depth view of a market. Are there any case where a change instruction might be sent to update a price of a given level? Let’s take the simplest possible scenario; you only have one order in the book. If the price of that order is changed, should that be sent as a delete followed by an insert or can it be represented by a change instruction?

As I understand the Recommended Practices For Book Management, the change instruction should only be used to update the quantity at a price level and never to update the price. Thus, even in the simple example above, a change instruction should not be used. Do you agree?

Regards,
Robert

1 Like

Are you referring to Chapter 2.5 Order-Depth where it says “Change should not be used to alter the PriceLevel or EntryPositionNumber of an entry as this is the responsibility of the client maintaining the book.”? Or is it about Chapter 2.4 Price-Depth where it says “Change, to update quantity at a price level”?

In your example, there is no “one order in the book” as it is a price-depth view. There is “one price in the book made up of a single order”. In the simplest form, price-depth works with entries containing a price and a quantity. If there are no more orders at a given price level, the quantity drops to zero and the price level should be deleted. If a new price level exists because there are suddenly one or more orders at that price, then a new price level should be created. Hence, conceptually, a price level cannot change. The underlying event is always that orders change and price levels are a result of the aggregation of these orders.

Hi Hanno, thanks for your reply.

I’m referring to price-depth ("Change, to update quantity at a price level"). In my document it is chapter 2.3 but maybe I’m looking at a different version. And ok, to be semantically correct there is one price, made up of a single order. If the quantity of that order is modified, I expect to get a single Change instruction. But what if instead the price of that order is changed? As I understand it, this should be expressed with a Delete followed by a New instruction (and not by a Change).

In short; when looking at price-depth, the Change instruction should only be used to update the quantity. I just wanted to confirm that.

The chapter is 2.3, sorry, there are numbering errors with the chapter headings.

The short answer is yes. In database terms, the price is the “primary key” of the order book row. You cannot change a primary key, only delete it. Changing an entry requires to use the primary key which is the price. Without additional fields, you cannot reference the price you want to change, you could only provide the new price. Here is a small example:

NEW 100 @ 2.90
CHANGE 100 @ 2.95 <-- no reference to 2.90 possible

Instead

NEW 100 @ 2.90
DELETE 100 @ 2.90
NEW 100 @ 2.95

Therefore you may be asking your question because you are using additional fields like MDPriceLevel(1023). If there is only price and quantity then a change is not applicable for price-depth.

Thanks Hanno.