在金融市场的激烈竞争中,量化交易因其数据驱动、模型化的决策过程而越来越受到重视。然而,量化交易人员在策略开发、执行和风险管理等方面面临着诸多挑战,包括确保策略的有效性、管理高质量数据、实现快速执行与经纪商集成、进行有效风险管理、提高自动化水平以及控制成本。所以做量化交易就会需要一个专门用于研究、回测和运行自动化的量化交易策略,比如 QuantRocket。
本文我们将介绍QuantRocket,以及快速部署的方式,即便是技术小白跟着我们的教程也能轻松搞定。
QuantRocket是什么?
QuantRocket 是一个基于 Python 的平台,专门用于研究、回测和运行自动化的量化交易策略。它提供了数据收集工具、多个数据供应商、研究环境、多个回测器以及通过 Interactive Brokers (IB) 进行实时和模拟(纸面)交易的能力。QuantRocket 以其支持国际股票交易和灵活性而闻名。
该平台支持多种回测引擎,包括它自己的 Moonshot,以及用户选择的第三方引擎,如 Zipline(最初为 Quantopian 提供动力的知名回测器)、Alphalens(用于因子分析的库)、基于 pandas 的向量化回测器 Moonshot,以及 MoonshotML(一种前向机器学习回测器)。QuantRocket 构建在 Docker 之上,可以本地部署或部署到云端,并且具有开放的架构,非常灵活和可扩展。
QuantRocket 提供了 JupyterLab 环境,支持数据集成,并允许用户访问多种类型的数据,包括价格、基本面、替代数据、情绪数据、短期销售和保证金数据,以及自定义数据。数据频率包括每日、日内和实时数据,覆盖全球和美国市场。
QuantRocket 的用户界面基于 Web 的 Jupyter 环境,用户可以在其中查看、创建和编辑算法文件和配置文件。它还允许用户在笔记本和算法中使用 QuantRocket 的 Python API,并在 Jupyter 界面内打开终端使用 QuantRocket 的命令行界面。
总的来说,QuantRocket 是一个全面、灵活且功能丰富的量化交易平台,适合从初学者到专业量化交易者的各种需求。
怎么安装部署 QuantRocket?
QuantRocket 可以部署在本地,也可以部署在云服务器上。但是相对于本地,QuantRocket 官方更推荐部署在云端。因为,与本地部署相比,云部署有几个优势,尤其是对于实时交易而言:
- 你的云服务器的互联网连接通常比你的家庭互联网可靠得多
- 在 QuanRocket 的原生平台 Linux 上运行 Docker
- 你可以从任何计算机都可以安全地访问你的云部署
- 为你的算法提供专用环境,即云端的计算资源,这样你的算法和PC使用之间不会争用 CPU/内存资源,运行会更可靠
如果部署在云服务器上,那么量化交易过程中,你的云服务器会与经纪商或其他数据提供商之间产生频繁的数据交互,那就意味着可能会产生较多的出站流量。所以你需要选择流量费用较低的云服务器。
QuantRocket 官方推荐的是 DigitalOcean的 Droplet 服务器,一方面DigitalOcean 服务器的套餐在提供免费流量的同时,超额的流量费用仅需 0.01 美元/GB,比GCP、AWS 都要低。另一方面,DigitalOcean 提供了一键式部署的功能,用户只需要在 DigitalOcean 的后台点击几下即可创建一台带有 Linux 系统并部署了 QuantRocket 的服务器。
小白也能会的QuanROcket安装部署
首先,你需要注册一个 DigitalOcean 的账号。每个注册的新用户都可以有 200 美元的免费额度可以使用。你可以用它来支付服务器、数据备份、云存储或 GPU 云服务的成本。账号注册只需要填写邮箱,然后绑定支持VISA或Master信用卡或 Paypal 即可,如果遇到问题可以参考DigitalOcean 中国区独家战略合作伙伴卓普云的官方文档。
在注册完账号之后,直接访问:https://marketplace.digitalocean.com/apps/quantrocket
你就会看到下方截图的页面。在页面中,点击“Create QuantRocket Droplet”按钮即可。
在这里要简单说明一下。Droplet 是 DigitalOcean 的云服务器的产品名称。在点击按钮之后,你就会跳转到创建服务器的页面。
在最开始,你可以选择把云服务器创建在什么地区。Droplet 在美国、加拿大、新加坡、英国等地都有数据中心,你可以选择其一。
继续将页面向下滚动,你会在这看到系统已经勾选了要在这台服务器上部署 Ubuntu,以及 QuantRocket。
继续向下滚动页面,你需要为服务器选择合适的配置。
根据 QuantRocket 的系统要求,QuantRocket 的推荐配置是 16GB RAM或以上。如果选择低于这个配置的服务器,就可能无法正常启动或使用该工具。所以在这里,我们选择基础型(Basic)Droplet,然后选择 Regular CPU中的 16GB 的配置,每个月仅需 96 美元。如果你需要性能最好的 CPU,那么可以选择旁边的 Premium Intel/Premium AMD。
或者你也可以选择内存优化型的服务器(如下图所示),价格会更加便宜。
在选择完服务器的配置之后,接下来,你需要选择是通过 SSH Key 还是密码来访问你的服务器。相对来讲,SSH Key 会更加安全。
如果你没有 SSH Key,可以根据 DigitalOcean 官方的提示来做(如下图所示)。方法如下:
在你自己的电脑上打开终端并运行以下命令:
ssh-keygen
系统会提示你保存并命名密钥。
Generating public/private rsa key pair. Enter file in which to save the key (/Users/USER/.ssh/id_rsa):
接下来,系统会要求你创建并确认密钥的密码(强烈建议):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
这将生成两个文件,默认称为id_rsa和id_rsa.pub。接下来,你会用到这个公钥。
复制并粘贴.pub文件的内容,也就是id_rsa.pub,到下面截图中左侧的文本框中。就完成了
cat ~/.ssh/id_rsa.pub
接下来,最后一步,你可以自定义服务器的名称。然后就可以选择右下角的“Create Droplet”按钮了。左下角,你会看到这个服务器在每个月月末会收取的费用。
创建服务器后,你就可以在后台看到它了。
在进入之后,你可以选择“Get Started”来启动 QuanRocket。
到这一步为止,QuantRocket 已经部署在你的服务器上了。如果要运行它,你还需要根据 QuantRocket 官方的步骤执行以下几步:配置域名、本地电脑上安装 Docker、下载 Docker Compose 文件。这几步都比较简单,跟着QuantRocket 官方的指引操作就行:quantrocket.com/installation/cloud/
如果你在使用 Digitalocean Droplet 服务器的过程中还有什么疑问,并需要中文支持,欢迎联系 DigitalOcean 中国区独家战略合作伙伴卓普云(4008005155 或加入电报交流aidropletcloud)。