Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Do you find it necessary to customize the quickfix data dictionary?

Tags:

quickfix

In the FIX.4.4 data dictionary XML bundled with the quickfix library, it appears that some fields are marked as required that possibly should not be according to protocol specs as described in FIXimate.

For example:

35/OrderId in message AE/TradeCaptureReport's component group TrdCapRptSideGrp 552/NoSides

Another example:

15/ExecType in message AR/TradeCaptureReportAck

I am thinking that these fields should not be required, and that I can simply mark them as required='N' in the FIX44.xml in my data dictionary.

Is it at all surprising that I am finding questionable required='Y' in the stock data dictionary? Should I be at all concerned about changing these?

like image 798
Andrew Gilchrist Avatar asked Jun 01 '18 22:06

Andrew Gilchrist


1 Answers

It's best to consider the FIX's default data dictionaries as nothing more than a suggestion.

In practice, every counterparty does things a little differently and may use certain fields in different ways. Additionally, most counterparties like to add custom fields to messages (or even all new messages!), and you'll need to adjust your data dictionary XML to match, so that the engine knows what fields to expect.

In practice, I've never seen a counterparty that didn't screw with the data dictionary at least a little. You really have to check each firm's specs; assume nothing.

like image 142
Grant Birchmeier Avatar answered Dec 09 '22 09:12

Grant Birchmeier