FIX Application messages carries information about market data, gateway status, orders and are broadly categorised in to:
- Pre Trade Messages
- Trade Messages
- Post Trade Messages
Pre Trade Messages
Pre trade messages are sent to get information about securities and current market conditions that traders need before deciding whether to punch orders
- Market Data Request (35=V) – This request is send in system which allow transmission of real time quote, order, trade, trade volume, open interest & other price information on a subscription basis. Its response will contain market data entry such as best bid, best offer etc.
- Market Data Reject Request(35=Y) – This request is returned to the client when the market data request can’t be completed for technical or business reasons.
- Market Data Snapshot Full Refresh (35=W) – This request returns a list of quotes, a list of trades, a list of index values, opening, closing, settlement, high, low or VWAP prices, the trade volume or open interest for a security or any combination of these. In short, more than one market data entry will be returned.
- Market Data Incremental Refresh (35=X) – This MsgType will contain combination of new, modified Market Data Entries for any combination of instruments with any combination of trades, indexes, open, close, settlement, open prices etc.
- Security Definition Request (35=c) – This will request for a specific security to be traded with the second party, this can also request for set of individual security for a single market, it can also request for all securities independent of market segment.
- Security Definition (35=d) – This request is used to accept/reject the security defined in a security definition message, respond to a request for security in a specific market, to inform the security definitions, security trading rules that differ from default rules for the market segment.
- Security Status Request (35=e) – This is used by client to request for status of a security.
- Security Status (35=f) – This message is returned to client with current status of security in the market.
- Trading Session Status Request (35=g) – This message is used to request the information on status of a market.
- Trading Session Status(35=h) – This is the response message received by a client and it contains information on status of a market.
- Bid Request (35=k) – This message is used to request a bid based on the sector, country, index and liquidity information contained within the message in nondisclosed convention like US/European model. Whereas in disclosed convention such as Japanese Model this message is used to request bids based on ListOrderDetail message sent in advance of BidRequest message.
- Bid Response Message (35=l) – This response message will have a bid based on sector, country, index and liquidity information contained in the Bid Request message
- Quote Request Message (35=R) – This message also known as Request for Quote (RFQ) is used to request Quote from Brokers prior to order placement.
- Quote Message (35=S) – This message is returned as a response to Quote Request Message. Quote can be cancelled using Quote Cancel message or by sending a quote message with bid and offer prices and sizes all set to zero.
- Quote Cancel (35=Z) – This message is used for cancelling the quote for a security, underlying
Trade messages is used to submit orders, get acknowledgement of orders, modify and cancel orders.
- NewOrderSingle (35=D) – This message is sent by client to exchange to submit new orders. This message is used for all type of strategies such as future and options, spreads, multileg, outright futures etc.
- OrderCancelRequest (35=F) – This message is used to request the cancellation of order by client. This message gets accepted at exchange end if the order for which cancellation request is sent is not completed its execution.
- OrderCancelReplaceRequest (35=G) – This message is sent to request for changing the parameters such as price, order quantity of an existing order.
- OrderStatusRequest (35=H) – This message is used to request status of a current working order whether it is lying open on the order book or partially filled or filled or cancelled etc.
- ExecutionReport (35=8) – This message is returned with confirmation of acceptance or rejection of a new order and confirmation of acceptance or modification of an existing order
- DontKnowTradeDK (35=Q) – This message is returned in response to an Execution Report. This message is used to reject an unknown order or unknown or invalid execution.
Post Trade Messages
Post trade messages allow to request and receive position information.
- AllocationInstruction (35=J) – The allocation instruction message gives idea about how an order or set of orders will be subdivided among one or more accounts.
- AllocationInstructionAck (35=P) – The allocation instruction Ack message is used to acknowledge the receipt of and provide status for an allocation instruction message.
- SettlementInstructions (35=T) – This message provides instruction for trade settlement.