When Price and Volume Disagree, Part Three

NOTE: If you missed parts one and two of the series, it might be helpful to read them first. Don’t worry, I’ll still be here when you get back.

If you are old enough to remember Schoolhouse Rock, then you already know that three is the magic number. Well, so it is with this post. I think that number three in the series may be the most thought-provoking to date. But it is kind of long, and there is no reader’s digest version. For some, it’s so technical that it might be cracklin’ dry. I apologize. The next post will be more entertaining, I promise. But if you’re the kind who is really interested in the how and why, I think it’ll be worth your time.

Today again I’m going to talk about one of my favorite trading edges, and that is the ability I’ve developed to gauge the harmony or discord between price and volume in the order flow. And one of my favorite tools with which to measure that harmony or discord is the Acme Volume Breakdown (AVB).

The AVB uses a less orthodox strategy of measuring and accumulating buying and selling pressure, so I thought it’d be useful to lay out a day-by-day, apples-to-apples comparison of the way the AVB does it against the more traditional strategy of breaking down and accumulating only volume traded at the bid or the ask.

But first some background. Philosophically speaking, I don’t think you can be the best craftsman (trader) you can be without really understanding why your tools were made they way they were and when to use which tool for what job. So with that said, here is the essential rationale for the Acme Volume Breakdown’s strategy:

  1. On most days the overwhelming amount of volume in the most-traded futures contracts is transacted at the bid and ask in small lots. You’ll see hard evidence of this below, and there’s more here too.
  2. So you have to ask yourself, as a trader looking to better his or her results, if almost all volume is traded at the bid and ask, why is this kind of volume considered to be so special? I say it may have actually been special at one time, but in the light of today’s market mechanics (near-ubiquity of market orders) it just doesn’t have the caché it used to.
  3. Most all market data streams do not feed data the way that most traders (who have given it any thought at all) assume they do. Curious? Keep reading.
  4. The stream of actual transactions (ticks) is separate from the stream of bid and ask quotes. Even though you might assume each tick is reported to your trading software with a price, size, a time stamp and the bid and ask prices that were in effect at the time of the sale, that’s generally not the way it works. The bid prices, ask prices and last sale data (ticks) are all fed from the exchanges more or less independently. Your software – from your data provider’s systems all the way up to your charts and DOM – correlates these feeds for you in whatever manner the engineers who wrote each link in this software chain saw fit.
  5. Said another way, only a loose and circumstantial synchronization exists between tick (last) prices and the bid/ask prices. And during heavy volume and/or fast price movement, it’s possible for the bid/ask prices to lag ticks from the exchanges. If you think about it, this makes both common and engineering sense. If the exchanges have to slow down one stream of data to keep another as fast and time-accurate as possible… which stream do you figure they’d favor? The actual transaction stream or the bid-ask stream?
  6. What’s more, your software can be implemented in such a way that causes the bid/ask and last prints to become out of sync, even if only for a short period of time.

[box type=”note” style=”rounded”]

Before I get further into it, I’d like to point out that the approach the Acme Volume Breakdown uses is available in other software as well. At least two of the most popular futures charting packages give you a choice between bid and ask and uptick/downtick evaluation strategies. I’m not claiming anything revolutionary,  I’m simply showing you why I think it’s the best fit for listening in on the price-volume conversation.[/box]

Bottom Line

If your volume breakdown/cumulative delta relies on the kinds of non-deterministic factors described above for quantifying buy and sell pressure, it’s a virtual certainty that you’re not getting all the right information at all times.

On the other hand, using upticks and downticks is completely deterministic.

Unless the ticks themselves are fed wildly out of order from the exchanges (and they are are time-stamped to the millisecond or less so they can be properly re-ordered at any step along the path), or the reported volume is incorrect, there is no theoretical way for buy or sell pressure to be incorrectly quantified.

The rules of the strategy rely only on information available in the tick stream itself, and are about as simple and as robust they come:

  • If this tick’s price is higher relative to the last tick, then the willingness to pay higher prices must (for any reason) be present. This is buying pressure.
  • If this tick is lower than the last then the willingness to sell at prices lower than the previous price must (again for any reason) be present. This is selling pressure.
  • Volume, then, tells us how strong each of those desires are relative to each other.
  • There is a visual example in the FAQs.

Now, finally, on to the comparison I promised. Below I’ll compare some of the more interesting aspects of ES RTH sessions from last week, August 29 – September 1, 2011.


  • I downloaded NinjaTrader market replay data for each of the above days. I believe this is Zen-Fire data, and on most accounts this is accepted as high quality for the ES.
  • I created a 5000 volume bar chart using the RTH session template, and I added 2 instances of the Acme Volume Breakdown indicator to the chart.
  • The upper indicator panel in images below is the up/downtick breakdown. This is the same version you can download right now, and it breaks down all volume, as (exhaustively) described above.
  • The lower indicator panel is an unreleased bid/ask breakdown version, and it’s identical in every way to the up/down tick version except it uses the tick price vs the bid or ask to evaluate buying or selling pressure. And as is the common practice, it ignores ticks not traded at/above the ask, or at/below the bid.
  • I ran the replay for all of the sessions.
  • I made each day’s screenshot really big so you can widen up your browser to examine details in place, or download and zoom in as you like.

Monday 8/29:

Monday was a relatively tame (by recent comparison) ~20 point up-trend day. Here’s the visual:

Acme Breakdown Showdown - Monday

Monday’s interesting way points:

  • The overall trends and undulations of the two breakdowns are very similar.
  • The bid-ask breakdown (lower panel) near the 8:00am hour dips into negative territory. However, the up/down tick version remained positive and correctly confirmed the higher low around 8:35am.
  • Both strategies nicely confirmed the uptrend, though the up/down tick strategy appeared a bit more confident in its trend confirmation from the 11:15am to 1:00pm window.

To my eyes, the up/downtick strategy gave a more prescient view of the day as it developed. If you paid attention to the zero line and and the bid/ask’s interpretation of the price-volume conversation around 8:30am (the Pacific time European close is a common head-fake point), you might have gotten short. And that would have been the wrong choice.

On this day both strategies finished with a positive delta. 65.5K for the up/down tick version and 51K for the bid/ask version. Less than 15K difference between versions on a day which traded about 1.6 million contracts. That’s a difference of about .9% of the volume of the day. Further testament to the assertion that almost all volume on this day was traded at the bid or ask. If it was otherwise, the differences in overall shape and the final delta (on this day at least) between the two approaches should be substantial. But they’re not. So again, if it’s almost all traded at the bid/ask why treat it as special?


Tuesday, 8/30:

Tuesday, another up-trend day, saw a ~25 point move up on about 2.2 million contracts:

Acme Breakdown Showdown - Tuesday

Tuesday’s interesting way points:

  • Again, the overall shape and trend of both breakdowns is quite similar.
  • The up/downtick version was geometrically accurate at confirming price’s uptrend, where the bid/ask version was more geometrically approximate. See the resumption of the uptrend just after 10:00am.
  • Both the up/downtick and bid/ask breakdowns dipped into negative territory by 7:05am, though the up/downtick breakdown only remained there for about 3 minutes. The bid/ask version went as low as about -16K, and remained negative for over 30 minutes with another negative dip just before 8:00am.
  • A bit of selling commenced about 10 minutes after the European close, around 8:40am. And this kind of selling is shows that there are real differences between the two approaches. The bid/ask version nicely confirmed the selling where the up/downtick version very clearly disagreed with the price action. One of the breakdowns provided valuable information about what was really happening under the surface of the price action and gave clues as to what was likely to come. Guess which one?
  • The difference of the deltas on this day was more substantial, about 60K contracts, though once again the general shape of the breakdowns is very, very similar.

On Tuesday the bid/ask version displayed greater potential to mislead if you are a trader who pays attention to the zero line. The sub-zero dip may have suggested weakness – a classic ES head fake tactic – when the real intention was further buying.

And again, the up/downtick breakdown gave you valuable insight during the 8:40 – 9:30am selling. Had you been watching the bid/ask breakdown, you might reasonably expect further selling. However, the up/downtick version’s price-volume disagreement alerted you to the strong possibility of underlying strength and revealed an imbalance of intent. Had you listened to the discordant conversation, it could have kept you short small, or not at all, and kept you stalking another long at a level where the price-volume conversation became harmonious once again.

Lastly, while the delta difference between the breakdowns seems substantial at about 60K, that’s really only about 2.6% of the day’s volume.


Wednesday, 8/31:

Wednesday was a neutral day which saw trading of approximately 2.8 million contracts on a range of 22.25 points:

Acme Breakdown Showdown - WednesdayWednesday’s interesting way points:

  • The most interesting thing about Wednesday’s breakdowns is that they are very, very similar in shape, trend and character.
  • The bid/ask’s final delta was about -34K contracts, while the up/downtick’s final delta was ~1400. Most interesting here was the basically unchanged close, at about 1219.00, and the up/downtick breakdown agreed with a near-zero final delta.

Frankly, this was one of those rare days when absolutely every technical measure was singing the same tune. What does this mean? Well, typically it means there was genuine price discovery occurring. Both buyers and sellers were present, active and had real, dissenting ideas about fair value. Most importantly, neither were dominant enough to engage in head fakes of any kind. Wednesday was exceptional for it’s lack of exceptions, if you see what I mean.


Thursday, 9/1

Thursday was a solid, steady down-trend day with 2.3 million contracts traded in a 28 point range:

Acme Breakdown Showdown - Thursday

Thursday’s interesting way points:

  • Like Wednesday, Thursday was pretty remarkable if only for the unremarkableness of the price-volume conversation. Except for the BIG head fake stop run after the 7:00am econ numbers, it was controlled selling all day long.
  • Today the final deltas of both breakdowns were actually within about 500 contracts of each other. The bid/ask finished at negative 66K, and the up/downtick version finished at negative 65.5K.

The take-home (dead horse?) message here is that closeness of the final deltas again confirms essentially all volume on that day was in fact traded on the bid or ask. So, again, why treat it as special?


The Wrap-Up

I hope this head-to-head comparison has given you some insight into why the Acme Volume Balance and Breakdown Pack and the Acme Volume Impression Pack use the strategy they do, and perhaps even challenged your thinking a bit on what is the “best way” to view and interpret price-volume action.

Moreover, hopefully I’ve laid out an understandable rationale and provided something of a fresh perspective. It’d be great if you agreed with my assertions, but it’s OK if you don’t. There are many, many ways to view a market. Eventually you have to find your own. And maybe I didn’t say anything you didn’t already know.

But if you did learn something you didn’t know before… how will you use it improve your trading?

9 replies
  1. ValYouW
    ValYouW says:

    This is an interesting post.

    I think that saying “only a loose and circumstantial synchronization exists between tick (last) prices and the bid/ask prices” is a little bit harsh.
    While I have never wrote directly into the exchange API (only to distributors like DTN) I’m not sure that the changes in bid/ask come in a DIFFERENT stream than the trades.
    If there was any sync issues caused by one stream being lagged we would have seen major differences between real-time delta results and historical back-filled delta results (assuming that all historical data is “fixed” and synchronized).

    Here is my take (if I may):
    The assumption is that when someone hits the “sell market” button we want to classify him as a “seller” (vice versa for “buyer”) , when someone hits that “sell market” button the only way his order is going to get filled is on the (best) “bid” – this can either cause a down-tick or NOT.
    Let’s say for example that current bid-ask is 10-10.25 and last trade was 10. Now someone hits “buy market” and buys the last offer @ 10.25, so now bid-ask is 10.25-10.5 and last trade is 10.25 and considered as UP tick. Now someone hits the “SELL market” for 100 lots, this would print at 10.25 (best bid) AND would be considered as an UP tick (“buyer”) while in the bid/ask method it would be a “seller”.
    So what’s the difference between the 2 methods? I think that in the up/down tick method you can more easily see “absorption” action, like in the example above the 100 seller was absorbed by responsive buyer (while bid/ask cum delta would have dropped by 100 the up/down tick cum delta would have not).

    Also I believe you can find cases for both methods, for example look at cum delta on Friday (09/02) on the dbl-bottom at 1175.25 (pic http://my.jetscreenshot.com/6330/20110905-xgnv-139kb).

    Maybe the most important thing is to be consistent with what one chooses to use, or in your words “Eventually you have to find your own”.
    These are very good posts, looking forwards your market internals stuff…

    • El Duque
      El Duque says:

      Actually, to get really technical, updates – ticks, bid and ask quotes, etc – all come in the same physical stream from the data provider (DTN, Zen Fire, eSignal, etc) but are all interleaved logical message streams within that one physical stream. But the data providers’ systems are doing the interleaving from the various exchange message streams so they can forward them all to you in a reliable manner over the public internet. So it’s not harsh or judgmental. It’s reality. And there is not an explicit sync mechanism like there is for a TV signal’s images and sound.

      Clearly either breakdown strategy is valid. That’s part of the point of the post. Bid/ask, in my studies, does not reveal anything about price-volume agreement that is not also revealed in up/downtick, and on occasion bid/ask can even mislead. So why not go with the one least likely to fail and that gives the crispest picture if you have a choice? Many people choose bid/ask I am sure simply because it’s the only way they’ve ever heard about.

      It’s your money on the line – so you have to decide for yourself which tools and strategies are right for you. Several commercial trading packages give you a strategy choice, so you can try for yourself.

  2. QnReally
    QnReally says:


    With Volume Breakdown indicator my intention is to be able to see whether a buyer or seller submitted the market order. That trader is the aggressor and the one which caused the trade to happen. Of course, every trade has a buyer and seller but we want to see who couldn’t wait and had to reach to the best ask/bid to buy or sell.

    If the data stream doesn’t supply best bid and best ask prices with each actual trade within the same logical message then the mechanism to measure the aggressive trade behavior could become some what less reliable.

    Uptick/downtick method is a fallback to compensate for the data issues (or the design) as you say. I am wondering how common or frequent these data issues are and if they are fixed afterwards.

    In the end every trader has to choose what works best but I would welcome a choice in both Volume Breakdown as well as the Impression packs.

    Thanks for all the good work.

    • El Duque
      El Duque says:

      Here’s some more food for thought… again, the important point is that essentially ALL sales are at-the-market transactions, in the ES especially. If all or say almost all ES transactions are at the market, then now can this possibly be a good measure of aggression? By definition, you are looking for at-the-market orders to be some kind of exception which reveals aggression. But if practically all orders are executed at market… they are anything but the exception. They are the norm. By the way… this is exactly the intent of big market participants. They *want* to hide their intentions from you (and all other participants – including other algos), and they do it by executing market orders because you can’t see them coming in the order book.

      The bid/ask “aggression” measure sounds nice and “feels” good. And it’s logical. It does work much of the time. But it’s not the only way, and it has weaknesses. Uptick/downtick is not a fallback, as you say. It’s a superior way to measure buying and selling strength in my view.

      • QnReally
        QnReally says:

        Hypothetically, if the data were always correct and never lags, would you still prefer uptick/downtick versus bid/ask?

        I know the data has issues sometimes so this question may not be relevant.

      • El Duque
        El Duque says:

        I would, if only because market orders are not exceptional anymore. It’s fundamentally a market structure thing. Because it is the way it is, I want the WHOLE volume/order flow picture. And breaking down all the volume (via up/downtick) reveals patterns the bid/ask (which ignores some volume) does not. Those patterns are what this whole series of posts is about…

  3. El Duque
    El Duque says:

    Awesome conversation here by the way. Mostly this is just sharing what I’ve discovered and built, but a small part of my point here is to get you thinking and curious… possibly feeling a little uneasy. That feeling of unease and curiosity was the spark which drove me to investigate all this stuff to the level I have.

    There is no “right” and “wrong”… only advantages and disadvantages in certain circumstances. In trading as in life… it’s all shades of gray.

  4. Kyle
    Kyle says:

    What about contracts traded on BOTH the ask and on an up tick? As well as the reverse, on BOTH the bid and on a down tick? Wouldn’t this volume be considered not only aggressive but highly aggresive in its intention?

    • El Duque
      El Duque says:

      Not really. The relationship is not additive but one of cause and effect. For example, if the bid is one tick below the last transaction and someone issues a market sell order, this will result in a sale one tick lower than the last transaction because the spread must be crossed to execute the sell order. This would be a ‘sell’ because the transaction was at the bid and also a downtick. This situation is the norm, not an exception.


Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *