Glossary

Application Message

A FIX message that is responsible for business related context.

Counterparty

A counterparty is a FIX application that takes part in a FIX session.

End Of Day Procedure

End Of Day (EOD) procedure is a standard practice across the industry that FIX sessions with different counterparties are scheduled to be terminated at a specified time of day. During this procedure log-files of sessions can be removed into back up directory

FIX Application

Any application which is intended for Equities Trading, deployed on the side of a buyer, seller, broker or exchange. 

FIX Connection

A physical connection between two FIX applications established to exchange of  FIX messages . FIX connection is comprised of three parts: logon, message exchange, and logout. 

FIX Engine

FIX Engine is a program written in any programming language like Java, C++ which is used to facilitate online trading using the FIX protocol. It is an implementation of the FIX protocol and a single piece of software that manages a network connection, creates and parses outgoing and incoming messages respectively, and recovers if something goes wrong. In short, the FIX Engine is an essential piece of software that is required to build electronic trading infrastructure.

Here is a short summary of what is the responsibility of FIX Engine and what does FIX Engine do:

  • Sockets library to open/close/read/write over sockets.
  • Configuration to allow IP address and port number of one or more connections to be stored within the engine.
  • Configuration to allow start/stop/sequence number reset times of one or more connections to be stored within the engine.
  • Inward interface to allow other applications to send messages to and receive from the FIX engine. This interface should provide a degree of abstraction such that the FIX specific implementation details are not required to be known by other applications.
  • Persistence to allow sequence numbers and/or FIX messages to be stored to deal with resend requests and temporary outages.
  • Log file generation to allow messages sent and received to be written to disk for operator review.

FIX Message

A FIX message is the information formatted in FIX protocol. FIX messages are formed from a number of fields. 

Each FIX field is a tag - value pairing that is separated from the next field by a delimiter SOH (0x01).

The tag is 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, a string that identifies the security; tag 22 is IDSource, an integer that indicates the identifier class being used). The values may be in plain text or encoded as pure binary (in which case the value is preceded by a length field).

The FIX protocol defines meanings for most tags, but leaves a range of tags reserved for private use between consenting parties.

FIX message example: 8=FIX.4.2|9=128|35=D|49=TESTI|56=TESTA|34=4|52=20100318-08:46:14|11=20100318-0002|21=1|55=IBM|54=2|60=20100318-08:46:14.323|38=2000|40=1|10=071|

All FIX messages separated into two parties: Session messages and Application messages.

FIX Protocol

The Financial Information eXchange (FIX) Protocol is a messaging standard developed specifically for the real-time electronic exchange of securities transactions. FIX is a public-domain specification owned and maintained by FIX Protocol, Ltd.

FIX Session

A FIX session is a bi-directional stream of ordered FIX messages between two FIX applications within a continuous sequence number series.   

FIX Session is comprised of one or more FIX connections over a period of time, usually intraday, meaning that the FIX session may span multiple logins. Refer to 'Configuring FIX Sessions' for more details.

FIX Session - Acceptor

FIX session in which FIXEdge plays role of Acceptor. The session-acceptor waits for incoming logon right after creation and then responds with confirming logon. When connection is lost, session-acceptor switches to the state, in which it waits for reconnect logon message. Refer to ‘Configuring FIX Sessions’ for more details.

FIX Session - Initiator

FIX session in which FIXEdge plays role of Initiator. The session-initiator initiates connection by sending logon message and waits for the confirming logon. It is also responsible for session reconnection i.e. sends logon to restore the session. Refer to ‘Configuring FIX Sessions’ for more details.

Heartbeat Message

A FIX message (tag MsgType (35) = 0) that is intended for monitoring the status of the communication link and identification when the last of a string of messages was not received.

Logon Message

A FIX message (tag MsgType (35) = A) that is intended for establishment of FIX session. The Logon message provides authentication and initialization of the FIX session.

Logout Message

A FIX message (tag MsgType (35) = 5) that is intended to initiate or confirm the termination of a FIX session.

Reject Message

A FIX message (tag MsgType (35) = 3) that is intended to inform counterparty that the recieved application message cannot be passed through application level. An example of when a reject may be appropriate would be the receipt of a message with invalid basic data.

Resend Request Message

A FIX message (tag MsgType (35) = 2) that is intended to initiate the retransmission of missed messages from the counterparty.

Sequence Reset Message

A FIX message (tag MsgType (35) = 4) that is sent to reset the incoming sequence number on the counterparty's side. The Sequence Reset message has two modes: Gap Fill mode and Reset mode.

  • Gap Fill mode (tag GapFillFlag (123) = Y)
  • Reset mode (tag GapFillFlag (123) = N or omitted) 

Session Message

A FIX message that are responsible for establishing and termination of the connection, message delivery and data integrity control.

List of session messages: Logon, Logout, Heartbeat, Test Request, Resend Request, Sequence Reset, Reject.

Test Request Message

A FIX message (tag MsgType (35) = 1) that is intended to force a heartbeat message from the counterparty. The Test Request message checks sequence numbers or verifies communication line status.

Transport Adaptor Session

A session between adaptor and 3d party component on the base of some transport protocol (http, jms, mq, etc).

Unregistered Acceptor

A FIX session - acceptor that does not exist by the time the new incoming logon message appears. Refer to ‘Configuring FIX Sessions’ for more details.