Every trade / transaction has a buyer and a seller. However, there is an important question regarding the initiator of the trade, i.e. was the initiator a seller or a buyer?

For example, imagine a bunch of buy and sell orders in the system; the auction process will match the highest bid to the lowest offer. If there is no match then there is no trade, and the market participants will have to change their bids and offers to find a match, e.g. by entering a more aggressive bid or offer, possibly by entering "at market".

The buyer who raises his order to a higher price (or buys "at market") is the initiator of the trade, and is said to be more aggressive. The one he buys from was more passive. Likewise the seller who lowers their price (or sells "at market") is more aggressive, and the one he sells to is more passive.

Understanding the number of (or ratio of) "aggressive buys" and "aggressive sells" can provide useful hints to the direction of the market, especially around key support / resistance levels. The “footprint” is set of the visible clues that we can use to determine the aggressive or initiating side of a trade.

Exchange traded instruments, such as stocks and futures, etc. will have real trade volumes, and "time and sales" information. If you have access to this “Level 2” information then it is usually possible to tell from the quote and trade data whether a particular trade was an aggressive buy or sell. This general topic is known as "trade direction classification".

Unfortunately, for spot forex, CFDs and many other instruments, this level of information is not available. Even in the world of High Frequency Trading (HFT), the time and sales information is so delayed (compared to their trade horizon) that it is not so useful.

Additionally for empirical researchers (econometricians) there usually is not enough historical data for their models, and so they have relied on other trade direction algorithms to classify trades as buyer or seller motivated. There are a number of academic papers describing techniques from this field which might be usefully employed in the spot forex and CFD domain. The general principal is to use the price quotes (tick data) to infer the trade direction, since market orders will eat liquidity and price will move to a higher ask (or lower bid)

The Footprint indicator can select from a number of buy/sell classification models to try to determine from the Ask and Bid tick streams whether a particular tick represented buying or selling. It attributes these buys/sells to specific price levels, and then accumulates these over time (in fact over the period of a single “candle” or bar of the chart). The Footprint indicator can then display these on to the chart as profile.

The indicator uses tick data for the Ask and the Bid of the underlying chart. For efficiency reasons, the indicator does not load the tick data for the whole chart, since it would take a long time to load; instead the number of initial bars to load is specified.

The indicator is best suited to 5 min, 15 min, 30 min candle charts. Charts with 1 min candles tend to have too few data points to be statistically meaningful. Charts with 1 hour candles or higher can be used, but it is advised to limit the number of bars for the initial load to just a handful.

The Footprint indicator does not give any trade signals by itself. It just allows you to see inside the bar with more detail than is normally possible. It is best used with other technical analysis techniques such as support/resistance levels, Market Profile, etc.

The Footprint indicator can be useful for aiding scalping decisions, for more precise entries, and for positioning exits (stop loss orders and limit orders).

There are a number of models that can be selected for the buy/sell classification. These are described later in this document.

Input Parameters

Most of the parameters should be fairly self-explanatory, and are all fully explained in the documentation that accompanies the indicator.


Further Information

Further information may be found on this blog by searching for tagged articles.


The indicators are available to purchase for MarketScope 2.0 via the Store page. You can also request a trial version by contacting me (use the link in the side bar).