CrazyC
CrazyC

Reputation: 1896

Development of a FIX engine

I am new in the FIX and have requirement to develop a small FIX engine to communicate trading system. As I know there are plenty of FIX engine available but here requirement is to develop it. Could anyone provide me the reference on any open source or any good article to start it?

Upvotes: 2

Views: 4080

Answers (4)

Oleh Vasilyev
Oleh Vasilyev

Reputation: 33

If you want to build a FIX engine, you can take a look at FIX Antenna .NET Core as well. It is a high-performance and open-source FIX engine that can give you full visibility of how the FIX engine works

Upvotes: 0

rdalmeida
rdalmeida

Reputation: 1853

Developing your own FIX engine is not easy, specially if you will be dealing with FIX session level details yourself. Synchronizing sequences through ResendRequest, GapFill and SequenceReset is not easy and it would be nice if you can just use a FIX engine that is already doing that for you.

Another problem with the FIX protocol is REPEATING GROUPS. It is not easy to parse them quickly as it requires recursion or alternatively a complex iterative implementation.

Moreover, most Java FIX engines produce a lot of garbage when they are parsing the message, which increases variance and latency due to GC overhead.

Lastly, an intuitive API design is crucial to accelerate FIX development. If you want a good example of a clean API, you can check CoralFIX.

Disclaimer: I am one of the developers of CoralFIX.

Upvotes: 1

DumbCoder
DumbCoder

Reputation: 5766

For C++ use quickfix

Java use QuickfixJ

For .NET use VersaFix

To refer to Fix message constructions.

Both the libraries(Quickfix) have the same nomenclature as mentioned in the FIX protocol standards. But they are little buggy here and there, but you can rectify them in your source code. I have used both of the libraries in a commercial project and say so after seeing the libraries work. But the code is quite simple and they have an online reference manual to work with.

But developing your own library will be a big task for only one developer, if you have a team it can be much easier. Remember other than parsing you have to incorporate network communications, configuration on how to run it and threading structures also.

Upvotes: 4

Codo
Codo

Reputation: 79005

You certainly want to look at QuickFix.

Upvotes: 0

Related Questions