Quantitative Finance Stack Exchange is a question and answer site for finance professionals and academics. It's 100% free, no registration required.

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

When dealing with trade data, for example from TAQ, a common problem is that of determining whether a trade was a buy or a sell. The most commonly used classifier is the Lee-Ready algorithm (Inferring trade direction from intraday data, 1991). Unfortunately, this method is known to be inaccurate: Lee and Radhakrishna (Inferring investor behaviour: evidence from TORQ data, 2000) report that Lee-Ready incorrectly classifies 24% of the trades inside the spread.

How to improve on Lee-Ready's recipie? What are the best algorithms for trade classification?

share|improve this question
On every trade there is both a buyer and a seller. When you talk of a buy or sell do you mean which side was the aggressor? ( removed liquidity). In the case of intraspread prints even that gets pretty blurry since you have to consider internalizers and pay for order flow models.... – PabTorre Sep 28 '13 at 5:28
Have a look at the VPIN papers for their method. – user2763361 Oct 2 '13 at 14:12

Don't use TAQ. The reporting times of the trades can be a few seconds delayed. Use the exchange feeds. There you can see which order crossed the spread. The only issue that you will run into is hidden orders. In that case you simply can't tell. (eg: The mkt is 30.00x 30.02 and then you see 30.01 trade. You don't have any way to tell if there was a hidden offer or bid.

For trades from dark pools they are really not possible to track since they all go to the ADF with a potential delay and there's no published book.

share|improve this answer

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.