A trade begins as a decision, not an event. When an investor commits to buy or sell, a record opens — long before it reaches a market.
At order entry, the broker's order management system records the first data points: the side, the symbol, the order type — with the price or stop price that type requires — the quantity, a timestamp, the duration, and the account. It also assigns a client order identifier, the key every later reconstruction is traced back to.
Then comes routing. For a non-directed order, the broker chooses where to send it — another record: the destination venue, the routing logic, and any payment-for-order-flow arrangement. In the US, these decisions answer to a disclosure regime — SEC Rule 606 — and to the duty of best execution.
By the time it reaches the market, the order carries a documented history — the opening stage of the order–trade–fulfillment lifecycle. The reconstruction starts here.
For the practitioner · FIX mapping
The order-stage fields, mapped to the FIX tags that carry an order between systems. Requiredness below is the base-protocol rule — venues and reporting regimes layer their own conditions on top. Where a field the record depends on has no clean FIX tag, that is marked; the gap is itself the point.
| Field | FIX tag | Note |
| Order entry |
| side | Side (54) | required. 1 = buy, 2 = sell, 5 = sell short |
| symbol | Symbol (55) | the instrument; SecurityID (48) / SecurityIDSource (22) give precise identification |
| order type | OrdType (40) | required. 1 = market, 2 = limit, 3 = stop, 4 = stop-limit |
| price (limit orders) | Price (44) | also carried by stop-limit, pegged, and previously-quoted orders; not used on a market order |
| stop price (stop orders) | StopPx (99) | required for stop and stop-limit orders; also the trailing amount on a trailing stop |
| quantity | OrderQty (38) | required, unless the order is given as a cash amount (CashOrderQty 152) |
| timestamp | TransactTime (60) | required; the order-creation time. SendingTime (52) is the transport time |
| duration | TimeInForce (59) | optional; its absence means day. ExpireDate (432) / ExpireTime (126) required for good-till-date |
| account | Account (1) | optional |
| client order identifier | ClOrdID (11) | required and unique; OrigClOrdID (41) ties an amend or cancel to the original |
| Routing |
| destination venue | ExDestination (100) | optional; the requested destination |
| routing logic | — no dedicated tag | handling is conveyed in part by HandlInst (21); the router or algorithm identity is not a standard order-entry field |
| directed or non-directed | — no boolean | inferred from ExDestination (100) and the handling instruction |
| payment for order flow | — not carried | a commercial fact, disclosed under SEC Rule 606, not present in the order message |
Source: FIX Trading Community, FIXimate tag dictionary.