解析FIX消息的最佳方法是什么?

Che*_*hez 29 finance quickfix

你如何使用python解析FIX消息?(FIX消息,如'财务'FIX协议)

小智 11

你的意思是使用QuickFIX吗?(我可以在你的标签中看到QuickFIX)

如果是这样的话,我不知道.通常,为FIX消息编写简单的解析器并不困难.我发现有效修复的Web工具可以完成这项工作.


ste*_*anB 7

除了使用实际的quickfixengine之外,当您知道它包含特定标记时,它很容易解析修复消息.

它包含0x1个分开的'key = value'字符串对.一个复杂因素是组,因为你必须弄清楚标签是组中的第一个(组头),然后找出组结束时(当它击中不在组中的另一个标签时).

另一个有问题的字段是RawData,它可以包含任何内容,包括字段分隔符0x1,但它之前是RawDataLength,因此您必须首先读取该字符,然后在RawData标记之后读取RawDataLength字节数以到达下一个字段.

我相信quickfixengine使用标签字典,它可以确定标签是第一个组,然后继续添加,直到命中不在组中的标签.

当我需要自定义解析FIX消息时,我大部分都知道我们期望的消息和数据,所以我可以为这些消息调整它.


Geo*_*ins 5

FIX格式令人惊讶地难以解析(因为非XML格式,即几乎所有人都使用的格式,没有子组开始和结束标记,而是你必须根据标记排序规则来处理它,并且标记为不在子组中,标题或尾部可以按任何顺序排列).

因此,我建议您使用现有的库来执行此操作,而不是自己解析它.

唯一维护良好的开源选项是Java QuickFIX/J库.

有许多商业解决方案,例如CameronFIX