我给出了一个使用c++和quickFix库开发算法交易系统的项目,我在谷歌上搜索quickFix库,但没有找到任何有用的信息。 谁能给我一些信息,我应该从哪里开始?
最佳答案
您在问题中提供的细节很少,因此我只能猜测一个有用的方法。我已经用 Python 完成了您正在开始的工作,并且可以为您提供一些指导。 Karl 提到的所有链接都至关重要(您应该特别注意配置文件上的快速修复文档),我将在其中添加 FIXIMATE .
要在 QF 中执行此类操作,您需要回答一些问题。
登录。了解如何登录。尝试从对方那里获取数据字典。您不想被迫过多地修改您的 DD。
界面。您将如何告诉 QF 登录、注销、退出糟糕的位置等等?我使用命令行工具( cmd2 )赋予我这种能力。其他人编写 GUI 窗口。
消息破解。某些版本的 QF 附带破解程序,但如果您没有 C++ 版本的破解程序,则必须编写自己的破解程序,以便可以解析传入的消息。
数据管理。您将如何将传入的市场数据保存在 RAM 中和磁盘中以供稍后分析?您将如何代表和监控您的头寸、工作指令和审计跟踪?熟悉 QF 中的
ScreenLogFactory
和FileLogFactory
。辅助功能。您将需要自己编写许多函数来在各个阶段提供帮助。将它们全部保存在一个位置并将它们分类以便于访问。
监控。当您不在计算机前监控算法时,您如何知道是否出现问题(或正确)?我启动了一个完全独立的进程,它通过队列消耗消息并向我发送文本和电子邮件。
风险。您不希望您的机器眨眼间向市场发送 1000 个订单。您需要编写一些检查代码,以否决不良订单,作为它们发出前的最后阶段。还有一些代码可以告诉您是否处于应该平放的位置。这部分非常重要。
策略。您需要能够快速获取数据、分析数据并生成信号。为了灵 active ,您不应该将策略设计到系统中,但您应该设计一个可以支持您提出的任何策略的策略对象。然后您在系统中部署这些对象。
订单处理。您的算法需要知道何时以及如何输入订单、取消订单、移动止损等。它需要处理部分成交,并能够支持多种订单类型。
这只是一个开始,在我的脑海中。独自一人、没有任何帮助,这是一条漫长的路。不过非常有趣,而且很有收获。
关于c++ - 如何开始使用 QuickFix 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40262215/