- Financial Information eXchange
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 theNASDAQ alone, financial service entities are investing heavily in optimizing electronic trading and employingDirect 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 [ [http://www.networkperformancedaily.com/2008/06/whiteboard_series_overview_of.html Overview of the FIX Protocol for Financial Applications] ] .FIX Protocol Limited
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 .FIX message format layout
The message fields are delimited using the ASCII 01
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
; Body : Order / Trade Details Info; Trailer: Security Check thru Signature and CheckSum.
Users
FIX is widely used by both the
buy side (institutions) as well as thesell side (brokers/dealers) of thefinancial markets . Among its users are mutual funds, investment banks, brokers, stock exchanges and ECNs. See [http://www.fixprotocol.org/adopters/ 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 whereasSWIFT is the standard forback 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.pecification
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 predatesXML it remains much more common thanXML 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.
Checksum
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.
Diagrammatic Representation of FIX System
Notes
ee also
*
Electronic trading
*Algorithmic trading platform External links
# [http://www.fixprotocol.org/ FIX Protocol Organization] - this official FIX website also includes a [http://www.fixprotocol.org/products/ comprehensive list of closed-source and open-source FIX implementations] .
# FIXimate FIX Dictionary [http://www.fixprotocol.org/specifications/fix4.0fiximate/ 4.0] [http://www.fixprotocol.org/specifications/fix4.1fiximate/ 4.1] [http://www.fixprotocol.org/specifications/fix4.2fiximate/ 4.2] [http://www.fixprotocol.org/specifications/fix4.3fiximate/ 4.3] [http://www.fixprotocol.org/specifications/fix4.4fiximate/ 4.4]
# FIXopaedia FIX Dictionary [http://b2bits.com/fixopaedia/fixdic40/ 4.0] [http://b2bits.com/fixopaedia/fixdic41/ 4.1] [http://b2bits.com/fixopaedia/fixdic42/ 4.2] [http://b2bits.com/fixopaedia/fixdic43/ 4.3] [http://b2bits.com/fixopaedia/fixdic44/ 4.4] [http://b2bits.com/fixopaedia/fixdic50/ 5.0] [http://b2bits.com/fixopaedia/fixdict11/ FIXT 1.1]
# [http://www.quickfixj.org QuickFIX/J]
# [http://www.fixionary.com/ NYFIX FIXionary] (Note: this page takes up to 90 seconds to load)
# FIXForge FIX Dictionary: [http://onixs.biz/fixdictionary/4.0/msgs_by_msg_type.html 4.0] [http://onixs.biz/fixdictionary/4.1/msgs_by_msg_type.html 4.1] [http://onixs.biz/fixdictionary/4.2/msgs_by_name.html 4.2] [http://onixs.biz/fixdictionary/4.3/msgs_by_name.html 4.3] [http://onixs.biz/fixdictionary/4.4/msgs_by_name.html 4.4] [http://onixs.biz/fixdictionary/5.0/msgs_by_msg_type.html 5.0]
Wikimedia Foundation. 2010.