Fix8 is our original community supported open source C++ FIX framework.
Fix8Pro is a commercially supported C++ development toolkit and runtime engine designed to provide FIX connectivity to user applications. Fix8Pro provides an API and framework that you can quickly develop a FIX interface on. Fix8Pro is flexible enough to work with any standard FIX version or custom variant. Fix8Pro supports multiple, scalable concurrent inbound and outbound connections.
UFE is a standalone FIX gateway that can speak any FIX variant (you control this by compiling your own XML schemas using Fix8Pro), handle multiple sessions reliably and robustly as well as delivering high performance. Downstream systems connect via ZeroMQ. FIX sessions can accept requests from downstream clients (REQ/REP) and can broadcast to downstream subscribers (PUB/SUB). We often refer to UFE as the UFEGW or UFE Gateway.
F8ME is our general purpose matching (trading) engine that is suitable for the buy and sell side alike. Brokers can use F8ME to internalise (net) their client orders before placing them on an exchange. Exchanges can use F8ME as a core CLOB matching service. Venues like new cryptocurrency exchanges for example can use F8ME in conjunction with UFE to provide a full execution pathway between client and exchange. Institutions can use F8ME to manage orderbooks in dark pools.
Fix8 Market Tech (Fix8MT) develops and maintains Fix8Pro, UFE, F8ME and the Fix8 open source Framework. Fix8MT has developers located in Australia, Europe and the Americas. Fix8 Market Tech is a member of the Fix Trading Community.
The
FIX protocol allows market particpants and non-participants to communicate with one another usually
for the purposes of trading, reporting, regulation or surveillance. Typically this occurs between exchanges and brokers/institutions and regulators
although many organisations also use FIX internally.
Fix8Pro is designed to be used by C++ developers for creating FIX protocol applications. UFE is designed to be used by developers in many different languages, to more rapidly develop FIX applications.
UFE
is a stand-alone FIX engine that developers can connect via NodeJS, Python, Java, C++ and C#. Supports any FIX dialect.
A lot of clever engineers have worked out that by using a more intelligent decoding algorithm, by skipping fields that are not of
interest, and by decoding in place, performance can be greatly enhanced. We recognise and acknowledge that there are faster ways of
decoding. The Fix8Pro message/field model is very flexible and powerful and will work with any FIX schema straight out of the box.
We don't want to give this up. A faster decoder is certainly possible, along the lines mentioned above but focusing on specificity
we lose on generality since Fix8Pro is a general purpose FIX engine. We want to retain our canonical approach and improve performance
at the same time.
This is our challenge. We are currently planning our next phase of development which will include a super high
performance version of Fix8Pro designed specifically for ULL environments. We are also in development of FIXP (SBE).
A matching engine is the core software component of an electronic exchange, broker internalisation system or dark pool facility.
It matches bids and offers to complete trades. Matching engines use one or several algorithms to allocate trades among competing bids
and offers at the same price, the most common being price/time priority.