jamesdbrock / hffix

Financial Information Exchange Protocol C++ Library
http://jamesdbrock.github.io/hffix
Other
276 stars 89 forks source link

hffix_fields: fix typo in tag 267 name (NoMDEntryTypes) #17

Closed msherman13 closed 5 years ago

jamesdbrock commented 5 years ago

So the thing about this is that those strange spellings are in the official spec from the FIX protocol organization fixspec/fix.4.4/FIXML4.4v20030618.dtd.

This file, hffix_fields.hpp is generated by parsing those spec documents. See the comment at the top of the file for details.

I think the criteria for correctness for FIX fields name isn't what's in an English dictionary, rather the criteria is fidelity to whatever FIX org publishes.

Maybe FIXML4.4v20030618.dtd is in error, but if that's true, then we would determine that by referencing some other document published by the FIX org which uses a different spelling for those field names.

msherman13 commented 5 years ago

OK fair enough. I was going off of https://www.onixs.biz/fix-dictionary which I guess didn't adhere to the spec.

jvirtanen commented 5 years ago

It seems that these are not actually typos but the abbreviated names for the fields. See the definitions in the FIX Repository:

<Field added="FIX.4.2">
    <Tag>267</Tag>
    <Name>NoMDEntryTypes</Name>
    <Type>NumInGroup</Type>
    <AbbrName>NoMDEntryTyps</AbbrName>
    <NotReqXML>0</NotReqXML>
    <Description>Number of MDEntryType (269) fields requested.</Description>
</Field>

I'm not very familiar with FIXML but it seems odd that it would use the abbreviated name just for these two fields. If it was consistent, it would call, for example, MDEntryPx(270) "Px" as well:

<Field added="FIX.4.2">
    <Tag>270</Tag>
    <Name>MDEntryPx</Name>
    <Type>Price</Type>
    <AbbrName>Px</AbbrName>
    <NotReqXML>0</NotReqXML>
    <Description>Price of the Market Data Entry.</Description>
</Field>

I'm myself using the <Name> elements in the FIX Repository to generate the tags for the standard protocol versions in Philadelphia.

jamesdbrock commented 5 years ago

@jvirtanen Yeah, that's what's going on. hffix should probably use FIX Repository rather than parse the original protocol spec documents.

jamesdbrock commented 5 years ago

Thanks @msherman13 for submitting this pull request, even though you closed it. The conversation you started is causing me to write up a parser for the FIX Repository.

jamesdbrock commented 5 years ago

@msherman13 This branch will solve the abbreviated field names problem. https://github.com/jamesdbrock/hffix/pull/18