High Frequency Trading Is More Powerful Than Ever
--
The advancements of machine learning has left the world stunned, and no where is that more true than in HFT.
Pretend for a moment that you’re a high frequency trader. Your job is to receive orders, assess your holdings, and fulfill the orders based on those holdings. You need to receive the order flow to make money, so it’s important that you keep up with speeds or else your competitor will just get the order flow, putting you out of business.
You maintain and stay alive for years, but you eventually reach a speed threshold because science only moves so fast, so you must innovate. So you think to yourself: “What if I knew what the order was before I even fully received it?” If so, then you’d run circles around the competition by submitting orders before they can even be fully read by even the fastest machine.
Well, now you can.
Before you understand how these systems work, you first have to understand how FIX messages work.
Background
FIX (Financial Information eXchange) messages are a standardized format used by financial institutions to communicate information about trades, orders, and other market data. In high-frequency trading (HFT), FIX messages play a critical role in the fast and accurate execution of trades.
A FIX message consists of a series of fields, each with its own tag number, value, and data type. The tags are used to identify each field, and the values contain the actual data being communicated.
For example, here’s a simplified version of a FIX message:
8=FIX.4.2|9=123|35=D|49=XYZ|56=ABC|34=12|52=20220409-10:00:00|11=12345|55=AAPL|54=1|38=100|40=1|44=150|10=123|
Let’s break this down:
8=FIX.4.2
- This field indicates the version of the FIX protocol being used. In this case, it's version 4.2.9=123
- length of the message in bytes35=D
- message type. In this case, it's a “New Order Single” message (type D).49=XYZ
- sender of the message56=ABC
- receiver of the message34=12
- unique message sequence number