What is a FIX engine? [Updated]

In a number of consulting roles over the years I've been asked this question. It's something that I still get asked so I'll describe my view. First, some history on the firms in the FIX engine market sector, then some narrative. 
[Updated 13th February 2015]
[Updated 21st April 2016]
[UPDATED 14th May 2023 - someone reported this as having malware??]

The main point to bear in mind is that the FIX engine market is a mature one, there are very few pure-play fix engine vendors on the market any more.  M&A activity has been consistently taking independent firms into the hands of larger firms or private equity ownership.
 
FIX engines that have been acquired
TransactTools
Founded by Sam Johnson and a New York based team of ex-Goldman Sachs technologists. Sold to NYSE Group on the 8th January 2007.  I have looked at NYSE 10-K returns and although I can see that Wombat cost US$200m plus a US$25m retention pool for staff there’s no mention of the price for TransactTools.  Short of asking Sam I will make a guess that it’s materially less than US$200 million.

Javelin Technologies
Appia and Coppelia. Sold to NYFIX on 31st March 2002 for (according to 10K) US$10m in cash, US$41.2million in common stock and US$3.5million to buy out employee options. Subsequently sold to Ullink in 2014.

CameronTec
Founded by John Cameron, an Australian former UBS technologist. Sold to Orc Software in a deal closing in 2006 for US$30.8million.

B2Bits
Acquired by EPAM on April 3rd 2008.  Again, cannot find a price tag attached.

Ullink
Acquired by HgCapital on 3rd March 2014.  Again, no price tag attached. 

SolutionForge
A FIX engine written in C# with some buy-side focus that was acquired by SimCorp in 2005
 
Standalone FIX engines
Flyer [was FIXMLFlyer, then FIXFlyer, now Flyer]
Founded by George Kledaras, a serial FIX engine creator. Still operating in their own name.

RapidAddition
Founded by Kevin Houstoun.  Still operating in their own name.
 
NEW! Standalone FIX engines that are new to the industry
Coral Blocks CoralFIX
Java, New York via Brazil

FIX8 FIX8Pro
C++, Australia

IEISS FIX engine
From Finland, interestingly this is written in Erlang

Chronicle
 
NEW! FIX within FPGA
MBOChip Silicon Feeder
 
Embedded FIX engines
Fidessa
Due to the underlying architecture of the Fidessa platform (tag value paired datastreams in proprietary OpenAccess format) it's quite easy to extend to a FIX engine paradigm.  My understanding is that the first Fidessa FIX engine was built by implementation consultants before being "grandfathered" into the main application stack.

Sungard
No indepth knowledge

Bloomberg
No indepth knowledge

Sivron FIX engine
No indepth knowledge

Open source

QuickFIX/Go
https://github.com/da4089/simplefix
https://github.com/quickfix-j/quickfixj
https://github.com/quickfix/quickfix
https://github.com/ferrumfix/ferrumfix
https://github.com/connamara/quickfixn
https://github.com/paritytrading/philadelphia
https://github.com/jcass77/WTFIX
https://github.com/real-logic/artio
Penberg Falcon
Rubygems FIX engine
Fixio

Standalone FIX engines packaged up into other vendor applications
ITG
Appia (own source information)

Thinkfolio
QuickFIX (own source information)

Portware
Appia
  
Charles River Development
CameronFIX

Eze Castle
Appia

Digitec D3 rates engine
CameronFIX 

Fidessa LatentZero
CameronFIX
 
FIX engines packaged up into FIX networks
ThomsonReuters Autex
ttConnect (own source information). Since this is now owned by Ullink I wonder how long this deal can remain in place?
Fidessa Express
Fidessa
 
NEW! FIX engines that seem to have fallen off the radar...
Pravegatech VegaFIX engine
Speedwell Associates FIX engine [I believe a number of the team are now with RapidAddition]
Cognosys FIX Hardware Solutions
Octatec FIX Gateway
EZX Inc iServer
APT Computer Systems (Bobsguide mention here)
SAP/Sybase/Financial Fusion (Waterstechnology mention here)
 
[If you have any information about other products please get in touch and I'll update this blog post]
 
So, moving on to the core of this post, what exactly is a FIX engine?
 
Think of an operating system and then compare Windows 3.11 with Windows 7.   There’s a lot of functionality in Win7 that did not appear in Win3.11.  Part of this is due to advances in technology and part is due to changes in expectations from the user community as to what should be contained within an operating system.  When reviewing FIX engine functionality it’s wise to use a similar viewpoint – I suggest that a core/satellite model is appropriate.  Core functionality is that which is needed for a FIX engine to bear that name, satellite is functionality that enhances this core – the nice to haves and extensions.
 
Core
  • 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
Optional
  • Monitoring event generation capability (JMX and/or SNMP)
  • User interface for monitoring
  • Command line interface
  • Packet capture for log file generation rather than repeated writing to disk
  • Testing tools
  • High availability
  • Higher level abstraction layer capability
  • Log file archiving
We can see that there is not really a huge amount of actual code involved in the implementation of the core functionality.  Indeed, preparing a FIX engine as a proof-of-concept is no more than a few works work for a reasonable developer.  Writing an industrial scale, reliable FIX engine is a harder task.  But, the market has been clear in assessing this matter and ascribing a low value to the core and higher value to the optional components.  Which is exactly what we have seen in the operating system market, which brings this full circle.
 
And here's another type of engine:
 


Comments

  1. There is no answer in this article what is FIX Engine. Can you explain this notion in a brief and precise way?

    ReplyDelete
    Replies
    1. I think you would benefit from reading about FIX in general. This article explains the FIX *engines*, but if you don't understand the basics of what FIX is, this article won't make any sense. https://www.fixtrading.org/what-is-fix/

      Delete
  2. Excellent comment, thanks so much. Did you read the article?

    ReplyDelete

Post a Comment