The Financial Information eXchange (FIX) Protocol


It is a series of messaging specifications for the electronic communication of trade-related messages.

Example of FIX message (Tag Value pair)

8=FIX.4.1^9=0235^35=D^34=10^43=N^49=VENDOR^50=CUSTOME^56=BROKER^52=19980930-09:25:28^1=XQCCFUND^11=10^21=1^55=EK^48=277461109^22=1^54=1^38=10000^40=2^44=76.750000^59=0^10=165

Fix message divided into 3 main category

  1. Header
    • Fix version
    • sender
    • receiver
    • type of message
  2. Body
    • order type
    • symbol
    • qty
    • price
  3. Footer
    • checksum – used to avoid the transmission error

Let us now understand above example FIX message in detail

(^) caret is a field delimiter

Referring to FIX specification at http://fixprotocol.org/FIXimate3.0/?language=en&version=FIX.4.1

8=FIX.4.1

Tag Description Valid values
8 Identifies beginning of new message and protocol version. ALWAYS FIRST FIELD IN MESSAGE. (Always unencrypted)

9=0235

Tag Description Valid values
9 Message length, in bytes, forward to the CheckSum field. ALWAYS SECOND FIELD IN MESSAGE. (Always unencrypted)

35=D

Tag Description Valid values
35 Defines message type. ALWAYS THIRD FIELD IN MESSAGE. (Always unencrypted)Note: A “U” as the first character in the MsgType field (i.e. U1, U2, etc) indicates that the message format is privately defined between the sender and receiver.
D = Order – Single [NewOrderSingle]

34=10

Tag Description Valid values
34 Integer message sequence number.

43=N

Tag Description Valid values
43 Indicates possible retransmission of message with this sequence number
N = Original transmission [OriginalTransmission]

49=VENDOR

Tag Description Added Depr. Enums from tag Valid values
49 Assigned value used to identify firm sending message. FIX.2.7

 

50=CUSTOME

Tag Field Name Data Type Union Datatype Description Added Depr. Enums from tag Valid values

56=BROKER

Tag Description Valid values
56 Assigned value used to identify receiving firm.

52=19980930-09:25:28

Tag Description Valid values
52 Time of message transmission (always expressed in GMT)

1=XQCCFUND

Tag Description Valid values
1 Account mnemonic as agreed between broker and institution.

11=10

Tag Description Valid values
11 Unique identifier for Order as assigned by institution. Uniqueness must be guaranteed within a single trading day. Firms which electronically submit multi-day orders should consider embedding a date within the ClOrdID field to assure uniqueness across days.

21=1

Tag Description Valid values
21 Instructions for order handling on Broker trading floor
1 = Automated execution order, private, no Broker intervention [AutomatedExecutionNoIntervention]

55=EK

Tag Description Enums from tag Valid values
55 Ticker symbol

48=277461109

Tag Description Enums from tag Valid values
48 CUSIP or other alternate security identifier

22=1

Tag Description Valid values
22 Identifies class of alternative SecurityID
1 = CUSIP [CUSIP]

54=1

Tag Description Valid values
54 Side of order
1 = Buy [Buy]

38=10000

Tag Description Added Valid values
38 Number of shares ordered FIX.2.7

40=2

Tag Description Valid values
40 Order type.
2 = Limit [Limit]

44=76.750000

Tag Description Valid values
44 Price per share

59=0

Tag Description Valid values
59 Specifies how long the order remains in effect. Absence of this field is interpreted as DAY.
0 = Day [Day]

10=165

Tag Description Valid values
10 Three byte, simple checksum (see Appendix B for description). ALWAYS LAST FIELD IN RECORD; i.e. serves, with the trailing <SOH>, as the end-of-record delimiter. Always defined as three characters. (Always unencrypted)

Different message type

Admin Messages

  • Login
  • Logout
  • Heartbeat

Application Message

  • New order
  • Order cancel
  • Execution
  • All business related messages

Do come back to see more updates on this article.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s