A FIX message that is responsible for business related context.
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
Any application which is intended for Equities Trading, deployed on the side of a buyer, seller, broker or exchange.
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.
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|
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 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.
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.
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
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)
A FIX message that are responsible for establishing and termination of the connection, message delivery and data integrity control.
Test Request Message
Transport Adaptor Session
A session between adaptor and 3d party component on the base of some transport protocol (http, jms, mq, etc).
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.