In a limit book like NASDAQ ITCH, can liquidity suppliers know the demand-side identity of a trader prior or after a trade? Knowing this will help me with my theoretical model that I am trying to develop since I am wondering whether a liquidity supplier that observes say a trade of 90 shares that takes away liquidity up to three ticks (30 shares per tick - block shape book) can distinguished whether the trade came from one individual or three individuals who submitted trades at each tick.

  • $\begingroup$ In the ASX limit order book, you know who made what trade (even name of the firm) 3 days after the fact - both liquidity takers and providers. $\endgroup$ – user2763361 Oct 2 '13 at 10:55

ITCH does not disseminate any identifiers for the buy-side. They have a match number (used to correct or break trades) and a reference number (for displayed liquidity) and that's it. No other identifying features are present.

  • $\begingroup$ This might sound stupid but then how different is this from a dark pool? $\endgroup$ – CharlesM Sep 23 '13 at 16:42
  • $\begingroup$ @CharlesM A dark pool doesn't show quotes. I suggest you read the ITCH spec. $\endgroup$ – chrisaycock Sep 23 '13 at 17:06
  • $\begingroup$ Right it doesn't show quotes and traders identity (only after a trade we see traders' identity). $\endgroup$ – CharlesM Sep 23 '13 at 20:45
  • $\begingroup$ @CharlesM No platform shows the trader's identity. $\endgroup$ – chrisaycock Sep 23 '13 at 21:10
  • $\begingroup$ The TSX provides the broker code for the buy side and sell side on their TOS feed. But I haven't seen that functionality anywhere else. $\endgroup$ – PabTorre Sep 28 '13 at 5:21

I was able to identify significant participants by order size on CME exchange. I think ITCH is even more informative that CME's data format. The trick is to learn very closely the incremental data and the order in which this data arrives. We can assume that exchange's Matching Engine and its market data distribution algorithm are programmed machines, therefore always process similar cases in exactly the same way.

For example, a large aggressor order is being executed. First, you receive all the matched executions. Then you receive order book updates, caused by this executions (In fact, knowing the matching algorithm, you can predict the book updates!). Even if there is another aggressor order waiting, its executions will not be transmitted until the previous order book updates are completed. Of cause, you need to validate this with timestamps as said above.

But there are much more special cases, which I can't describe here. For example, the order may be only partially executed until reaches its limit price. It can still be detected.

Such investigation can be applied on both aggressor orders and passive limit orders activity. Below is such an example on one day of ES future. For example, there are 11285 events of BUY 46, and just ~200 events of BUY 47. Which makes it reasonable to assume that most of orders of size 46 belong to the same trader. Some traders attempt to "hide" their activity by random distribution (between 100 and 120 in this example). Also as expected there are peaks on round sizes 100, 200, ...

enter image description here

After detecting distinguishing peaks of order size, you can separate certain trader to watch its behavior. The second image illustrates the activity of trader who uses order size 46. We can see its behavior before news release. It's also possible to detect his location using response time to price changes. This trader's machine is located in Europe because its response time is about 100 ms.

enter image description here


Regarding the second part of your question, - if you have relatively precise timestamps, you can use those to distinguish the cases you're interested. E.g. if one party took all three levels, the timestamps will be very close, or identical.

  • $\begingroup$ What if three parties submitted aggressive takes at the same time because of a news event? How would you distinguish that scenario with just timestamps? $\endgroup$ – chrisaycock Sep 23 '13 at 18:12
  • $\begingroup$ @LazyCat say that you have nanoseconds timestamps, and one party takes all three levels, then we should see almost one or zero nanosecond that separates all three trades and hence we could infer that it comes from one party. $\endgroup$ – CharlesM Sep 23 '13 at 20:45
  • $\begingroup$ I wouldn't base my research on that inference. $\endgroup$ – Louis Marascio Sep 23 '13 at 22:12
  • $\begingroup$ @ CharlesM - I can't say, 0 nanoseconds or 10, but yessure about nanoseconds, but yes, that's the idea $\endgroup$ – LazyCat Sep 24 '13 at 21:14
  • 1
    $\begingroup$ @ CharlesM (cntd): You can look at the time gaps between consecutive trades on the feed. What you will see in the statistics, is that there will be a number of events with very small/no gaps, and the rest - with significantly larger gaps. This way you figure out for the reasonable threshold. @chrisaycock: there is no such thing, as "the same time", and I think it's extremely unlikely, that NASDAQ will receive several separate orders within 1 nanosecond. $\endgroup$ – LazyCat Sep 24 '13 at 21:22

AFAIK Nasdaq OMX is one of the few (if not the only) exchange which provides buyer / seller ID on equity trades:

Trade information (latest paid price, trade volume, buyer/seller ID where available) http://www.nasdaqomx.com/digitalAssets/66/66627_nasdaq_omx_nordic_market_data_offering.pdf

More specifically:


Name Offset Length Value Notes


Participant ID, buyer 45 4 Alphabetic

Participant ID, seller 49 4 Alphabetic



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.