Quantitative Finance Stack Exchange is a question and answer site for finance professionals and academics. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question
up vote 1 down vote accepted

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.

share|improve this answer
Great answer! Thanks. – BlackMamba Nov 30 '13 at 14:05

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.

share|improve this answer
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. – BlackMamba Nov 29 '13 at 21:59

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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