I have possibility of taking 2 types of real time streams from some exchange:

  • bid-ask quotes (fresh quotes from order book)
  • transaction log (transactions matched by exchange)

I'm curious what information can give transaction log stream to market participants to give them advantage what I will not have using only bid-ask quotes stream or what advantage gives transaction log data at all.


2 Answers 2


They are both just partial reflections (not including the order book) of the real process that happens in exchange. If you want to answer the question yourself, it's essential to learn how Exchange's Matching Engines work. The real underlying information is what enters into the matching engine (what traders send to it). For the sake of simplicity, there are just 3 types of messages:

  • send_order (buy/sell, limit_price, quantity);
  • cancel_order (order_id);
  • replace_order (order_id, new_price, new_quantity)

The matching engine converts this process into different type of market data updates:

  • transaction (price, quantity)
  • order_book_update (... various formats)

Then your data provider may extract the best bid/ask from the order book. Once you know the process, it's up to you to decide (according to the characteristics of your strategy and the budget) which information is required, how detailed, and how fast should it be.


These are two separate and distinct pieces of data. The relative "advantage" or "disadvantage" of one over another is entirely up to you and your model, not some rule of thumb. Each data set provides "one half", if you will, of the view of the market.

Quotes tell you what passive participants are willing to do. They are, in effect, an indication of interest to trade a certain size at a certain price. Think of this as "what might happen".

Transactions tell you, essentially, "what has happened". They are the prices and sizes that aggressive traders matched with passive traders. They are, by definition, historical only and are not forward looking unlike a quote which is in effect until cancelled.

You can not derive one data set from the other. They are separate and distinct. To have a full view of the market and what is happening, you need both.

  • $\begingroup$ Great answer, I just can't figure out a sample model that can get advantage with transactions which are already accounted in quotes and market depth, maybe some model that will must know that transaction on some level being now matched or cancelled. I just answering question by myself. $\endgroup$
    – Svisstack
    Nov 29, 2013 at 21:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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