Having recently enrolled in the QuantInsti EPAT program, I was quite surprised to learn that a large portion of algorithmic trading was not focused on trying to predict future prices but rather on generating alpha by lowering transaction fees and improving execution prices.
Large buy side investors face the problem that when they are dealing with a large quantity of shares trades that they can’t afford to place them in a single market order as the impact on the market would result in obtaining very poor execution prices. There are also time constraints, how fast does an institution need to purchase or offload a certain stock.
Example: An everyday tasks of mine is to send a list of stocks and the quantities that we need to execute to the dealing room, where our head of trading will purchase and offload stocks, over a period of 5 business days, in a manner that our average purchasing price is below the VWAP (average selling price is above the VWAP) and that we don’t create a large disturbance in the market.
Solution: Develop a simple trading strategy to beat the VWAP
Goal: Purchase 100’000 Google shares below the VWAP over 5 business days.
Define: Pegged-to-market order An order, much like a limit order, that automatically corrects its price according to the best bid / ask. This enables the investor to improve the probability of execution at a better price than a market order (market orders pay the bid-ask premium / spread).
Example: Purchase order: set a limit order to the best bid, plus or minus X ticks Sell order: Set a limit order to the best ask, plus or minus X ticks
Aggressive orders = pegged to best bid + X ticks Passive orders = pegged to best bid – X ticks
Note: pegging is most useful in liquid stocks and fast moving markets.
A VWAP Strategy
Step 1: Split the total quantity by the number of days.
100’000 / 5 = 20’000 shares a day
Step 2: Split each day into even smaller quantities
I would recommend calculating the average trade size for Google and using that value. For simplicity sake let’s say that the average trade size is 100 shares.
Therefore split the total orders for the day into 200 lots, each of 100 shares.
Step 3: Place your orders for specific times
Built using data from Bloomberg
Place Pegged-to-Market orders throughout the day, with the majority of your orders placed at the beginning and end of the day. This is due to there being higher trading volumes close to the open and close for the day. Spread the remainder of your orders evenly throughout the day. A good idea would be to weight the number of orders per hour according to the hour’s average over the last week.
Note: For the chart above I charted the volumes per hour for Google. It is interesting to note that the bulk of the trading took place around 15:30. I believe this is most likely due to the VWAP being more predictable towards the close of the day. Using this logic it makes sense that should the price be below the VWAP at 15:00, an institution can more aggressively acquire shares below the VWAP as the VWAP is less likely to change.
By placing Pegged-to-Market orders, you increase the probability of market orders filling yours and therefore you receive the bid-ask spread.
If done correctly, your average price for the day will be marginally lower than the VWAP for the day. This is due to receiving the bid-ask spread.
Strategies like this get dramatically more complex however; the focus of this post was to get your lips wet and to see what the demand is like before I go on to write in depth articles on generating execution alpha.
There is a great paper that readers can study that provides a much deeper understanding. “Optimal Execution of Portfolio Transactions” By: Robert Almgren and Neil Chriss
Gaming a strategy using pegged-to-market orders, arbitrage
With the new knowledge I gained from last week’s lectures I turned to the commodities market where I designed a simple strategy to game those making use of pegged-to-market orders.
Due to my NDA agreement I have to simplify the example:
I found an illiquid commodity that was trading with an R80 spread. I also noticed that there where bots that were programmed to place pegged-to-market orders throughout the day. I placed a new best bid and about 2 seconds later three new orders had been pegged around mine. I kept pushing the bid higher to see how far I could raise it.
I reduced the spread from R80 to R4.
I then cancelled my orders and waited for the spread to return to R80, at which point I started to place limit orders to sell at the best ask. I pushed the price down, decreasing the spread to R2.
At this point I realised that I could write a short script that would pull down the ask towards a spread of R2 and then hit it by placing a market order. I would then wait several minutes for the spread to return to R80 and then I began pushing up the bids to a spread of R4 where I placed a market order to hit the bid.
My total profit after transaction fees was just over R10 which is approximately 1USD. This strategy can easily be automated and scaled to a degree. I would be very interested to test it on other commodities and shares once automated.
Note: By pulling down the best ask I was able to buy the security at a 2% discount; A great example of execution alpha.
For the readers who are interested in gaming strategies that rely on VWAP I would recommend the paper: “Limits to Arbitrage and Commodity Index Investment: Front-Running the Goldman Roll” By: Yiqun Mou.
I recommend reading Larry Harris: Trading & Exchanges, Market Microstructure for Practitioners
To the Readers
Please let us know if this is a topic that you would like to see more of and the team and I will dive deep into the mechanics.
We will be taking you through the Bear Call Ladder Option Strategy that is also an extension to the Bear Call Spread and explain the strategy using a Live Trading Market example by coding the strategy in Python.