31

如何使用 python 解析 FIX 消息?(FIX 消息,如“金融”FIX 协议中的)

4

6 回答 6

12

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

如果是这样,我不知道。一般来说,为 FIX 消息编写一个简单的解析器并不难。我发现有效修复的网络工具可以完成这项工作。

于 2010-02-22T13:51:44.963 回答
8

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

它包含 0x1 分隔的“key=value”字符串对。一个复杂的问题是组,因为您必须确定标签是组中的第一个(组标题),然后确定组何时结束(当它遇到不在组中的另一个标签时)。

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

我相信 quickfixengine 使用标签字典,它可以找出标签是组中的第一个,然后继续添加,直到点击不在组中的标签。

当我需要对 FIX 消息进行自定义解析时,我大多确切地知道我们期望什么消息和什么数据,因此我可以针对这些消息进行调整。

于 2010-03-01T02:42:00.270 回答
5

FIX 格式解析起来非常烦人(因为非 XML 格式,即几乎每个人仍在使用的格式,没有子组开始和结束标记,相反,您必须根据标签排序规则和标签来解决它不在子组中,头部或尾部可以是任何顺序)。

因此,与其自己解析它,我建议您使用现有的库来这样做。

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

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

于 2010-02-22T13:57:35.100 回答
4

试试http://fix.nowing.com

它是一个基于 Web 的修复消息解析器

于 2012-04-04T14:51:20.417 回答
2

从 quickfixj 源代码中,它使用 treeMap 来处理 FIX 消息。

关于 XML 格式,我认为 FIX 更好,虽然在 JAVA 中解析更难。因为 XML 太重了。

于 2010-09-30T13:40:38.293 回答
1

没有最好的方法,但鉴于您或 SO 系统附加的 quickfix 标签,查看QuickFix开源 FIX 引擎将是一个不错的起点。

如果您所在的公司很重要,或者您需要更多支持和服务,那么也有许多商业供应商。

祝你好运

于 2010-02-22T13:50:34.163 回答