Building an HFT System from Market Data to Execution
Summary
The discussion sketches a learning path for understanding high-frequency trading systems, from market data and exchange connectivity to algorithms and order management. It names FIX, direct market access, data-feed handlers, networking, and programming as relevant topics. The proposed basic workflow links exchange data to a feed handler, a trading algorithm, and order management that sends messages back to the exchange.
The accepted response recommends beginning with a simulator and trade and quote data, then examining intraday patterns in volume, volatility, bid–ask spreads, and displayed depth. It also emphasizes a reusable messaging layer that handles acknowledgments and unsolicited cancels, with strategy and execution tactics separated into distinct decision layers. The exchange is informal guidance rather than a complete engineering specification: it gives no performance measurements, implementation details, or venue-specific requirements. Its suggested sequence and reading matter are starting points for learning, not evidence that a particular architecture or strategy will be profitable.
Key ideas
- A basic trading-system workflow connects exchange feeds, data handling, strategy logic, and order management.
- A simulator and trade and quote data provide a useful starting point for development.
- Intraday volume, volatility, spreads, and displayed depth can be studied for recurring patterns.
- A messaging layer should handle acknowledgments and unsolicited cancellations consistently.
- Separating strategy and risk decisions from execution tactics helps organize system logic.
Tags
Full text
# Beginner to high-frequency trading
# Beginner to high-frequency trading
I am extremely new to the field of high-frequency trading. I have been trying to read a ton of materials out there to understand the general workflow. I have very basic knowledge of different concepts like FIX, Direct Market Access, Order Management System, DataFeed engines etc.
However, I have not been able to build a monolithic understanding of the system i.e. what is the first step to setting up a HFT system and the subsequent steps?
I hope that there are others who had to learn about the systems and architecture of HFT from scratch and are willing to share how they went about it.
Greatly appreciate all the help and advice.
[Update on what I found helpful]: Thank you @lehalle. I would like to pass on what I have learnt for anyone else who might be interested to explore high-frequency trading. I think the book: Algorithmic Trading and DMA: An introduction to direct access trading strategies, by Johnson, introduced key concepts such as FIX messages and Direct Market Access (DMA). From there, I started reading deeper into FIX protocols. In very simple terms, the infrastructure for high-frequency trading firms is Exchange -> Market Data Feed handler -> Algorithm -> Order Management System (OMS) -> Exchange. So it really helps to just google Market Data Feed handlers and read the documentation from different vendors. From there, you will understand that to achieve low latency, we would need good very fast networking infrastructure. It is helpful to read up on the OSI model and the underlying protocols and read up on basic networking infrastructure like network cards, etc. From there you would get a clearer picture of the setup. And just repeat the steps: google search different vendors, get them on the phone, learn what they offer and don't be shy to ask questions. Finally, learn up C ad C++, and invest on some intraday data and practice your C and C++.
## Answer by lehalle (score 9, accepted)
https://quant.stackexchange.com/a/52893
My advice would be to read some books. To start with:
- Algorithmic Trading and DMA: An introduction to direct access trading strategies, by Johnson
- Market Microstructure in Practice, 2nd edition by L and Laruelle ;{)}
I would start an intraday trading system by
- a simulator, and hence at least trade and quote data
- some statistics on intra-day seasonalities (volume, volatility, BA-spread and volume at first limits)
- a layer of code wrapping for once the back and forth messages between the trading code and the exchange (taking care of acknowledgments, unsolicited cancels, etc a generic way)
- a structure of decision split in two layers: a strategy (with a ficus on risk management), and a series of tactics (for the interactions with the other participants).Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.