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?