Algorithmic execution is a trade off between several things:
- Minimising slippage (broadly speaking the marginal cost of making the trade).
- Hiding (obfuscating) the trade so that it doesn’t move the market / impart alpha to other participants.
- Putting the trade on rapidly enough such that the alpha that motivated the trading decision hasn’t decayed.
- Ascertain probability of getting hit (passively) at different levels of book at different times of day with limit orders (can do this through simulation or even analytically using High Frequency volatility).
- Then use this to trade off execution cost with how quickly you want to execute trade because of alpha decay. Could cross spread after sitting at a level passively for a predefined period of time if you want to guarantee execution by certain amount of time.
- Can use price prediction (see below) to have a view of which way the market is moving too, and overlay this with the probability of getting hit at a certain depth - i.e. cross spread instead of sitting passively if you strongly believe price will move away from you.
- One can hide one’s trading activity by making the trades appear typical for the exchange at the relevant time of day.
- This means choosing the size of the trades and how frequently they are placed based on what is normal for each hour of the day, for example by sampling from distributions of trade size and frequency of trade placements for each hour of day.
Previous engagements in automating trade execution have included:
- Automating the $500 Bill. trade flow of a global hedge fund in futures and FX using AI methods.
- Algorithmic market making in G7 currencies for a global investment bank with a flow of $2 Bill. a day.