算法交易平台的系统架构如何设计?



我需要一些关于如何设计算法交易平台架构的输入。以下是该平台的一些细节/功能:-

  1. 用户可以使用ui组件登录和创建策略。
  2. 用户既可以纸质交易这些策略,也可以连接到真正的经纪人API进行实时交易。
  3. 用户创建的策略以一定间隔(用户定义的)针对市场数据连续运行,并生成交易信号。根据部署类型
  4. ,将此信号发送给真正的票据交易经纪人。

我需要以下几点的建议/意见。

  1. 如何摄取和存储通过websocket接收到的市场数据。
  2. 如何将接收到的数据同时提供给每个策略实例。
  3. 如何同时运行所有用户的所有策略。应该从UI监控它们的状态。
  4. 应该有一个单一的OMS(订单管理系统)还是为每个用户单独一个。记住尽量减少产生交易和下订单之间的延迟

有关我正在尝试设计的参考,您可以查看这里

很难一步一步地指导创建一个成熟的算法交易平台。以下是我从阅读这个主题和自己创造一些东西中了解到的一些事情:

  1. 如何摄取和存储通过websocket接收到的市场数据。

答:使用数据库。由于数据量将是巨大的,操作速度是必须的,你应该选择Oracle, DB2等,而不是MySQL。

  1. 如何将接收到的数据同时提供给每个策略实例

答:数据库将能够同时处理多个查询。我假设您将使用资源丰富的云。

  1. 如何同时运行所有用户的所有策略。应该从UI监控它们的状态。

答:资源丰富的云(或构成服务器的系统集群)将能够轻松处理数百或数千个多个请求。运行(不像回溯测试)策略并不耗时。所有这样的运行都可以通过UI进行记录和监视。你也可以创造有趣的视觉效果。

  1. 应该有一个单独的OMS(订单管理系统)还是每个用户一个单独的。请记住,尽量减少交易产生和订单放置之间的延迟。

答:代码应该能够立即将订单传递给各自的代理(通过它们的API)。这样的系统没有订单积压。用户应该只能查看他们自己的订单,这可以通过标准的访问控制技术实现。

我希望这对你有帮助。

最新更新