如何开始使用 QuickFix 库

How to start working on QuickFix library

我给出了一个使用 c++ 和 quickFix 库开发算法交易系统的项目,我搜索 google 关于 quickFix 库但没有找到任何有用的信息。 谁能给我一些信息,我应该从哪里开始?

您可以在 quickfixengine.org 网站上找到 QuickFIX 下载:http://www.quickfixengine.org/。从那里,您可以下载源代码或下载 Visual Studio 2010、2012 和 2013 的预构建包。

QuickFIX 的文档可以在他们的文档区找到:http://www.quickfixengine.org/quickfix/doc/html/。该文档包括 compilation/installation 说明和一个 "Getting Started" 部分,其中讨论了设置项目和编写您的第一个 QuickFIX 应用程序。

如果您想了解更多有关 FIX 协议的信息,建议您在此处查看 FIX 网站:http://www.fixtradingcommunity.org。该网站上有规范,可为您提供有关 FIX 支持的消息类型以及应如何使用它们的信息。

你在问题中提供的细节很少,所以我只能猜测一个有用的方法。我已经在 Python 完成了您开始的工作,可以为您提供一些指导。 Karl 提到的所有链接都是至关重要的(您应该特别注意配置文件中的 quickfix 文档),我将向其中添加 FIXIMATE.

要在 QF 中做这样的事情,您需要回答一些问题。

  1. 登录。弄清楚如何登录。尝试从你的交易对手那里得到一个数据字典。您不希望被迫过多地修改您的 DD。

  2. 接口。您将如何告诉 QF 登录、注销、退出可怕的位置等等?我使用赋予我这种能力的命令行工具 (cmd2)。其他人代码GUI windows.

  3. 消息破解。某些版本的 QF 带有破解器,但如果您没有用 C++ 编写的破解器,则必须自己编写,以便解析传入的消息。

  4. 数据管理。您将如何在 RAM 和磁盘中保存传入的市场数据以供日后分析?您将如何表示和监控您的头寸、您的工作指令、您的审计追踪?熟悉 QF 中的 ScreenLogFactoryFileLogFactory

  5. 辅助功能。您将需要许多您自己编写的函数来在所有阶段提供帮助。将它们全部保存在一个地方并分类以便于访问。

  6. 监控。当您不在计算机前监控算法时,您如何知道出现问题(或正确)?我启动了一个完全独立的进程,它通过队列使用消息并向我发送文本和电子邮件。

  7. 风险。您不希望您的机器在眨眼间向市场发送 1000 个订单。您需要编写一些支票来否决不良订单,作为它们发出前的最后阶段。还有一些代码会告诉您您是否处于应该持平的位置。这部分非常重要。

  8. 策略。您将需要能够快速摄取数据、分析数据并生成信号。为了灵活性,您不应该将策略设计到您的系统中,但您应该设计一个可以支持您提出的任何策略的策略对象。然后在系统中部署这些对象。

  9. 订单处理。您的算法需要知道何时以及如何输入订单、取消订单、移动止损等。它需要处理部分成交,并能够支持多种订单类型。

这仅仅是个开始,就在我的脑海中。在没有帮助的情况下独自完成所有事情是一条漫长的道路。不过很有趣,也很有收获。