Andrew Gilchrist
Andrew Gilchrist

Reputation: 133

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

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?

Upvotes: 6

Views: 1679

Answers (1)

Grant Birchmeier
Grant Birchmeier

Reputation: 18504

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.

Upvotes: 10

Related Questions