Performance Measures for Algorithmic Trading

Automated Order Execution is the dominant way of executing trade orders for the last couple of years at major stock markets. There is a variety of algorithms that are designed to serve different purposes and traders preferences. In Automated Order Execution a computer-based algorithm is used to buy (or sell) a position while attempting to achieve a benchmark specified by the client. Therefore the selected benchmark is used as a measure of trader’s performance. It is undoubtedly difficult to define one standard measure for all trade executions as the objectives can be very different. There are many types of benchmarks, some are established before the trading process, like Arrival Price, others are established during the trading process like VWAP, others quantify delays, or measure the performance with respect to the closing price etc.

The most important performance measures are VWAP (Volume Weighted Average Price) and Arrival Price. Both measures are widely used in practice and represent the standard in the financial industry. One of the problems with measuring slippage, whether it is VWAP or Arrival Price, is that they either distort the slippage measure or do not reflect the true nature of slippage. In the case of VWAP, by its own definition, this measure distorts slippage with increasing order size due to the market impact caused by one’s own orders. Although a good algorithm, the slippage measure is fundamentally flawed.

In the case of the other equally dominant algorithm, Implementation Shortfall (with Arrival Price as decision price), although it is unbiased in terms of measuring slippage caused by price drift and market impact, it does not reflect the true slippage due to its reference to a static reference price. In other words, it does not capture the absolute slippage.

Hence the need for an absolute slippage measure.

The performance measure which is developed within this project aims at providing an alternative way of measuring the performance of execution algorithm. The measure takes a posteriori view of market conditions and its main characteristic is that it is completely objective. Roughly speaking, a posterior approach allows us to determine what would have been the optimal order placement if we knew the complete market information during the trading window. Thus we define the performance measure as the difference between optimal trading position and the trading position that is actually executed. This difference is calculated taking into account all process and traded quantities within the considered time window. Thus we are capturing the impact caused by our own trading as a cost that affects all trades, including our own and avoid the main problem with VWAP in the case of large trades.nsbylevels

Any performance measure has to have several important properties. First of all, it should be able to distinguish clearly between filled and unfilled orders as well as between orders filled at different price levels. Furthermore, the performance measure needs to possess kind of continuity in the sense that a negligible change in the order size or in the fill price should yield negligible
changes in the performance measure. Perhaps the most important property of a performance measure is that it should reflect the toughness of market condition at a particular time window and thus allow one to judge the quality of execution.

This project is realized by the Numerical Optimization Group at Department of Mathematics and Informatics, Faculty of Science, University of Novi Sad, in cooperation with a London based investment fund. Contact: Natasa Krejic (

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: