Sunday, January 15, 2006

Analyzing Bid/Ask volume

I have to give credit to Ingo from IRC:Othernet:#tradingspace who with his SVOL indicator measuring the breadth of the US market gave me the idea to look deeper into Bid/Ask volume.

Bid / Ask size, you have it often on your trading platform, but do you really use it when trading futures? Unconsciously maybe, but as part of your conscious trading decision process leading to the press of the trigger, I doubt it. In most of the futures markets we trade Bid/Ask size changes too fast and especially in the currency markets with MarketMakers present, it is considered misleading at least.

Still Ingo, whom I respect as trader making great calls in the room, told me, Bid/Ask volume is important. And in one thing he is sure right:

The moment you have made your trade at a specific price your influence in the market is over. You are at the mercy of other traders seeing the trading landscape as you saw it, for the trade to go in your intended direction. Most traders watch price and price dependant indicators, which explains, why price matters – a self fullfilling prophecy. But in fact the market is influenced by the traders on the sidelines about to make their trade, not by the traders already committed, who, if anything will influence the market against your position, as to cover a Long they need to sell and vice versa for a Short.

The question remains, how can we see the intentions of the traders on the sidelines. Is it possible to somehow calculate their influence, put it in a number which then tells us either by dynamic direction (the number going up or down) or by a static level whether the majority of the traders on the sidelines, intend to go Long or Short.

I did a Google search for “Buy Sell Pressure based on Bid Ask volume” and got a reference to this article: which told me:

Hey Chris, maybe there is something to it, it’s not a totally crazy idea you have had here. It might be worth persuing these ideas and think a bit more about it. I have some interest in mathematics, but I have to admit the mathematical modell the authors are applying is beyond me. And it goes against my KISS approach I always apply, when introducing something new anyway. Trading is not complicated and the more elaborate the mathematical models the farther away are they from the reality happening right in front of me.

So I thought: Let’s start with the basics. What has to happen for price to tick up. Here is an example of a fictious ES trading scenario


You see the price behavior between 1300.00 and 1301.00. I have displayed the maximum Bid/Ask volume at T1 to T10. You don’t see the tradevolume at each level, as right now we say, the trades which have happened no longer matter, they are history, they can not influence the market other than by convincing other traders, that now it is time to commit themself to take a trade.

Now let’s see if we can use these numbers to get a meaningful indication, that the market will stall and turn at T7.


For price to advance to a new level eg. going up, the Buyers need to take out all the Sellers at the current Ask pricelevel or the sellers still in the queue have to decide, that they might be able to get a higher price for their contracts and withdraw their offer.

We start at T1 with a setting of Bid 200 at 1300.00 Ask 300 at 1300.25. The next we see is Bid 200 at 1300.25 Ask 150 at 1300.50.
How did the market go there? The Buyers either took all the 300 contracts offered at 1300.25 or the Sellers at 1300.25 withdraw their offer to sell, to move it up to a higher pricelevel.
Be it as it is, there was enough Buying pressure to overcome the 300 contracts offered at T1 and there are still Buyers which want to Buy 200 ES contracts at 1300.25 at T2.

That’s the reason, the moment the market ticks up, I took the maximum Asksize at T1 added the contracts Bid at T2 to get the reading of 500 Buyers at T2, the 150 reading for the Sellers is just the new Asksize at 1300.50. Now the moment the market goes flat at T4, T5 and then at T7, there is an equilibrum between Buyers and Sellers and I take just the maximum Bid/Ask volume to measure the influence of potential Buyers and Sellers.

The numbers we get as Total already alert us of price stalling, but in real trading they will not help you, as they are static and changing too fast. Let’s calculate a trend instead, by cummulating the numbers:


Now this looks interesting at first glance: The numbers go from negative up when the market is advancing (T2), keep you in the trade at T4, T5 and reverse one Timeunit earlier (T7) than the market is really turning (T8).

I already have implemented a first version of this new Buy / Sell pressure indicator in a beta version of my trading platform (Futures-Trader) which handsomely kept me in a 20 tick profit cable trade on Friday, which otherwise I would have covered at a 4 tick profit (as prices were actually reversing against me), but there is still something missing, which is the reason I’m writing this whole article and why I have not yet released the BSP Indicator to my customers.

Iceberg orders: Say the Bid is showing 200 and downticking, there are 1000 contracts traded at the Bid and still the Bid remains at 200, goes down to 10 and mysteriously the 200 Bid reappears. The market is trying to sell-off, but there is one big order which holds the market and takes all the contracts offered. Once the market realizes this, the sellers vanish, buyers reappear, step in front of the Iceberg order and the market reverses. There is no indicator I know of which is telling me that at a certain level there are iceberg orders hidden, but there might be an indication:

The number of trades at the Bid is either a lot bigger than the Bid actually shown or you (actually the computer) is able to identify situations, where the Bid would go negative with the last trade reported and instead shows the 200 reading again. I’m not yet sure, if I should somehow add these Iceberg orders to the Buying or Selling pressure measurement, or just give an indication, that there are possible Icebergorders at the current pricelevel.

If you have followed my explanations sofar and have any ideas, let me know them.