在某个时候,你可能想要将QuantJourney迁移到完全基于云的环境。这将使你能够通过我们的订单管理系统(OMS)进行持续回测、实时信号生成以及与经纪商(如IBKR)的无缝交易执行。
这篇帖子主要针对那些自己管理基础设施从事系统交易的人。
如果你更感兴趣于主动投资或和策略,继续关注我的分享——我将在下一篇帖子中深入分享因子投资法以及基于基本面因素的策略分享。
请前往查看所有文章和代码https://quantjourney.substack.com/
进行盘中前端测试程序在深入基础设施搭建之前,我们先简要介绍内置的前端测试使用实时数据集成能力,该功能可以与我们的订单管理系统(OMS)结合使用。QuantJourney框架目前涵盖以下内容:
低延时数据提供商,
- _eod_realtime_dataprovider.py — 用于从 EOD 获取 WebSocket 数据流,确保数据传输的低延迟。
- _ibkr_realtime_dataprovider.py — 用于提供 IBKR 的实时行情数据。
可扩展的数据处理能力:
- _circular_databuffer.py 和 _realtime_dataprovider.py — 设计用于高效处理低频数据的,利用内存缓存实现快速数据访问,适用于测试时的快速数据访问。
实时策略实施(如在游戏中快速调整战术):
- _intradaybacktester — 一个早期阶段的日内回测和前测工具,能够处理实时数据,虽然它会进一步优化,以增强其功能。
- _ibkrorder.py — 优化以通过我们的OMS进行模拟交易,并可以即时切换到与IBKR集成的真实交易。
这些组件作为前端测试系统的基石。虽然它目前还在开发中,我将在未来的更新中继续完善这些组件,以完成前端测试套件的全部功能。
扩大规模的量化之旅:从本地到云端在 AWS、GCP、Azure 或者 Hetzner Cloud(就像我现在正在做的)上运行 QuantJourney 可以让你实现计算与存储的分离,从而提高性能和增强安全性。下面,我会概述环境搭建的过程,涵盖从完全本地部署到完全云部署的各种方式。
加入近3,000名订阅者的行列,通过年度订阅在GitHub上获得完整代码的访问权限。
订阅啦
1. 本地设置:QJ 项目和 MongoDB这是默认设置,其中QuantJourney和MongoDB(或Arctic/Redis)都在本地运行。这非常适合初始测试和开发工作。你可以通过修改 _config/config.json
来配置MongoDB连接,并管理所有依赖项。
安装的描述如下:
https://quantjourney.dev/ (量化旅程的官方网址)
2. QJ的Docker化,本地的MongoDB在这个设置中,您将在 Docker 中运行 QJ 代码,并连接到容器外部(同一台机器上)的本地 MongoDB 实例。这样您就可以连接到容器外部(同一台机器上)的本地 MongoDB 实例。
为了实现这一点,更新配置文件中的 MongoDB URI,或直接在 DataManager
类中的 MongoDB URI 使用 host.docker.internal
将其用作主机名,以指向你本地的 MongoDB 实例:
{
"databases": {
"mongo": {
"mongo_user": "用户名",
"mongo_pw": "密码",
"mongo_cluster": "host.docker.internal",
"mongo_db": "数据库名"
}
}
}
这样就能确保容器化的应用与你本地的 MongoDB 之间的顺畅通信,只需让 MongoDB 监听默认的端口(27017)。
共同学习,写下你的评论
评论加载中...
作者其他优质文章