Boost logo

Boost :

Subject: Re: [boost] Interest in a FIX Protocol Library?
From: Marius Dobrea (mldobrea_at_[hidden])
Date: 2015-01-14 08:47:32


Mathias Gaunard <mathias.gaunard <at> ens-lyon.org> writes:

>

> On 12/01/2015 23:55, Marius Dobrea wrote:

>

> > Firstly I would like to ask the community if there is interest in such a

> > library and if anyone is doing any work on it. It seems to me that

> > although there are a lot of firms and institutions in the world

> > providing software or using FIX there are too few open source C++

> > libraries for that.

>

> QuickFIX and fix8 (first results on Google) are open-source.

> What would be the advantage of your library compared to them?

>

It is perhaps not fair to point out weaknesses in the other libraries
without being able to show alternative approaches.

So I will just list here some potential features I would love to see in a
FIX library. It should:

- Contain messages or business objects agnostic to the serialization or
protocol session implementation.

The protocol and its versions should be just an implementation detail and
not shine through the higher lever interfaces.

- Be extensible: the user should be able to provide his implementation of
messages, field types, protocol, and session implementations;

Note that by doing this the library will gain a bigger scope than a simple
FIX implementation because users will not limited to FIX messages only.

Basically two firms could:

- Agree on the messages and the fields they want to send;

- Create the corresponding xml file and run the message code generator;

- Start sending messages over the wire using a simple Tag=Value protocol;

- Once the number of messages increases and a simple protocol underperforms
they could instantiate in their application a binary protocol session and
start transmitting binary messages.

Their business code would not need to change at all.

- Have BOOST, C++ >= 11 orientation;

This library has for me an important learning role. So I do not plan to
reinvent the wheel but to (re)use: BOOST libraries, new C++>=11 features,
STL, etc.

- Provide a place where general and reusable concepts can be discovered,
implemented, tried, unittested, their performance measured.

As Niall mentioned in another reply a FIX library with significant added
value is too huge as scope.

So I am inclining more in the direction research, bachelor thesis than a
final product that can be simply picked up and used by a hedge fund.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk