Banks routinely deal with customers who wish to offload large blocks of shares without suffering the significant losses which can result from affecting the market price with large volume transactions.

The bank has several options for executing a trade on behalf of a client: They can sell all the shares uniformly from 8-4pm throughout the day, or they can apply various algorithms that match the volume of trades executed for that share, such that the sale follows the surges and lows in trading, thus masking that the supply of shares is increasing in the market.

The first option is not advisable, because the market will notice that shares are being sold even during hours that are usually quiet for this stock.

The second choice of algorithmic trading –applying a specific program trading and financial systemsalgorithm to a program trade to minimize transaction costs—gets the best market price because the transaction has minimal market impact.

The process of algorithmic (program) trading involves pre-trade modeling (estimation of trading costs, risk analysis and calculation of optimal horizon), portfolio optimization (risk analysis, optimization and fair value pricing), and post-trade analysis (performance and benchmarking).
A program trading platform requires that quantitative models and a technology infrastructure for the execution of the trades.

Over time the term program trading has evolved to refer to any transaction that involves multiple securities at once and with a significant order size. Program trading is also known as basket trading or portfolio trading, and can be applied to any asset classes. There is a high degree of automation and the term is inspired by the nature of this kind of trading, which is usually performed by computers.

An example of a program trading algorithm would be two derivatives and program tradingcomparable securities, mis-priced, but expected to converge to the same price target because of a fundamental similarity.

In such an example, the program would instruct the trader buy the relatively undervalued security and sell short the relatively overvalued security. Slicing a large trade into smaller pieces is the basis of program techniques known as ‘slicers’. These are used to slice up a large block order and thus make minimum market impact. There are a few ways to slice up a large order:

1) A uniform slicer: sell some percentage of the stock throughout the trading day (8am – 4pm). Not particularly wise, as noted above.

2) Ideally, the bank will shadow the volume profile traded daily so that the sale of the shares is done with minimum impact.

A few metrics are used to measure the effectiveness of slicer, including Volume Weighted Average Price (VWAP), financial market techniquesTime Weighted Average Price (TWAP), Arrival Price (AP).
VWAP measures whether a fair price was delivered to the client. Many clients insist banks meet at least the daily VWAP. In VWAP trading, an attempt is made to trade a fixed number of shares at a price that tracks the VWAP. The computational simplicity of this benchmark makes it popular with traders.

To understand daily share volume movement, one has to forecast the volume. One way is studying historic intra-day volume patterns. Simple implementations use an average VWAP over the last three months to predict the VWAP over the day for some stock. More complicated algorithms will try to increase performance through timing executions and estimation of market direction.

The time-weighted average price (TWAP) is an algorithm for trades that have to be completed at a certain point and also for trades in illiquid stocks. This method permits traders to slice up a trade over time — a time slicer as opposed to a volume slicer. VWAP will trade less stock when the market volume dips, and TWAP will trade the same amount over the same time slot throughout the day. This is reassuring for traders confronted with illiquid assets unable to predict the volume distribution.

mbs and derivatives tradingThe order arrival price is the price of a stock when the order was made and is used a pre-trade benchmark to measure execution quality. The difference between the order arrival price and the execution price can be used to determine the implementation shortfall. For orders submitted prior to the market opening, the previous day’s closing price is used as a proxy.