Microstructure, and an Honest Assessment
This chapter exists to tell you not to do something, and to explain what's worth taking from it anyway.
What actually happens at short horizons
Market making. Continuously quoting both sides, earning the spread, managing inventory. The theoretical framework is well developed - Avellaneda and Stoikov's model is the standard reference - and the practical problem is adverse selection: your quotes get filled preferentially by counterparties who know something you don't. A market maker who fails to manage this earns the spread on uninformed flow and loses considerably more on informed flow.
Latency arbitrage. The same instrument trades on multiple venues. Prices update at different times. Someone with faster access to venue A can trade against stale quotes on venue B. This is a pure speed race.
Order anticipation. Detecting large institutional orders being worked over time and trading ahead of the remaining flow.
Why you cannot compete
The speed race has been run and settled:
- Colocation. Servers in the exchange's own data centre, with cable lengths equalised between participants because the difference mattered.
- Custom hardware. FPGA implementations of the trading logic, bypassing the operating system entirely. Tick-to-trade latencies measured in tens of nanoseconds.
- Direct feeds. Raw exchange multicast rather than consolidated vendor feeds, which are slower by orders of magnitude.
- Microwave and millimetre-wave networks between financial centres, because light travels faster through air than through fibre.
Your Python process, running on a cloud VM, reading a websocket feed, has a latency roughly six orders of magnitude worse than the participants who set prices at this horizon. This is not a gap that better code closes. It's a gap that requires capital expenditure in the millions and a specialist team.
The blunt version: if your strategy's profitability depends on being fast, you have already lost. Choose strategies whose edge is orthogonal to speed.
What's genuinely worth taking from it
Three things.
Execution improves every strategy you run. The difference between crossing the spread and posting passively is a real cost you control. On many venues, maker orders earn a rebate while taker orders pay a fee - the difference can exceed the entire edge of a marginal strategy. If your strategy's signal is not urgent, posting passively rather than taking is free money, subject to the risk of not filling.
Adverse selection applies to you too. When your resting limit order fills, ask why. Often the answer is that someone with better information wanted the other side. Passive execution is not free - it exchanges explicit cost for adverse selection risk.
Market impact is a predictable function of size. The empirical literature (Bouchaud and colleagues, among others) supports an approximately square-root relationship: impact scales roughly with the square root of order size relative to typical volume. For retail sizes this is negligible, which is worth knowing precisely because it tells you the one dimension on which you have an advantage. You can trade instruments and sizes where impact would make the strategy unviable for anyone larger.
That connects back to Chapter 1's central point: the retail advantage is capacity, not speed. The correct response to this chapter is not to try to get faster. It is to deliberately choose horizons where speed doesn't determine the outcome - which is essentially everything measured in hours or longer - and to exploit the small-capacity niches that professionals cannot profitably enter.
Where a retail engineer legitimately can play
- Slower horizons, where a few hundred milliseconds is irrelevant.
- Small-capacity niches too small to attract professional capital.
- Fragmented markets with genuine operational barriers rather than pure speed barriers - though note that crypto cross-exchange arbitrage, the usual example, is constrained by transfer times and capital requirements at each venue, and the easy version was competed away years ago.
- Execution optimisation of your own orders, which is a real and achievable improvement to whatever strategy you actually run.