A Trader’s Guide to FIX Engine
FIX engine is a FIX protocol-based messaging infrastructure designed for high-frequency trading and to facilitate the online trading and it is available in Java & .NET. FIX engine is an implementation of FIX protocol and a piece of software required to establish FIX connectivity. FIX messages which carry trading orders electronically in the form of tag and value is composed, parsed and understood by FIX engine.
FIX engines are also responsible for establishing FIX connectivity between client and broker or client and exchange.FIX is now used by a large group of firms and vendors. It has clearly emerged as the preeminent global messaging protocol. FIX has grown from its original buy-side to sell-side equity trading roots and exchanges, ECNs and other industry participants now use FIX.
Users can easily integrate FIX Engine with any other software application such as API, FIX implementation tools, monitor suits and simulator. FIX engine is a suite of program built for session management, FIX Standard Message framing, connectivity, listener and initiator etc.
Benefits of standardizing communications using FIX protocol –
Some of the benefits of the widespread use of a standard messaging protocol are
- Reduced cost and complexity of integrating various internal activities
- Increased ability to share infrastructure in terms of software, hardware and support staff
- Less need to rekeying and translate data, which lowers costs and results in fewer errors
- Easier monitoring of the overall positions of markets and flows within them (eg, for regulatory purposes) as the inputs are supplied in the same format and use of the same protocol
PhiFIX Engine, Re-Shaping trading experience with Seamless communication!
Sensiple launched PhiFIX, a suite of Multi-protocol (FIX, EMAPI, FAST, ITCH & OUCH) based messaging infrastructure to streamline electronic communications in the financial securities industry. It implements the automated trading of multi-assets, including securities, derivative, and other financial instruments.
This suite influences increased connectivity, operational efficiency and low latency in trading platform. The differentiator of PhiFIX is, it is comprehensive, robust, scalable FIX Connectivity solution, which supports Multiple Asset Classes, FIX functionalities in Pre-Trade, Trade and Post-Trade, FIX Message Formats and various order routing systems.
Few Implementation Done using PhiFIX – for Buy-side, Sell-side and Venues
- Basic Order Flow
- IOIs and advertisements
- Market data and Reference Data
- Trade reporting
- Trade Processing
- Clearing and Settlement Scenarios
- Regulatory compliance
- Multi-leg Order flow
- Security and position reporting
A Seamless Connectivity Platform for the Trading Participants!
- High Performance through FIX Session Layer
- Reconstruct a failed FIX session from an application failure with Sequence reset
- Messages can be re-transmitted to detect the sequence number gap by resend request, test request, Logon and Logout session-level messages.
- Manage the application execution data (order status, requests etc...) for the best implementation practices.
- Validates FIX messages, which helps to adhere with the FIX defined Protocols.
- Supports FAST compression and decompression.
- FIX Engine should be encoded with SSL-based encryption.
- FIX Session recovery should recover the FIX session state after restart in accordance with the FIX state model.
Capabilities of a FIX Engine
Best Implementation Practices:
- Enable multiple connectivity to various participants using dynamic session creation (Dynamic Session Creation)
- Supports Multiple FIX version and facilitate the ease of session handling by parsing message and disposing session.
- Dictionary capabilities for validating the incoming messages.
- FIX Dialects: A Customized Field/value add capability for flexible FIX message transactions.
- A configuration file for session in the server will be uploaded for flexible recovery of fail message on networking using the configuration file.
Ease of Operability:
- Detailed view of log file representation.
- Admin Console helps the admin to control the session and be the listener (Monitoring & Controlling) and to change the session parameters.
- Easy integration of admin console with third party software - TCP connectivity
- The console provides updates on every transaction on session level FIX message with time.
- It is capable to run on Window and Linux OS
- Automatic admin message transaction on session layer after logon.
- Message store and back-up ability.
- Session creation based on logon message, not other message
- Event handling on incoming messages.
- Garbage collection controls
Best-in class Infrastructure:
- Flexible Application layer interaction (In-bound and Out-bound)
- Session can be configured into the Template/Format definition.
- Automatic checksum calculator
- Quick FIX encoding and decoding.
- Option on FIX Fields to allow all values.
- Network option settings.
- Capable to run Initiator and acceptor instance on single engine.
- Incoming message validation and reject.
- Malformed message skip or validation.
- Single and Multiple Thread session message control capability.
FIX Benchmarking and Security
- The Latest Version offered by Sensiple: pfengine v2.11.2959
- FIX Engine benchmarked 100k messages per second. Based on the data traffic and matching time order pushes maximum of 100k messages per seconds
- FIX protocol supports Encryption 256-bit and elegant log representation of engine and its transaction.
- Designed for high frequency trading and ultra-low Garbage Collector type of systems (E.g., ultra-low GC).
Connectivity Failure Handling
- Deep interface implementation configured on engine code and Engine direct that connection failure message to application layer which will recover the lost session.
Interesting Facts to know about FIX Engine
- Technology Used to build FIX Engine: Apache mina, Java1.8
- Multi Asset Capability: The engine designed to support multi-asset classes and developed generic way.
- Features: Session template, session management, nuclear connection maintains, rich FIX message transaction and so on.
- Supports FIX Session Creation, session role and Closing Session.
- FIX Connections can be established and closed except session role.
- Flexible FIX message exchange (Send & receive from counterparty)
- FIX Message Sample:
8=FIX.4.2 | 9=176 | 35=8 | 49=PHLX | 56=PERS | 52=20071123-05:30:00.000 | 11=ATOMNOCCC9990900 | 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=128
- Sequencing: Session wise sequence can be maintained on either initiator or acceptor.
- The Message life cycle includes Framing data, calculating checksum, body length calculation, encoding and decoding and once the transaction completed, the message will be destroyed automatically.
- JAVA can be efficiently implemented, while reporting errors & connectivity issues though Interface implementation, which helps application to identify the errors and connection problems.
- Sessions Events & Listeners: Every session or listener was connected on unique port for identification of client and server. The FIX message are distributed across the session with the help of events.
- Session Objects: Session holds all feature configuration, admin message responsibility, dialect and dictionary.
Transform your trade communication with the substantial operational and cost advantages through PhiFIX Engine and enable seamless trading with low latency communication. Sensiple offers flexible delivery options and as well it delivers highly scalable end-to-end FIX Enterprise solution with 24/7 customer support.