Order ticket – what you send is what you get
Let’s start with drafting a prototype of a general order ticket – something that is sent to a trading venue.
Normally, orders are sent either as FIX messages (see Chapter 4, Trading Application – What’s Inside?) or in JSON format according to the venue’s specifications. As we also noted in Chapter 4, every venue has its own data and ordering interfaces, but the core properties of an order always remain the same.
Actually, the list of these properties is quite logical. Let’s prepare an empty form and fill in its fields one by one.
First, each order should go out with an ID. Otherwise, how do we or the trading venue refer to it? If we trade live, then the trading venue will generate an order ID that we receive, but if we run a backtest and want to modify orders that had been sent earlier, we need an internally generated order ID. Anyway, number one in our order form is Order ID:
...