Classifying icebergs

I am trying to identify icebergs after the fact. I want to create a classifier function of some kind that decides whether a set of orders belong to an iceberg or not. I will decide how to identify in realtime and treat the icebergs once (if) I can somehow explicitly find icebergs to do statistical inference on in my historical data. First step is finding them, so I wanted to see if any traders knew of methods or observations that help identify them.

How would you classify an addition as out of the ordinary? Is there a particular size, a particular delta of size relative to other orders? How many orders are icebergs broken into typical for a given total quantity of an iceberg? This is the type of information that I think may add to a meaningful classifier. I appreciate your incite on the market orders not moving it at all--it lets me know that perhaps were looking for total size capable of preventing normal supply and demand equilibriums.


EDIT: yes, I'm aware the pulling of orders is the opposite of an iceberg. It's mostly HFTs that are trying to maintain queue position deciding they no longer want to trade at the price level.
If you could determine how many contracts were sitting at a price level when it became the inside price and how many contracts subsequently traded at that level before moving away it would help identify where icebergs were. There is no way to determine how many of the added contracts were part of an iceberg order and how many were other traders.

I don't know if it is possible to obtain historical data for market depth.
 
If you could determine how many contracts were sitting at a price level when it became the inside price and how many contracts subsequently traded at that level before moving away it would help identify where icebergs were. There is no way to determine how many of the added contracts were part of an iceberg order and how many were other traders.

I don't know if it is possible to obtain historical data for market depth.
Yes, the other problem with the iceberg spotting approach I've that even if we have definitive knowledge that an iceberg is taking place, we have no definitive knowledge of the size, so unless we can detect the iceberg after a fraction of it has traded, it's not worth very much...that is unless we're interested in trying to ride any subsequent move in the opposite direction caused by a sudden stop to a continuous stream of liquidity.

I have market depth historical data. I've been recording it and I will likely be buying it from now on starting next month.
 
Yes, the other problem with the iceberg spotting approach I've that even if we have definitive knowledge that an iceberg is taking place, we have no definitive knowledge of the size, so unless we can detect the iceberg after a fraction of it has traded, it's not worth very much...that is unless we're interested in trying to ride any subsequent move in the opposite direction caused by a sudden stop to a continuous stream of liquidity.

I have market depth historical data. I've been recording it and I will likely be buying it from now on starting next month.
Personally on the 6E I start to notice when 50+ contracts have been added and am pretty sure its an iceberg after 100 are added. The day I mentioned (10/08) was clearly an iceberg as the trader soaked up over 400 contracts which is two and a half times the normal number of contracts for a price level in that instrument.

Maybe you should screen for a % above normal depth per price level?
 
Last edited:
I'm not sure how useful detecting icebergs is for short term trading, but the first step in figuring this out is identifying icebergs in historical data.

I know that on CME, icebergs refresh at the back of the queue, and partial fills of an iceberg stay in the book unchanged. For example, if my iceberg requests 4 contracts, suppose it's broken into two orders of size 2. The first order will wait in the queue until it reaches the front. Suppose it has now reached the front and a market order for 1 comes in. The iceberg will fill one contract leaving one in the book at the top of the queue...no free lunch or line cutting. Similarly, when the full two contracts from the first block of the iceberg are filled, the remaining two contracts will refresh at the back of the queue.

Please confirm if this understanding is correct, and feel free to tack on other details.

My question is whether anyone here has made any attempt to classify a set of orders as an iceberg or not by looking for orders that continually refresh at the back? I imagine this is a pretty difficult task, since those using icebergs and CME have every incentive to effectively hide them. Aside from that, I'm not sure how much alpha will come from identifying an iceberg. Yes, it will provide a lot of interest at a given price level, but sophisticated traders put a lot of effort into minimizing their market impact. Any information on the matter is appreciated.



I think one point you might be missing here is, insto traders using icebergs are usually from my experience trying to move a lot of stock. So stop playing Dr. Wallstreet on your side and turn your direction around. - SINGLE STOCK
 
Yes, the other problem with the iceberg spotting approach I've that even if we have definitive knowledge that an iceberg is taking place, we have no definitive knowledge of the size, so unless we can detect the iceberg after a fraction of it has traded, it's not worth very much...that is unless we're interested in trying to ride any subsequent move in the opposite direction caused by a sudden stop to a continuous stream of liquidity.

I have market depth historical data. I've been recording it and I will likely be buying it from now on starting next month.
You do not necessarily need depth data but certainly full L1 data (bid/ask price/size changes and with all trades/trade sizes) are a must. You do need a complete unfiltered data feed to get this right. What data feed are you using? Much of what you desire to do can be done and is driven by pure logic and knowledge of (CME) exchange matching.
 
Back
Top