1
$\begingroup$

I would like to know from those that have used FIX (with Simple Binary Encoding) for HFT compares with the current (proprietary) protocols in use that often vary per counterparty.

Interested in bandwidth utilization and development time differences. For example, do the various FIX engines (is there a list?) that support FIX SBE allow a software team to get to market quicker with their models than having to learn each proprietary trade protocol?

$\endgroup$
5
  • 1
    $\begingroup$ Not sure this is really a good question here. You might try to focus it a bit more. Which market, for example, are you talking about? Pros & Cons are not general across the entire universe of venues. For ex, you'd be hard pressed to find a more compact order entry protocol than OUCH, but doesn't mean its better. $\endgroup$ Commented Nov 25, 2013 at 17:18
  • $\begingroup$ @LouisMarascio doesn't matter what market to me, anyone with any market experience is fine $\endgroup$
    – Nikos
    Commented Nov 25, 2013 at 21:33
  • 3
    $\begingroup$ @Nikos, which fruit is the healthiest to eat and which will reduce the likelihood of ever getting sick? What do you think your doctor will reply when you ask him such question? $\endgroup$
    – Matt Wolf
    Commented Dec 23, 2013 at 15:40
  • $\begingroup$ @MattWolf He should say "God knows" $\endgroup$
    – Nikos
    Commented Dec 23, 2013 at 22:36
  • $\begingroup$ So, then specify where you look to connect to and I am sure you will get a whole lot more meaningful responses. Merry Xmas. $\endgroup$
    – Matt Wolf
    Commented Dec 24, 2013 at 0:01

2 Answers 2

2
$\begingroup$

This is a really confused question and the OP clearly doesn't work in this industry. Any connection to an exchange requires using the format the exchange has chosen. I.e., you don't get a choice.

That said, I don't know of a single exchange that allows order entry via SBE. CME Group will use SBE for their new market-data feed (replacing FAST compression), but that's it.

$\endgroup$
1
  • $\begingroup$ Lots of brokers and exchanges offer a choice between FIX and their own order entry protocol. CBOE has CMI and FIX, Interactive Brokers has FIX and a proprietary Java API. FX destinations like Oanda and LMAX are the same. $\endgroup$
    – Andrew
    Commented Dec 25, 2014 at 6:51
1
$\begingroup$

FIX has some known deficiencies. Repeating groups is one of them. It can be costly in terms of latency to parse repeating groups inside repeating groups, requiring recursive calls. I prefer protocols that send a first message signaling that N messages will follow with the group info.

FIX is also too verbose consuming too much bandwidth. For that they have come up with FAST which compresses FIX by a great amount but it is mainly used by the exchanges for market data, not order routing.

When we developed our FIX and FAST engine (CoralFIX), we focused on three things:

  1. It must have a very intuitive and easy-to-use API for fast turnaround when coding the connections to the exchanges.
  2. It must be low latency, designed from the ground up for speed.
  3. If it is a Java one it must leave zero garbage behind otherwise the GC will add unacceptable latencies and variance.

Disclaimer: I am one of the developers of CoralFIX.

$\endgroup$
1
  • $\begingroup$ Parsing FIX messages, including those containing nested repeating groups is straightforward if you use a recursive-descent parser. For example, parse_NewOrderSingle() will call parser_Header(), then parse_NewOrderSingleBody() and finally parse_Trailer(). If there is a repeating group in the body of the message, then parser_NewOrderSingleBody() calls a parse function for that specific repeating group, e.g., parser_NewOrderSingleBody_NoPartyIDs(). And if that parse function encounters a nested repeating group, it will call, say, Parse_NewOrderSingleBody_NoPartyIDs_NoPartySubIDs(). $\endgroup$ Commented May 23 at 15:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.