Program Trading — a Primer

Introduction
An investor buys/sells stocks in market via a brokerage firm which is licensed to buy/sell securities in exchange. Stock Brokers can be of two types: High touch or Low touch. A portfolio can focus on a handful amount of stocks or might involve buying/selling many stocks at the same time. Depending upon the nature of the portfolio the investor chooses the type of the stock broker.


High Touch Vs Low Touch
High touch is a business model which requires high level of human interaction for servicing clients. Whereas Low touch is a business model which requires lower level of human interaction and servicing.
A simple example to explain will be the difference in service a customer gets in going to a high end restaurant (high touch) vs picking up a drive away order from a burger joint (low touch). The waiter at high restaurant will make a suggestion for meals and then on the wines that go well with the meal you order. However in the drive away you just go pay on the counter and pick up your order, minimal interaction.

High Touch Stock Broker
Mostly deals with execution of portfolios focused on few stocks. The brokers provide high level of client servicing by sharing the market news, commentary, stock ideas etc. They execute the orders by instructing dealers via voice. The clients have to pay higher commission because of the high level of service.

Low Touch Stock Broker
Mostly handle portfolios that involve buying/selling of many stock names simultaneously. Orders are executed via computer based execution involving use of algorithms and analytics. The clients are charged lower commission rates. In most of the banks/brokers the low touch business is further divided into program trading and direct market access (dma). In Program trading the execution risk is on the broker, however in dma the execution risk is shared by the client & broker.


Program Trading
Stock basket is buying/selling or both on a group of securities simultaneously. Program trading is a business whose primary objective is to provide clients with liquidity in trading stock baskets. It involves buying and selling of many securities simultaneously utilizing computer based algorithms and trade analytics to perform execution.

Main reasons for clients to trade on stock baskets-
- Money managers expecting to match or outperform an index will create a basket of stocks to buy and sell securities at the same time in order to achieve the objective
- At times there is a need to make a transition of existing positions from a book into new book (cases like if the book owner leaves the firm or management decide to merge books). The transition will involve selling current positions and buying new positions.

Program Trading Terminology
Benchmark- 
Normally refers to an index (like MSCI, FTSE, HSI etc). This usually means that index’s return is the level to which their portfolio return is measured.

Tracking & Tracking Error-
Portfolio is intended to track the benchmark or outperform the benchmark. Example if a portfolio P tracks a benchmark, in simple word means its returns have a high covariance with the benchmark. Tracking error is a measure of how much the tracking portfolio misses the benchmark.

Long Short Basket-
A basket of stocks containing orders to buy and sell stocks simultaneously. Example- if an investor wants to sell 100 shares of stock A and buy 100 shares of stock B, then the investor will send a long short basket with the above details to the broker.

Types of Program Trades
Agency Trades- 
The broker desk acts as a dealer for the client, the dealers job is to execute the trade in best efforts for the client. Desk is paid commission on the execution. The execution risk is on the broker, however the market risk to the corresponding position is on the client. The dealers’ performance is measured in terms of the execution risk and future business depends upon good performance.

Principal Trades-
The broker buys the entire portfolio of baskets from the client at an agreed upon price. The agreed price calculation is usually based on the closing price of each stock in the portfolio on the day risk bid takes place. The market risk due to buying the portfolio lies on the broker. When a program trading desk engages in a risk bid, their profit is the price per share they bid less the cost of trading.

Client has a position to buy/sell/both in the market but would not reveal the details until the time prices have been agreed upon, some good reasons could be
- Fear of Front running
- Privacy: some traders prefer keeping their trades private

On the other hand the Program trader needs to know as much as possible about the contents of the basket in advance of trading for some reasons 
- variation in liquidity of underlying securities
- variation in liquidity of the stocks in basket

So in order to come up with pricing a Program trader normally looks out for a very specific information from the client, things like notional weightage of the basket across markets, total number of stocks, liquidity breakout of the stocks in the basket, volatility distribution of the stokcs involved etc.

Program Trading: Common Algorithms
The execution algorithm/benchmark is selected based on the size & liquidity of the basket. There are explicit costs of trading like crosssing spreads, commissions, taxes & fees which are easier to quantize . There are also implicit costs like market impact & market movements which are difficult to quantise, hence play an important role while selecting an execution strategy.
Market impact is the effect on price of a stock due to buying/selling of stock by the market participant. Market movement is the risk that the price will move opposite to the desired direction before completing the order execution. The amount of risk is directly proportional to the amount of time taken to execute the orders. 
There are certainly few actions that are expected to make a market impact and move market, like-
- Aggressive execution of an order with a high participation rate
- placing a large order at once which gets visible on the order book

So executing the orders with a high participation risk leads to higher market impact however if the order is executed at too low participation rate it increases the market movement risk. Different algorithms try to balance out the market impact & market movement risks.

VWAP-
Volume weighted average price is a trading benchmark calculated by adding up the dollars traded for every transaction in the day and dividing it with the total number of shares traded. Aims to execute a basket with minimal impact on the stock prices. This is easy to explain and to implement and is commonly used as a benchmark for the “neutral execution style”.

POV-
Percentage of volume is a participation algorithm designed to target a defined fraction of the overall volume on a stock for the period in question. As its intention is to keep its trading activity in line with total volume, its market impact is less than a VWAP.

MOC-
Market on close aims to match the last traded price for a security, most commonly followed by index tracking strategies.

IS-
Implementation shortfall also known as slippage, is the difference between the arrival price & final execution price of an order. This algorithm seeks to minimise the slippage, hence removes the balancing of market impact & market movement risk. The key issue using this algorithm is the prediction of the movement of the security, example if you are selling and price is going up you should rather wait and sell. In case falling you should rather sell all and complete the order.

TWAP-
Time weighted average price algorithm splits the order into equal sized smaller orders that are spread over the selected time duration. It doesnt takes into account the volume distribution of a stock through the day.

Program Trading: Market Structure
Information like ID markets, odd lot markets, short selling rules, settlement cycle, price limits, crossing rules, NDF markets etc fall into market structure. 
Program trade baskets usually consist of buying and selling securities simultaneously across different markets. Hence market structure information plays a very important role in the program trading business in asia as different markets have different rules for each market structure variable. The market structure information is available on each exchange’s website, with increasing regulations the market structure information is becoming more valuable day by day. Large brokers these days have a separate teams to teach their clients about the best practices and keep them aware of the latest market structure changes.