This is a proof of concept for how the complete FIX specification might look if it were ported across to FIXwiki. For the proof of concept all of Volume 3 of the specification and a large part of Volume 1 have been ported across. Further conversion of the specification depends on whether community feedback indicates that they find this useful. Because the conversion is not complete, many links just lead to stubs still to be filled in. The most interesting (ie completed) links from this "FIX specification" page are: * Tag=Value (traditional) * XML (FIXML) * Pre-trade messages From the "Pre-trade messages" page, the following links will be the most interesting: * Quoting Models (in the "Quotation and Negotiation" section) * Product Reference and Market Structure Data Model (in the "Market Structure Reference Data" section) * Parties Reference Data (in the "Parties Reference Data" section)
The Financial Information Exchange (FIX) Protocol is a message standard developed to facilitate the electronic exchange of information related to securities transactions. It is intended for use between trading partners wishing to automate communications.
The message protocol, as defined, will support a variety of business functions. FIX was originally defined for use in supporting US domestic equity trading with message traffic flowing directly between principals. As the protocol evolved, a number of fields were added to support cross-border trading, derivatives, fixed income, and other products. Similarly, the protocol was expanded to allow third parties to participate in the delivery of messages between trading partners. As subsequent versions of FIX are released, it is expected that functionality will continue to expand.
The protocol is defined at two levels: session and application. The session level is concerned with the delivery of data while the application level defines business related data content.
The FIX Protocol currently exists in two syntaxes:
The same business message flow applies to either syntax. A specific syntax is simply a slightly different way to represent the same thing in much the same way that "3" and "three" represent the same thing.
Whatever syntax is used, FIX data values all have a type. See FIX Types.
Each message within the protocol is comprised of required, optional and conditionally required (fields which are required based on the presence or value of other fields) fields. Systems should be designed to operate when only the required and conditionally required fields are present.
Related fields are grouped together for convenience into "components".
Messages (and components) can be categorized into
There are some messages and components which can occur in any context. These are called "common" messages and components:
See FIX Usage Notes for notes and guidelines on the usage of FIX for specific areas, for example by security product or by user group.
Communicating using FIX over different transport layers
For "traditional" FIX communication over a simple point to point connection (eg TCP/IP) see Traditional FIX Session Protocol.
For a general discussion see Transport Protocols.
FIX Fields Based On Other Standards
- CFICode usage (ISO 10962 classification of financial instruments)
- Currency Codes
- Exchange Codes
- Other Standards