
The Financial Information eXchange (FIX) protocol is an electronic communications protocol initiated in 1992 for international real-time exchange of information related to the securities transactions and markets. With trillions of dollars traded annually on the NASDAQ alone, financial service entities are investing heavily in optimizing electronic trading and employing Direct Market Access (DMA) to increase their speed to financial markets. Managing the delivery of trading applications and keeping latency low increasingly requires an understanding of the FIX protocol [1].
Contents |
FIX Protocol, Ltd. is the company established for the purpose of ownership and maintenance of the specification. It owns the specification, while keeping it in the public domain.
The message fields are delimited using the ASCII 01 <start of header> character. They're composed of a header, a body and a trailer. The header must contain the 8 (BeginString), 9 (BodyLength), 35(MsgType) tags. The trailer is always terminated by a 10 tag, a checksum.
Header+Body+Trailer : FIX Content
Example of a FIX message : Execution Report
8=FIX.4.2 | 9=67 | 35=8 | 49=PHLX | 56=PERS | 11=ATOMNOCCC9990900 | 52=20071123-05:30:00.000 | 20=3 | 150=E | 39=E | 55=MSFT | 167=CS | 54=1 | 38=15 | 40=2 | 44=15 | 58=PHLX EQUITY TESTING | 59=0 | 47=C | 32=0 | 31=0 | 151=15 | 14=0 | 6=0 | 10=102 |
FIX is widely used by both the buy side (institutions) as well as the sell side (brokers/dealers) of the financial markets. Among its users are mutual funds, investment banks, brokers, stock exchanges and ECNs. See FIX Protocol Organization for an extensive list of major FIX users.
FIX has become the standard electronic protocol for pre-trade communications and trade execution. Although it is mainly used for equity transactions in the front office area, bond, derivatives and FX-transactions are also possible. One could say that whereas SWIFT is the standard for back office messaging, FIX is the standard for front office messaging. However, today, the membership of FIX Protocol Ltd. is extending FIX into block-trade allocation and other phases of the trading process, in every market, for virtually every asset class.
The FIX protocol is a technical specification for electronic communication of trade-related messages. It is a self-describing protocol in many ways similar to other self-describing protocols such as the newer XML; however largely because its use and general acceptance predates XML it remains much more common than XML in securities trading systems.
FIX messages are formed from a number of fields, each field is a tag value pairing that is separated from the next field by a delimiter SOH (0x01). The TAG is a string representation of an integer that indicates the meaning of the field. The value is an array of bytes that hold a specific meaning for the particular TAG. E.g. TAG 48 is securityID and is a string that identifies the security, TAG 22 is IDSource and is an integer that indicates the identifier class being used. In the main the value is readable text however fields can be encrypted and thus the value can be pure binary and include the normal delimiter SOH - binary fields are always preceded by a length field. The FIX protocol defines meanings for most TAGs and a range of TAGs is reserved for private use between consenting parties.
The FIX protocol also defines sets of fields that make a particular message, within the set of fields some will be mandatory and others optional. The ordering of fields within the message is generally unimportant, however as noted length of encryption fields precede the encrypted fields also repeating groups are preceded by a count. The message is broken into three distinct sections: the head, body and tail. Fields must remain within the correct section and within each section the position may be important as fields can act as delimiters that stop one message from running into the next - the final field in any FIX message is TAG 10 (checksum).
There are two main groups of messages - admin and application. The admin messages handle the basics of a FIX session. They allow for a session to be started and terminated and for recovery of missed messages. The application messages deal with the sending and receiving of trade-related information such as an order request or information on the current state and subsequent execution of that order.
The checksum algorithm of FIX consists of summing up all the bytes up to the checksum field (which is last) and return the value modulo 256 - checksum value % 256.

Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History