Fix-5.0 SP1 Vol-1
Fix-5.0 SP1 Vol-1
Fix-5.0 SP1 Vol-1
EXCHANGE PROTOCOL
(FIX)
March 2008
DISCLAIMER
NO PERSON OR ENTITY ASSOCIATED WITH THE FIX PROTOCOL SHALL HAVE ANY LIABILITY FOR
DAMAGES OF ANY KIND ARISING IN ANY MANNER OUT OF OR IN CONNECTION WITH ANY
USER'S USE OF (OR ANY INABILITY TO USE) THE FIX PROTOCOL, WHETHER DIRECT, INDIRECT,
INCIDENTAL, SPECIAL OR CONSEQUENTIAL (INCLUDING, WITHOUT LIMITATION, LOSS OF DATA,
LOSS OF USE, CLAIMS OF THIRD PARTIES OR LOST PROFITS OR REVENUES OR OTHER ECONOMIC
LOSS), WHETHER IN TORT (INCLUDING NEGLIGENCE AND STRICT LIABILITY), CONTRACT OR
OTHERWISE, WHETHER OR NOT ANY SUCH PERSON OR ENTITY HAS BEEN ADVISED OF, OR
OTHERWISE MIGHT HAVE ANTICIPATED THE POSSIBILITY OF, SUCH DAMAGES.
No proprietary or ownership interest of any kind is granted with respect to the FIX Protocol (or any rights therein),
except as expressly set out in FIX Protocol Limited's Copyright and Acceptable Use Policy..
REPRODUCTION
FIX Protocol Limited grants permission to print in hard copy form or reproduce the FIX Protocol specification in
its entirety provided that the duplicated pages retain the “Copyright FIX Protocol Limited” statement at the
bottom of the page.
Portions of the FIX Protocol specification may be extracted or cited in other documents (such as a document
which describes one’s implementation of the FIX Protocol) provided that one reference the origin of the FIX
Protocol specification ( http://www.fixprotocol.org ) and that the specification itself is “Copyright FIX
HTU UTH
Protocol Limited”.
FIX Protocol Limited claims no intellectual property over one’s implementation (programming code) of an
application which implements the behavior and details from the FIX Protocol specification.
PREFACE
The Financial Information eXchange (FIX) effort was initiated in 1992 by a group of institutions and brokers
interested in streamlining their trading processes. These firms felt that they, and the industry as a whole, could
benefit from efficiencies derived through the electronic communication of indications, orders and executions. The
result is FIX, an open message standard controlled by no single entity, that can be structured to match the business
requirements of each firm. The benefits are:
• From the business flow perspective, FIX provides institutions, brokers, and other market participants a means
of reducing the clutter of unnecessary telephone calls and scraps of paper, and facilitates targeting high
quality information to specific individuals.
• For technologists, FIX provides an open standard that leverages the development effort so that they can
efficiently create links with a wide range of counter-parties.
• For vendors, FIX provides ready access to the industry, with the incumbent reduction in marketing effort and
increase in potential client base.
Openness has been the key to FIX's success. For that reason, while encouraging vendors to participate with the
standard, FIX has remained vendor neutral. Similarly, FIX avoids over-standardization. It does not demand a
single type of carrier (e.g., it will work with leased lines, frame relay, Internet, etc.), nor a single security
protocol. It leaves many of these decisions to the individual firms that are using it. We do expect that, over time,
the rules of engagement in these non-standardized areas will converge as technologies mature.
FIX is now used by a variety of firms and vendors. It has clearly emerged as the inter-firm messaging protocol of
choice. FIX has grown from its original buyside-to-sellside equity trading roots. It is now used by markets
(exchanges, “ECNs”, etc) and other market participants. In addition to equities, FIX currently supports four other
products: Collective Investment Vehicles (CIVs), Derivatives, Fixed Income, and Foreign Exchange. The process
for modifications to the specification is very open with input and feedback encouraged from the community.
Those interested in providing input to the protocol are encouraged use the FIX website Discussion section or
contact the FIX Global Technical Committee Chairpersons, Kevin Houstoun, HSBC, or Matt Simpson, Chicago
HH
Mercantile Exchange. The FIX website at http://www.fixprotocol.org is the main source of information,
HTU UTH
FIX Protocol Limited (FPL) ( http://www.fixprotocol.org ) oversees and manages the development of the FIX
HTU UTH
Protocol specification and encourages its use throughout the industry. FPL is open to due paying members
representing business and technology professionals interested in guiding the growth and adoption of the FIX
Protocol that work for: Buy-side Firms, Sell-side Firms, Exchanges, ECNs/ATSs, Utilities, Vendors, and Other
Associations. For more information about membership please visit http://www.fixprotocol.org/join/ .
HTU UTH
Global Technical
Global Global
Americas Asia/Pac EMEA Japan Global
Fixed Foreign
Region Region Region Region Derivatives
Income Exchange
VOLUME INDEX
VOLUME 1 - INTRODUCTION
U
VOLUME INDEX
INTRODUCTION
DOCUMENT NAVIGATION
FIX PROTOCOL SYNTAX
COMMON COMPONENTS OF APPLICATION MESSAGES
COMMON APPLICATION MESSAGES
GLOSSARY
INTRODUCTION
TRANSPORT INDEPENDENCE (TI) FRAMEWORK
TRANSPORT PROTOCOLS
CATEGORY: INDICATION
CATEGORY: EVENT COMMUNICATION
CATEGORY: QUOTATION / NEGOTIATION
CATEGORY: MARKET DATA
CATEGORY: MARKET STRUCTURE
CATEGORY: REFERENCE DATA
FIELD DEFINITIONS
APPENDIX 6-A - VALID CURRENCY CODES
APPENDIX 6-B - FIX FIELDS BASED UPON OTHER STANDARDS
APPENDIX 6-C - EXCHANGE CODES - ISO 10383 MARKET IDENTIFIER CODE (MIC)
APPENDIX 6-D - CFICODE USAGE - ISO 10962 CLASSIFICATION OF FINANCIAL
INSTRUMENTS (CFI CODE)
APPENDIX 6-E - DEPRECATED (PHASED-OUT) FEATURES AND SUPPORTED APPROACH
APPENDIX 6-F - REPLACED FEATURES AND SUPPORTED APPROACH
APPENDIX 6-G - USE OF <PARTIES> COMPONENT BLOCK
APPENDIX 6-H - USE OF <SETTLINSTRUCTIONS> COMPONENT BLOCK
Contents – Volume 1
DISCLAIMER...............................................................................................................................................................2
REPRODUCTION........................................................................................................................................................2
PREFACE......................................................................................................................................................................3
VOLUME INDEX.........................................................................................................................................................5
INTRODUCTION.........................................................................................................................................................8
DOCUMENT NAVIGATION.....................................................................................................................................8
GLOSSARY...............................................................................................................................................................119
INTRODUCTION
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. This document is divided into volumes and
organized to reflect the distinction.
DOCUMENT NAVIGATION
One useful tip when navigating within a volume is to take advantage of the fact that each document contains
“bookmarks” to its main sections. You can use the word processor’s “Goto” function (i.e. Ctrl-G) to quickly
navigate from one key section or appendix to another.
Third parties or volunteers have historically built useful utilities “generated” using the specification document as
their basis which provide cross-reference and lookup capabilities. Such free utilities are available via the FIX
website.
To support this framework a key new field has been added called ApplVerID (application version ID, tag 1128).
Depending on the use case ApplVerID may be optional or required. Additionally, the FIX field BeginString will
no longer identify the FIX application version, but identifies the FIX Session Protocol version. The sections
below discusses the four main uses cases supported by the TI framework.
Application Versioning
Application Versioning allows extensions to the current base application version to be applied using a formal
release process. Extension Packs represent the individual gap analysis proposals submitted to the GTC for review
and approval. Extension Packs are grouped into Service Packs and are applied to the base application version,
usually the most current FIX application version. A new application version is formed when a new Service Pack
is applied to a base version. In the diagram below, FIX 4.4 has been extended via Service Pack 0, forming a new
application version called FIX 5.0. As new Extension Packs are approved they will be grouped into Service Pack
1 which is then released to form the next application version identified as FIX 5.0 SP1. These application
versions are expressed using the new tag ApplVerID.
Service Pack Release
Process
Service Service
Pack0 Pack1
Extension Extension
Pack Pack
Extension Extension
Pack Pack
Extension Extension
Pack Pack
4. When implementing a specific Extension Pack, the field CustomApplVerID (1129) will be used to
specify the Extension Pack Identifier
5. User’s of an Extension Pack need not implement other Extension Packs present in the repository. Rules
of engagement need to be bilaterally agreed on.
FIX.4.4
ApplVerID = FIX.4.4 Allocation
Instruction
FIX.5.0
ApplVerID = FIX.5.0 TradeCapture
Report
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.
Data Types:
Data types (with the exception of those of type "data") are mapped to ASCII strings as follows:
int Sequence of digits without commas or decimals and optional sign character (ASCII characters "-"
and "0" - "9" ). The sign character utilizes one byte (i.e. positive int is "99999" while negative int is
"-99999"). Note that int values may contain leading zeros (e.g. “00023” = “23”).
Examples:
723 in field 21 would be mapped int as |21=723|.
-723 in field 12 would be mapped int as |12=-723|
The following data types are based on int.
Length int field representing the length in bytes. Value must be positive.
TagNum int field representing a field's tag number when using FIX "Tag=Value"
syntax. Value must be positive and may not contain leading zeros.
SeqNum int field representing a message sequence number. Value must be positive.
NumInGroup int field representing the number of entries in a repeating group. Value
must be positive.
DayOfMonth int field representing a day during a particular monthy (values 1 to 31).
float Sequence of digits with optional decimal point and sign character (ASCII characters "-", "0" - "9"
and "."); the absence of the decimal point within the string will be interpreted as the float
representation of an integer value. All float fields must accommodate up to fifteen significant
digits. The number of decimal places used should be a factor of business/market needs and mutual
agreement between counterparties. Note that float values may contain leading zeros (e.g.
“00023.23” = “23.23”) and may contain or omit trailing zeros after the decimal point (e.g. “23.0” =
“23.0000” = “23” = "23.").
Note that fields which are derived from float may contain negative values unless explicitly specified
otherwise. The following data types are based on float.
Qty float field capable of storing either a whole number (no decimal places) of
“shares” (securities denominated in whole units) or a decimal value
containing decimal places for non-share quantity asset classes (securities
denominated in fractional units).
Price float field representing a price. Note the number of decimal places may
vary. For certain asset classes prices may be negative values. For example,
LocalMktDate string field represening a Date of Local Market (as oppose to UTC) in
YYYYMMDD format. This is the “normal” date field used by the FIX
Protocol.
Valid values:
YYYY = 0000-9999, MM = 01-12, DD = 01-31.
TZTimeOnly string field representing the time represented based on ISO 8601. This is the
time with a UTC offset to allow identification of local time and timezone of
that time.
Format is HH:MM[:SS][Z | [ + | - hh[:mm]]] where HH = 00-23 hours, MM
= 00-59 minutes, SS = 00-59 seconds, hh = 01-12 offset hours, mm = 00-59
offset minutes.
Example: 07:39Z is 07:39 UTC
Example: 02:39-05 is five hours behind UTC, thus Eastern Time
Example: 15:39+08 is eight hours ahead of UTC, Hong Kong/Singapore
time
Required Fields:
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.
Field Delimiter:
All fields (including those of data type data e.g. SecureData, RawData, SignatureData, XmlData, etc.) in a
FIX message are terminated by a delimiter character. The non-printing, ASCII "SOH" (#001, hex: 0x01,
referred to in this document as <SOH>), is used for field termination. Messages are delimited by the “SOH”
character following the CheckSum field. All messages begin with the “8=FIX.x.y<SOH>” string and
terminate with “10=nnn<SOH>“.
There shall be no embedded delimiter characters within fields except for data type data.
Repeating Groups:
It is permissible for fields to be repeated within a repeating group (e.g.
"384=2<SOH>372=6<SOH>385=R<SOH>372=7<SOH>385=R<SOH>" represents a repeating group
with two repeating instances “delimited” by tag 372 (first field in the repeating group.)).
• If the repeating group is used, the first field of the repeating group is required. This allows
implementations of the protocol to use the first field as a "delimiter" indicating a new repeating
group entry. The first field listed after the NoXXX, then becomes conditionally required if the
NoXXX field is greater than zero.
• The NoXXX field (for example: NoTradingSessions, NoAllocs) which specifies the number of
repeating group instances occurs once for a repeating group and must immediately precede the
repeating group contents.
• The NoXXX field is required if one of the fields in the repeating group is required. If all
members of a repeating group are optional, then the NoXXX field should also be optional.
• If a repeating group field is listed as required, then it must appear in every repeated instance of
that repeating group.
• Repeating groups are designated within the message definition via indentation and the
symbol.
Some repeating groups are nested within another repeating group (potentially more than one level of nesting).
• Nested repeating groups are designated within the message definition via indentation and the
symbol followed by another symbol.
• If a nested repeating group is used, then the outer repeating group must be specified
Example of a repeating group:
Part of message
215 NoRoutingIDs N Required if any RoutingType and RoutingIDs are
specified. Indicates the number within repeating
group.
216 RoutingType N Indicates type of RoutingID. Required if
NoRoutingIDs is > 0.
217 RoutingID N Identifies routing destination. Required if
NoRoutingIDs is > 0.
Rest of the message not shown
Portion of New Order - List message showing a nested repeating group for allocations for each
order. Note the NoAllocs repeating group is nested within the NoOrders repeating group and as such
each instance of the orders repeating group may contain a repeating group of allocations.
73 NoOrders Y Number of orders in this message (number of
repeating groups to follow)
11 ClOrdID Y Must be the first field in the repeating group.
526 SecondaryClOrdID N
67 ListSeqNo Y Order number within the list
583 ClOrdLinkID N
160 SettlInstMode N
component block <Parties> N Insert here the set of "Parties" (firm identification)
fields defined in "COMMON COMPONENTS OF
APPLICATION MESSAGES"
229 TradeOriginationDate N
1 Account N
581 AccountType N
589 DayBookingInst N
590 BookingUnit N
591 PreallocMethod N
78 NoAllocs N Indicates number of pre-trade allocation
accounts to follow
79 AllocAccount N Required if NoAllocs > 0. Must be the first
field in the repeating group.
467 IndividualAllocID N
component block N Insert here the set of "Nested Parties" (firm
<NestedParties> identification "nested" within additional
repeating group) fields defined in "COMMON
COMPONENTS OF APPLICATION
MESSAGES"
80 AllocQty N
63 SettlmntTyp N
64 FutSettDate N Takes precedence over SettlmntTyp value and
conditionally required/omitted for specific
SettlmntTyp values.
Rest of the message not shown
Example 1 - Specify the ASCII/English value as Issuer plus Japanese character set as EncodedIssuer
Example 2 - Specify the ASCII/English value as Issuer plus Japanese character set as EncodedIssuer.
Specify the ASCII/English value as Text plus Japanese character set as EncodedText.
FIXML SYNTAX
FIXML Highlights
• FIXML is the XML vocabulary for creating FIX messages.
• Uses the same FIX data dictionary and business logic.
• Focuses primarily on the FIX Application Messages and does not provide a session layer.
• Can be encapsulated within the FIX Session Protocol or within another protocol like, MQ Series, TIBCO,
SOAP, etc.
Background
The FPL FIXML Working Group began investigating the XML format in 1998 and published a White Paper
supporting an evolutionary approach to migrating the FIX Protocol to an XML format. The working group
released an intial version of the FIXML DTDs on January 15th, 1999. There are currently DTDs based on FIX
Protocol versions 4.1, 4.2 and 4.3. A FIXML Schema based version of FIXML was released following the release
of FIX 4.4.
The FIXML language is in a state of transition. It has been four years since the initial release of FIXML. XML
technology has advanced considerably in those four years. FPL committed to deliver an XML Schema
representation for FIXML starting with FIX 4.3. Issues confronting FIXML users in the derivatives post trade area
preempted release of the FIXML Schema for FIX 4.3. Instead the effort shifted to attempts to exploit the
capabilities available in XML Schema to define a version of FIXML that was optimized to reduce message size.
This version of FIXML was referred to as Transport Optimized FIXML during its development. The Global
Technical Committee chose to release the transport optimizations in two phases.
The FIX 4.4 DTD Version was released with FIX 4.4 Eintroduced standardized abbreviations for field names and
removal of container elements used to represent repeating groups and component blocks. This version has been
replaced by the FIX 4.4 Schema Version and should no longer be used.
The FIX 4.4 Schema Version was released as part of FIX 4.4 Errata release. The FIX 4.4 Schema Version
exploits the enhanced capabilities of XML Schema to further optimize FIXML message size by introducing the
use of attributes to represent fields.
FIXML for FIX 5.0 is defined by an XML Schema based upon the work done for FIX 4.4.
FIX and FIXML Version and Comparison using New Order Single Message
The following section compares the implementation of the same FIX new order single message in FIX 4.2
tag=value format, FIXML 4.2 DTD version, and FIXML Schema Version.
<Sndr ID="AFUNDMGR"/>
<Tgt ID="ABROKER"/>
</Hdr>
<Instrmt Sym="IBM"
ID="459200101"
IDSrc="1"/>
<OrdQty Qty="1000"/>
</Order>
</FIXML>
NOTE: The XML attributes in the message have been placed on separate lines to aid readability
This message is 348 bytes in length; approximately 70% larger than the raw FIX tag=value message, but
roughly half the size of the previous FIXML format without significant loss in readability.
representing the format of XML messages using XML syntax. Document Type Definitions (DTDs), which were
originally part of XML, have limited syntax and capabilities for defining XML syntax. XML Schema was
designed to address many of the deficiencies of DTDs. The FPL Global Technical Committee has received
numerous requests from FIX users for an XML Schema representation of the FIX Protocol and believes that a
version of FIXML defined using XML Schema will provide a more robust, optimized message format and provide
a better environment for users implementin g FIXML applications.
T
The following design guidelines were created to meet the design objectives for the FIXML Schema and the
FIXML instance documents defined above.
1. Use meaningful abbreviations for element and attribute names wherever possible. Use standard
abbreviations for common words (e.g., Price = Px, Currency = Ccy, etc.).
2. FIX Messages shall be implemented as XML Elements.
3. Individual, non-repeating fields shall be implemented as attributes of FIX Message elements.
4. FIX Component Blocks shall be implemented as an XML element.
5. Component blocks that were duplicated within FIX to circumvent tag=value requirements for
uniqueness across fields and tag numbers, such as the Parties, NestedParties, NestedParties2 component
blocks, shall use common naming in FIXML. The datatypes for each of the ComponentTypes will
provide the mapping back to FIX tag=value format.
6. Non-repeating fields belonging to a FIX component block shall be implemented as attributes.
7. Repeating groups shall be implemented as XML elements.
8. Non-repeating fields belonging to a repeating group shall be implemented as attributes.
9. Identical repeating groups that occur across FIX messages will be identified as implicit components
and reused across messages.
10. Field name prefixes that were used in FIX tag=value format for uniqueness shall be removed – thus
creating a contextual abbreviation.
11. FIX datatypes will be mapped to the closest XML Schema datatype whenever possible, thus making
FIXML more compatible with standard XML toolsets.
Batc
0..1 h 0..1 Batch
FIXML (HeaderType) Header
Element
0..1 0..n
Messag
(
e
MessageTyp 0..1 Hdr
e (Header)
abstract)
Batch Message Usage
Single Message Usage
<FIXML>
<FIXML> <Batch>
<Order> <Hdr/>
<Hdr/> <Order>
</Order> <Hdr/>
</FIXML> </Order>
<Order>
<Hdr/>
</Order>
</Batch>
</FIXML>
Version Identification
FIXML versions are identified explicitly in the schema file names and also with constant attribute values
defined in the fixml-component-base schema file.
Subsequent levels of the schema reference the impl from the previous level – thus providing a customization
entry point at the field level, component level, and message level.
Files are either a base file or an implementation (impl). Base files define the standard FIXML language. Impl
files are used to extend or restrict the base FIXML language.
Refer to the FIXML Schema File Summary section for a complete list of schema files used in FIXML as of
FIX release 4.4.
The following patterns have been created to support validation of user defined enumeration values and
extended patterns.
Tenor Pattern <xs:simpleType Currently used to support the
name="Tenor"><xs:restriction SettlementType which can be
base="xs:string"> <xs:pattern either an enumeration or a tenor
value="[DMWY](\d)+"/> </xs:restriction> pattern, such as M6 (six
</xs:simpleType> month).
Reserved100Plus Pattern <xs:simpleType Used for enumerated fields that
name="Reserved100Plus"><xs:restriction permit user defined values of
base="xs:integer"> <xs:minInclusive 100 and greater.
value="100"/> </xs:restriction>
</xs:simpleType>
Reserved1000Plus Pattern <xs:simpleType Used for enumerated fields that
name="Reserved1000Plus"><xs:restriction permit user defined values of
base="xs:integer"> <xs:minInclusive 1000 and greater.
value="1000"/> </xs:restriction>
</xs:simpleType>
Reserved4000Plus Pattern <xs:simpleType Used for enumerated fields that
name="Reserved4000Plus"><xs:restriction permit user defined values of
base="xs:integer"> <xs:minInclusive 4000 and great.
value="4000"/> </xs:restriction>
</xs:simpleType>
Example union types from fixml-fields-impl-M-N.xsd:
<xs:simpleType name="SettlType_t"> The Settlement type is a union of the settlement
type enumerations and the Tenor type described
<xs:union memberTypes="SettlType_enum_t Tenor"/>
above
</xs:simpleType>
<xs:simpleType name="OrdRejReason_t"> The OrderRejectReason field is a union of the
OrderReject Reason enumerations and can also
<xs:union memberTypes="OrdRejReason_enum_t be extended with user defined values of 100 or
Reserved100Plus"/>
greater.
</xs:simpleType>
Components (fixml-components-*-M-N.xsd)
Component files are used to define the reusable components that are used across FIX messages. The FIXML
root element and headers are defined in the components file, as well.
The Parties Component block is shown below. Notice the overall definition pattern. This pattern is followed
for all component blocks and message definitions.
<xs:group name="PartiesElementsRequired">
<xs:sequence/>
</xs:group>
<xs:group name="PartiesElementsOptional">
<xs:sequence>
<xs:element name="PtySub" type="PtysSubGrp_Block_t" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>
<xs:group name="PartiesElementsCustom">
<xs:sequence/>
</xs:group>
<xs:attributeGroup name="PartiesAttributesRequired">
</xs:attributeGroup>
<xs:attributeGroup name="PartiesAttributesOptional">
<xs:attribute name="ID" type="PartyID_t" use="optional"/>
<xs:attribute name="IDSrc" type="PartyIDSource_t" use="optional"/>
<xs:attribute name="Role" type="PartyRole_t" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="PartiesAttributesCustom"/>
Categories (fixml-categoryName-base-M-N.xsd)
Each message category defined within the FIX specification has its own schema file. This provides a granular
level of usage for applications only requiring access to one message categoryThe message category schema
files contain the component and message definitions that belong to a specific message category defined
within the FIX Protocol. Examples of message categories include: Indications, Market Data, Positions,
Allocation. . A complete list of the category files for FIXML is provided in the FIXML Schema File
Summary section.
Category messages and components are defined following the same pattern defined above for components.
The following defines the New Order Single message from the fixml-categoryOrder-5-0.xsd:
<xs:group name="NewOrderSingleElementsRequired">
<xs:sequence>
<xs:element name="Instrmt" type="Instrument_Block_t" minOccurs="1"
maxOccurs="1"/>
<xs:element name="OrdQty" type="OrderQtyData_Block_t" minOccurs="1"
maxOccurs="1"/>
</xs:sequence>
</xs:group>
<xs:group name="NewOrderSingleElementsOptional">
<xs:sequence>
<xs:element name="Pty" type="Parties_Block_t" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="Stip" type="Stipulations_Block_t" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="FinDetls" type="FinancingDetails_Block_t" minOccurs="0"
maxOccurs="1"/>
<xs:element name="SprdBnchmkCurve"
type="SpreadOrBenchmarkCurveData_Block_t" minOccurs="0" maxOccurs="1"/>
<xs:element name="Yield" type="YieldData_Block_t" minOccurs="0"
maxOccurs="1"/>
<xs:element name="Comm" type="CommissionData_Block_t" minOccurs="0"
maxOccurs="1"/>
<xs:element name="PegInstr" type="PegInstructions_Block_t" minOccurs="0"
maxOccurs="1"/>
<xs:element name="DiscInstr" type="DiscretionInstructions_Block_t"
minOccurs="0" maxOccurs="1"/>
<xs:element name="PreAll" type="PreAllocGrp_Block_t" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="TrdSes" type="TrdgSesGrp_Block_t" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="Undl" type="UndInstrmtGrp_Block_t" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>
<xs:group name="NewOrderSingleElementsCustom">
<xs:sequence/>
</xs:group>
<xs:attributeGroup name="NewOrderSingleAttributesRequired">
<xs:attribute name="ClOrdID" type="ClOrdID_t" use="required"/>
<xs:attribute name="Side" type="Side_t" use="required"/>
<xs:attribute name="TransactTm" type="TransactTime_t" use="required"/>
<xs:attribute name="OrdTyp" type="OrdType_t" use="required"/>
</xs:attributeGroup>
<xs:attributeGroup name="NewOrderSingleAttributesOptional">
<xs:attribute name="ScndClOrdID" type="SecondaryClOrdID_t"
use="optional"/>
<xs:attribute name="ClOrdLinkID" type="ClOrdLinkID_t" use="optional"/>
<xs:attribute name="TrdOrigntnDt" type="TradeOriginationDate_t"
use="optional"/>
<xs:attribute name="TrdDt" type="TradeDate_t" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="NewOrderSingleAttributesCustom"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
Categories (fixml-categoryName-impl-M-N.xsd)
Each message category defined within the FIX specification has its own schema file. This provides a granular
level of usage for applications only requiring access to one message category. A complete list of the category
files for FIXML is provided below in the FIXML File Summary table.
Main (fixml-main-M-N.xsd)
A main schema file is included that pulls in the pretrade, trade, and post trade schema files. This is provided
for applications that require access to the full suite of FIX messages.
Customization
The FIXML Schema files have been organized to permit extensibility. Implementation versions of each
schema file (with the exception of the datatypes file) are provided to permit users to redefine the base FIXML
Schema version, as defined in the base files. This section provides guidelines for customizing the FIXML
syntax. Even though a considerable amount of work has gone into making FIXML extensible, users are
strongly encouraged to minimize modifications, in order to promote more consistent usage of the FIXML
syntax within the industry. Obviously, the less customization, the easier it is to connect to counterparties. If
customization is required, you are encouraged to communicate your requirements that are not being met by
FIX to the FPL Global Technical Committee. There you may find out that there is a technique to meet your
business requirement. Or, you may find that the Technical Committee has already addressed the issue for a
planned future release. At a minimum you will receive coaching and assistance in how to extend FIXML in
such a way as to make the new feature a part of a future version of FIX.
Custom messages are added by creating a message structure within the category to which the custom message
belongs. Required and optional element and attribute groups should be created for the custom message.
Fixml-datatypes-5-0-SP1.xsd Defines the base data types that are to be used in other fixml schema
files. These fixml base data types are based on simple types built into
XML Schema.
TradingSessionList
TradingSessionListRequest
TradingSessionListUpdateReport
TradingSessionStatus
TradingSessionStatusRequest
Fixml-pretrade-base-5-0-SP1.xsd Pre trade messages including reference data, market data, quoting, news
and email, indication of interest
Fixml-main-5-0-SP1.xsd Includes the session, pretrade, trade, posttrade and infrastructure schema
files
1195 OptPayAmount N Cash amount indicating the pay out associated with an
option. For binary options this is a fixed amount
1196 PriceQuoteMethod N Method for price quotation
1197 FuturesValuationMethod N For futures, indicates type of valuation method applied
1198 ListMethod N Indicates whether the instruments are pre-listed only or
can also be defined via user request
1199 CapPrice N Used to express the ceiling price of a capped call
1200 FloorPrice N Used to express the floor price of a capped put
201 PutOrCall N Used to express option right
1244 FlexibleIndicator N Used to indicate if a security has been defined as flexible
according to "non-standard" means. Analog to CFICode
Standard/Non-standard indicator
1242 FlexProductEligibilityIndicato N Used to indicate if a product or group of product
r supports the creation of flexible securities
997 TimeUnit N Used to indicate a time unit for the contract (e.g., days,
weeks, months, etc.)
223 CouponRate N For Fixed Income.
207 SecurityExchange N Can be used to identify the security.
970 PositionLimit N Position Limit for the instrument.
971 NTPositionLimit N Near-term Position Limit for the instrument.
106 Issuer N
348 EncodedIssuerLen N Must be set if EncodedIssuer field is specified and must
immediately precede it.
349 EncodedIssuer N Encoded (non-ASCII characters) representation of the
Issuer field in the encoded format specified via the
MessageEncoding field.
107 SecurityDesc N
350 EncodedSecurityDescLen N Must be set if EncodedSecurityDesc field is specified
and must immediately precede it.
351 EncodedSecurityDesc N Encoded (non-ASCII characters) representation of the
SecurityDesc field in the encoded format specified via
the MessageEncoding field.
component block <SecurityXML> N Embedded XML document describing security.
691 Pool N Identifies MBS / ABS pool
667 ContractSettlMonth N Must be present for MBS/TBA
875 CPProgram N The program under which a commercial paper is issued
876 CPRegType N The registration type of a commercial paper issuance
Start of Component block, expanded in line < EvntGrp >
864 NoEvents N
865 EventType N
866 EventDate N
details
Refer to FIXML Element Instrmt
The second example is from an order for shares in IBM, which has an ISIN US4592001014, and a QUICK
(Japanese) code of 000006680
Specifying an FpML product specification from within the FIX Instrument Block
There are two methods in which a FpML product specification or document can be referenced from the FIX
Instrument component block. The first method allows the full FpML product document to be embedded
within the Instrument component block's SecurityXML (1185) field, found in the SecurityXML component
block. The second method allows the FpML production document to be referenced as a URL in the
Instrument component block. The tables below illustrates these two methods.
Option 1 – Include the FpML product specification as an XML String within SecurityXML
Field (tag) Value Explanation
Symbol (55) [N/A]
SecurityID (48) [FpML] Refer to EncodedSecurityDesc for the
FpML product decription,
SecurityIDSource (22) I ISDA/FpML Product Specification
SecurityXMLLen (1184) 1234 The length of the FpML product
specification contained within
EncodedSecurityDesc
SecurityXML (1185) <FpML>….</FpML> Contains the FpML product
specification as an XML string
SecuityXMLSchema fpml.org/... Contains the URI or URL for the
schema that is used to interpret the
XML payload in SecurityXML (1185)
Note that prior to FIX 5.0 SP1 the FpML product specification was recommended to be transmitted in the
EncodedSecurityDesc (351) field. By using the SecurityXML (1185) field to transmit the FpML product
specification the EncodedSecurityDesc (351) field can be used in its intended manner to provide security
descriptions using non-ASCII character encoding. This prior approach may still be used in FIX 5.0 and prior
versions.
Option 2 – Reference the FpML product specification from another source via a URL in SecurityID
Field (tag) Value Explanation
Symbol (55) [N/A]
SecurityID (48) (a valid URL Specify a URL to reference a separate
reference) or external location for the FpML
product description.
Example:
TUhttp://www.cme.com/produ
H
ct/irswap.jpg?id=122345 UTH
details
Refer to FIXML element UndInstrmt
597 LegStateOrProvinceOfIssue N
598 LegLocaleOfIssue N
254 LegRedemptionDate N (Deprecated in FIX.4.4)
612 LegStrikePrice N
942 LegStrikeCurrency N
613 LegOptAttribute N
614 LegContractMultiplier N
999 LegUnitOfMeasure N
1224 LegUnitOfMeasureQty N
1421 LegPriceUnitOfMeasure N
1422 LegPriceUnitOfMeasureQty N
1001 LegTimeUnit N Used to indicate a time unit for the contract (e.g., days,
weeks, months, etc.)
1420 LegExerciseStyle N
615 LegCouponRate N
616 LegSecurityExchange N
617 LegIssuer N
618 EncodedLegIssuerLen N
619 EncodedLegIssuer N
620 LegSecurityDesc N
621 EncodedLegSecurityDescLen N
622 EncodedLegSecurityDesc N
623 LegRatioQty N Specific to the <InstrumentLeg> (not in <Instrument>)
624 LegSide N Specific to the <InstrumentLeg> (not in <Instrument>)
556 LegCurrency N Specific to the <InstrumentLeg> (not in <Instrument>)
740 LegPool N Identifies MBS / ABS pool
739 LegDatedDate N
955 LegContractSettlMonth N
956 LegInterestAccrualDate N
1358 LegPutOrCall N Used to express option right
1017 LegOptionRatio N LegOptionRatio is provided on covering leg to create a
delta neutral spread. In Listed Derivatives, the delta of
the leg is multiplied by LegOptionRatio and OrderQty to
determine the covering quantity.
566 LegPrice N Used to specify an anchor price for a leg as part of the
definition or creation of the strategy - not used for
execution price.
*** = Required status should match "Req'd" setting for <InstrumentLeg> component block in message definition
details
Refer to FIXML element InstrmtLeg
details
Refer to FIXML element InstrmtExtension
details
Refer to FIXML element OrdQtyData
details
Refer to FIXML Element CommData
details
Refer to FIXML element Ptys
details
Refer to FIXML element NstPtys
details
Refer to FIXML element NstPtys2
details
Refer to FIXML element NstPtys3
details
Refer to FIXML element NstPtys4
details
Refer to FIXML element SettlPtys
details
Refer to FIXML element SpreadOrBnchmkCrvData
details
Refer to FIXML element LegBnchmkCrvData
details
Refer to FIXML element Stips
details
Refer to FIXML element UndStips
details
Refer to FIXML element LegStips
details
Refer to FIXML element YldData
details
Refer to FIXML element PosQty
details
Refer to FIXML element PosAmtData
details
Refer to FIXML element TrdRegTmstampsGrp
details
Refer to the FIXML element SettlInstrctnsData
Note that Pegged orders are specified by the use of OrdType (to denote that the order is a pegged order) and
ExecInst (to specify what price the order is pegged to).
details
Refer to the FIXML element PegInstrctns
details
Refer to the FIXML element DsctnInstrctns
details
Refer to the FIXML element FinancingDetails
details
Refer to FIXML element ExpirationQty
details
Refer to FIXML element SideTrdTegTS
details
Refer to FIXML element InstrumentParties
details
Refer to FIXML element UnderlyingAmount Grp
details
Refer to FIXML element DisplayInstruction Grp
details
Refer to FIXML element TriggeringInstruction Grp
details
Refer to FIXML element RootParties Grp
details
Refer to FIXML element UndlyInstrumentParties Grp
562 MinTradeVol N The minimum order quantity that can be submitted for
an order.
1140 MaxTradeVol N The maximum order quantity that can be submitted for a
security. For listed derivatives this indicates the
minimum quantity necessary for an order or trade to
qualify as a block trade
1143 MaxPriceVariation N The maximum price variation of an execution from one
event to the next for a given security. Expressed in
absolute price terms.
1144 ImpliedMarketIndicator N
1245 TradingCurrency N Used when the trading currency can differ from the price
currency
561 RoundLot N Trading lot size of security
1377 MultilegModel N Used for multileg security only. Defines whether the
security is pre-defined or user-defined. Not that value =
2 (User-defined, Non-Securitized, Multileg) does not
apply for Securities.
1378 MultilegPriceMethod N Used for multileg security only. Defines the method used
when applying the multileg price to the legs.
423 PriceType N Defines the default Price Type used for trading.
End of Component block, expanded in line < BaseTradingRules >
Start of Component block, expanded in line < TradingSessionRulesGrp >
1309 NoTradingSessionRules N Allows trading rules to be expressed by trading session
336 TradingSessionID N Identifier for the trading session
Must be provided if NoTradingSessions > 0
Set to [N/A] if values are not specific to trading session
625 TradingSessionSubID N Identifier for the trading session
Set to [N/A] if values are not specific to trading session
sub id
Start of Component block, expanded in line < TradingSessionRules >
Start of Component block, expanded in line < OrdTypeRules >
1237 NoOrdTypeRules N Number of order types
40 OrdType N Indicates order types that are valid for the specified
market segment.
End of Component block, expanded in line < OrdTypeRules >
Start of Component block, expanded in line < TimeInForceRules >
1239 NoTimeInForceRules N Number of time in force techniques
59 TimeInForce N Indicates time in force techniques that are valid for the
specified market segment
End of Component block, expanded in line < TimeInForceRules >
Start of Component block, expanded in line < ExecInstRules >
1232 NoExecInstRules N Number of execution instructions
1308 ExecInstValue N Indicates execution instructions that are valid for the
specified market segment
End of Component block, expanded in line < ExecInstRules >
Start of Component block, expanded in line < MatchRules >
1235 NoMatchRules N Number of match rules
1142 MatchAlgorithm N The type of algorithm used to match orders in a specific
security on an electronic trading platform.
Possible values are FIFO, Allocation, Pro-rata, Lead
Market Maker, Currency Calendar
574 MatchType N The point in the matching process at which this trade
was matched.
End of Component block, expanded in line < MatchRules >
Start of Component block, expanded in line < MarketDataFeedTypes >
1141 NoMDFeedTypes N The number of feed types and corresponding book depths
associated with a security
1022 MDFeedType N Describes a class of service for a given data feed
264 MarketDepth N The depth of book associated with a particular feed type
1021 MDBookType N Describes the type of book for which the feed is
intended. Can be used when multiple feeds are provided
over the same connection
End of Component block, expanded in line < MarketDataFeedTypes >
End of Component block, expanded in line < TradingSessionRules >
End of Component block, expanded in line < TradingSessionRulesGrp >
Start of Component block, expanded in line < NestedInstrumentAttribute >
1312 NoNestedInstrAttrib N
1210 NestedInstrAttribType N Code to represent the type of instrument attribute
1211 NestedInstrAttribValu N Attribute value appropriate to the NestedInstrAttribType
e field
End of Component block, expanded in line < NestedInstrumentAttribute >
details
Refer to FIXML element SecurityTradingRules
details
Refer to FIXML element ApplSeqGrp
details
Refer to FIXML element SecXML
In response to
Use the Execution Report message
• New Order - Single
• Order Status Request
• Order Mass Status Request
• New Order – Cross
• New Order – Multileg
• New Order – List
• List Execute
In response to: Use the Order Cancel Reject message
• Order Cancel Request
• Order Cancel/Replace Request
• Cross Order Cancel Request
• Cross Order Cancel/Replace Request
• Mulileg Order Cancel/Replace Request
• List Cancel Request
In response to: Use the Don’t Know Trade (DK) message or the
Execution Report Acknowledgement message
• Execution Report
In response to: Use the Order Mass Cancel Report message
• Order Mass Cancel Request
In response to: Use the Order Mass Action Report message
• Order Mass Action Request
In response to: Use the List Status message
• List Status Request
In response to: Use the Bid Response message
• Bid Request
In response to: Use the Allocation Instruction Ack message
• Allocation Instruction
In response to: Use the Allocation Report Ack message
• Allocation Report
In response to: Use the Confirmation Ack message
• Confirmation
In response to: Use the Registration Instructions Response
message
• Registration Instructions
In response to: Use the Trade Capture Report message
• Trade Capture Report Request
In response to: Use the Confirmation message
• Confirmation Request
1. in the event a business message is received, fulfills session-level rules, however, the message
U
cannot be communicated to the business-level processing system. In this situation a Business Message
U
Reject with BusinessRejectReason = “Application not available at this time” can be issued if the system
is unable to send the specific “reject” message listed above due to this condition.
2. in the event a valid business message is received, fulfills session-level rules, however, the
U
message type is not supported by the receipient. In this situation a Business Message Reject with
U
BusinessRejectReason = “Unsupported Message Type” can be issued if the system is unable to send the
specific “reject” message listed above because the receiving system cannot generate the related “reject”
message.
3. In the event a business message is received, fulfills session-level rules, but lacks a field
U
conditionally required by the FIX specification. In this situation a Business Message Reject with
U
BusinessRejectReason = “Conditionally Required Field Missing” can be issued if the system is unable to
send the specific “reject” message listed above. One example of this would be a stop order missing
StopPx. However, a Business Message Reject message MUST NOT be used to enforce proprietary rules
U U
more restrictive than those explicit in the FIX specification, such as a broker requiring an order to contain
an Account, which the FIX specification considers an optional field.
Messages which can be referenced via the Business Message Reject message are:
Whenever possible, it is strongly recommended that the cause of the failure be described in the Text
field (e.g. “UNKNOWN SYBMOL: XYZ”).
NOTE: While it is not encouraged to transmit passwords in a FIX conversation unless you can guarantee
the end to end security of both the FIX conversation and any intermediate routing hubs that are involved in
the routing.
This message is used to respond to a user request message, it reports the status of the user after the completion of
any action requested in the user request message.
User Response
Tag FieldName Req'd Comments
StandardHeader Y MsgType = "BF"
923 UserRequestID Y
553 Username Y
926 UserStatus N
927 UserStatusText N Reason a request was not carried out
StandardTrailer Y
User Notification
The User Notification message is used to notify one or more users of an event or information from the sender of
the message. This message is usually sent unsolicited from a marketplace (e.g. Exchange, ECN) to a market
participant.
User Notification
Tag FieldName Req'd Comments
StandardHeader Y MsgType = CB
Start of Component block, expanded in line < UsernameGrp >
809 NoUsernames N Number of usernames
553 Username N Recipient of the notification
End of Component block, expanded in line < UsernameGrp >
926 UserStatus Y Reason for notification - when possible provide an
explanation.
58 Text N Explanation for user notification.
354 EncodedTextLen N Must be set if EncodedText field is specified and must
immediately precede it.
355 EncodedText N Encoded (non-ASCII characters) representation of the
Text field in the encoded format specified via the
MessageEncoding field.
StandardTrailer Y
Background
The purpose of Application-level Sequencing is to allow messages being sent over a FIX session to be
distinguished by the sending application that is upstream from the FIX engine. In the case that a session-level
resend would result in an unnecessarily large number of messages being resent, Application Sequencing and
Recovery makes provision for the desired messages - and only the desired messages - to be seamlessly requested
and resent while retaining the standard behaviors of the session protocol. It also provides the receiver with the
flexibility to put off recovery of application level messages until a slow period or after the market has closed.
Extends control over resent data
The primary intent of Application Sequencing and Recovery is to allow receivers to avoid a retransmission of
large quantities of unusable data which may result in receivers needing to glean the retransmission for the data
they actually need - such as critical drop copy information that is used in risk management applications.
Application Sequencing allows the channeling of different types of data across a single FIX session. For example,
Application Sequencing can allow drop copy data to be sent over the same FIX session with order flow data.
While this may not be practical from a trading standpoint the flexibility that it introduces is compelling. This
allows data which has a higher importance and priority to be identified by application ID thereby allowing
requests for retransmission to be issued promptly and precisely.
Support for secondary data distribution
Another goal of the proposal is to provide support for “secondary data” distribution. Application Sequencing
extends the capabilities of FIX such that secondary data can be distributed using a single channel. This data may
be less time critical with less demanding latency requirements than order entry and market data, although this is
not necessarily the case as drop copies are used for time sensitive risk management tasks. Secondary data may
consist of drop copy fills, credit limit information, statistical data, trade confirmations, and best bids and offers for
vendor consumption, etc. These are just a few of the possibilities. Application Sequencing benefits data providers
and their users by providing a common protocol which can be used to perform secondary data distribution. New
applications transmitting data can be quickly introduced over an existing channel with minimal effort simply by
introducing a new ApplID (application ID).
Receiving
Application 1 Messages
Application checks ApplFeedID=A1, ApplSeqNum=1 ApplFeedID=A1, ApplSeqNum=1
for App-level Gaps
Application 2 Messages
ApplFeedID=A2, ApplSeqNum=1 ApplFeedID=A2, ApplSeqNum=1
Disconnect
Application 1 Messages
ApplFeedID=A1, ApplSeqNum=2-10
Application 2 Messages
ApplFeedID=A2, ApplSeqNum=2-9999
Sender responds
Reconnect
Logon MsgSeqNum=10009 using GapFill for
ALL MESSAGES
Resend Request (35=4)
Next message for
App A1 is sent
SequenceRest-GapFill
One-way
Multicast Multicast
comm
Receiving
Application 1 Messages
Application checks ApplFeedID=A1, ApplSeqNum=1 ApplFeedID=A1, ApplSeqNum=1
for App-level Gaps
Application 2 Messages
ApplFeedID=A2, ApplSeqNum=1 ApplFeedID=A2, ApplSeqNum=1
Disconnect
Application 1 Messages
ApplFeedID=A1, ApplSeqNum=2-10
Application 2 Messages
ApplFeedID=A2, ApplSeqNum=2-9999
Reconnect
Glossary
Business Terms
The following glossary is an attempt to identify business terms used in this document or related to implementing
FIX globally. Requests for new terms and/or suggested definitions should be posted in the FIX Web Site’s
Discussion section.
Current Yield Annual interest on a bond divided by the market value. The actual [YieldType]
income rate of return as opposed to the coupon rate expressed as a
percentage.
Customer Account Identifies the customer account associated with the message. [PartyRole]
Dated Date The effective date of a new securities issue determined by its
underwriters. Often but not always the same as the "Issue Date"
and the "Interest Accrual Date"
Day Order A buy or sell order that, if not executed expires at the end of the [TimeInForce]
trading day on which it was entered.
Default Position Effect An instruction to use the default position keeping rules assigned to [PositionEffect]
the account. For Options and Futures the default is normally "net"
position, while for Forwards the deafault is usally "open" position.
Dealt currency In a foreign exchange transaction, 'dealt currency' indicates which [Currency]
currency was orginally specified. For example, An invesment
manager may 'buy 100M USD against EUR'. This has USD as the
'dealt currency' and EUR as the 'counter currency'. Note that when
viewed from the sell-side's (or broker's) perspective, this is a 'Sell
100M USD against EUR' the 'dealt currency' remains the same.
Derivative Related Exercise or expiration of options, forwards or futures contracts [TrdType]
Transaction that imply an exchange of securities or a trade that relates to a
derivatives trade and that forms an unconditional part of a
combination together with a derivative trade.
Discount When a bond sells below its par value, it is said to be selling at a [PriceType]
Executing System System Identifier where execution took place (some markets have [PartyRole]
multiple execution location such as an electronic book or
automatic execution system).
Executing Trader Trader or broker id associated with Executing Firm who actually [PartyRole]
executes the trade.
Executing Unit Identifies executing unit within an Executing Firm, e.g. trading [PartyRole}
desk, branch office or similar.
Exhaust A reserve order refresh method where the displayed quantity is not [DisplayWhen]
refreshed until exhausted (filled).
External Routing Indicates that an order sent to one market may be routed by that [ExecInst]
Allowed market to other external markets, especially in cases where the
order locks or crosses the market and it can be executed against
another market’s superior price. Note: The absence of this
instruction does not imply that an order should not be routed
externally; rather, the order receiver’s default will apply.
External Routing Not Indicates that an order sent to one market may never be routed by [ExecInst]
Allowed that market to other external markets. Should the order lock or
cross the market but be unable to execute due to price protection
reasons, a market may have to take alternate action, which might
include rejecting the order, depending on the market’s rules.
Note: The absence of this instruction does not imply that an order
should be routed externally; rather, the order receiver’s default
will apply.
Fill or Kill A market or limit-price order that is to be executed in its entirety [TimeInForce]
as soon as it is represented in the Trading Crowd; if not so
executed, the order is to be canceled. Not to be confused with
Immediate or Cancel.
Final Inventory Due Date Specifies the last date on which purchase dates for a contract must [EventType]
be provided to the service provider.
First Delivery Date Specifies the first delivery date of the delivery period for a [EventType]
physically delivered instrument.
First Intent Date Specifies the first date of the delivery period on which intents may [EventType]
be submitted for a physically delivered instrument.
FIX Connection A FIX Connection is comprised of three parts: logon, message
exchange, and logout.
FIX Session A FIX Session is comprised of one or more FIX Connections,
meaning that a FIX Session spans multiple logins.
Fixed Price Cabinet Cabinet Trade executed at a price equal to the minimum tick size [PriceType]
Trade (or smallest possible price) . See "Cabinet Trade".
Fixed Tick Rule A fixed cabinet trade price set to a minimum tick amount. [TickRuleType]
Flexible Instrument An exchange-listed instrument for which a set of pre-defined
ID Identifier
Implct Implicit
Incr Increment
Ndx Index
IOI Indication of Interest
Ind Indicator
Info Information
Inpt Input
Inq Inquiry
Instn Institution
Inst Instruction
Instrmt Instrument
Int Interest
Iss Issue
Issr Issuer
Lmt Limit
Lqdty Liquidity
List List
Loc Locate
Lctn Location
Lot Lot
Mnt Maintenance
Mgn Margin
Mkt Market
Mass Mass`
Mtch Match
Mat Maturity
Max Maximum
Msg Message
Meth Method
Min Minimum
Misc Miscellaneous
Model Model
Mod Modification
Mny Money
Mo Month
Mleg Multileg
Nst Nested
Ntwk Network
Notifctn Notification
Num Number - multiple reports,
counts