If it helps calm everyone down, I'll weigh in and assert that almost
everyone here in this thread is using "icebergs" incorrectly. I'm happy to be proved wrong, the world is a happier place when everyone learns of their own lack of knowledge.
Myth #1: 100% or near 100% accuracy.
I take it that this claim implies either 0% false positive rate or 0% false negative rate, both of which are fictitious claims.
Whether you're using MBO or MBP, it's
always guesswork whether there exists any remaining reserve quantity at a level. For
CME, whenever a reserve portion of an order gets revealed, that's after-the-fact and there's nothing guaranteeing that there's any remaining reserve portion to that order. MBO provides more information than MBP so you can make a slightly better inference, but it still withholds the aggressor's tag 210 so it is impossible to deduce with 100% certainty the remaining portion of an order until the price level has been fully cleared - which is the special case where you are 100% sure the remaining portion is 0.
In fact if a vendor truthfully claims they've done the hidden order detection properly, they should be advertising the opposite of 100% -
very few hidden orders detected at 0% false positive rate, i.e. a high false negative rate. In practice I've seen as few as 29 hidden orders in a single day on an active ticker (like 6E) when calibrated to 0~% false positive detection.
Myth #2: Icebergs are mostly used by big firms, to hide big orders.
Actually no, the opposite. You will find that an overwhelming portion of hidden orders on CME are attributable to net liquidity providers (market makers) with small size rather than net liquidity takers with big size. On CME the most common hidden order displays 1 lot and has a reserve portion of 1 lot... not 10%.
I think this myth creeped into futures lore because the behavior you're describing is more prevalent on Inet-based matching engine architectures (like
NASDAQ,
Cboe FX, Australia), European MTFs, or interbank ECNs.
Myth #3: The market is going to run away from them, so they use icebergs to avoid that.
The main use case for icebergs on CME has never been to hide your size,
but rather to allow market makers to provide liquidity at a more aggressive spread. This has been the case if you look as far back as 2006, and they only recently made changes to reduce the benefit to market makers in Q1 2019.
If you don't believe me, you can run the statistical analysis yourself. Averaging across all of a given size
VWAP (which is exposed to price improvement from hidden liquidity), you will actually see less realized
slippage than the instantaneous sweep estimate (cumulating the visible book till that given size, which will not take into account hidden liquidity). What this means is that
your average slippage is actually smaller trading against an iceberg, so on aggregate the hidden orders are actually tightening the spread for you.
The above analysis contradicts Myth #3. What Myth #3 perpetrates is that the average user of the iceberg uses it to reduce their slippage, which in turn means their counterparty trading into the iceberg will experience increased slippage. This is a simple conservation law - you can't have both parties of a trade reducing their slippage.
So if you've been listening to some vendor advertise that you should follow the same direction as the iceberg, they're wrong. The opposite is
more likely to be true even though it may seem unintuitive: the truth is, it's usually better to trade into an iceberg.
Myth #4: artemiso is lying to you, check our example on lead month ES.
It puzzled me for some time why vendors like to display their "iceberg detection capabilities" on ES. For obvious futures tickers, I would expect the iceberg-adjusted risk for the market maker is greater on FESX (Eurex) than ES, so it would be a better place to demonstrate the allegedly adverse effect of trading into an iceberg. Why ES? I'm going to make a bold claim: it's because there's so many trades on ES that they can get away with making nonsense up and disguise the worthlessness of their indicator behind large volume of random noise.
So, I can construct 2 edge cases which serve as a lie detection test.
1) Ask your vendor to compute the
backtest average 10 second unrealized profit of buying/selling in the same direction as every detected iceberg on ZN. Why ZN in particular? Historically the iceberg-adjusted risk for the market maker is smaller on ZN than ES, meaning a market maker is more willing to tighten their spread using an iceberg, so it's going to be more obvious that your vendor got the sign wrong.
2) Ask your vendor to demonstrate the iceberg detection on a
low trade count, high average trade size, high institutional activity product, which should be an even more ideal environment for demonstrating both the accuracy and usefulness iceberg detection than ES. There's a few perfect candidates for this. Let's try the
6E:XF:EURUSD:M0 (tag 55) FX-Link spread i.e. Globex ID
205799 on June 1, 2020 which had a trade volume of 1,130 and 27 trades.