Monday, 7 May 2018
FIX Orchestra + SBE + FIXP + SOFH = How FIX joins the 21st Century?
Regular readers will no doubt have read about the joys of FIX Orchestra here, here, here and an overview here.
FIX has always been a protocol that's not a rigid protocol, started by Fidelity and Salomon Brothers to trade US Equities and then pulled kicking and screaming into other asset classes, workflows and geographies.
FIX Orchestra is a way to make on-boarding and subsequent support of a connection easier. The example use-case is that of a sell-side broker upgrading their algorithmic trading suite. In a non-Orchestra implementation this will require each vendor in the value chain and each buy-side to manually test the workflow. In an Orchestra implementation, this testing is automagically performed and so time to market is reduced to the bare minimum.
Orchestra sits on top of FIX but it does not have to use FIX. One of the original design goals which your author strongly advocated from the very first working group meetings was that Orchestra had to be agnostic and able to handle protocols outside of FIX such as NASDAQ ITCH and OUCH.
Which leads to this post and a brave pronouncement...
Orchestra is necessary, but not sufficient...
FIX SBE is a message protocol that takes the FIX semantics such as tag 35 is a message type and that the value "D" is a new order single, but instead of ∣ delimited, text encoded representations such as:
the SBE message is character based and binary encoded. Without going into a long drawn out explanation of SBE (interested readers can read more on SBE here and here) the value is that by having a template based approach, the implementer is forced to have a more rigid data-typing and message structure for the messages they send. This makes errors in message specification less likely since the template is a guide.
So, SBE makes wrongly formed messages less likely.
FIXP is a performance session layer for FIX that is "made to keep FIXP as close to the functionality and behaviour of SoupBinTCP and UFO as possible" - see here. As such, it's more suited to the requirements of a low-latency environment.
Add in SOFH which is a framing header to allow messages to be routed without parsing and can therefore assist in heterogenous and low-latency environments.
quicker to change
easier to change
quicker to adopt
compatible with heterogeneous environments
In summary, FIX Orchestra is the full stop at the end of FIX. And FIX Orchestra + SBE + FIXP + SOFH is the epitome of Darwinian evolution for FIX, the faster-to-evolve way to future-proof your trading infrastructure whether for an exchange, sell-side, buy-side, IDB, vendor, network provider, regulator or data vendor.