返回列表 发布新帖

Day 01 如何设置XtQuant的开发环境

2755 0
发表于 2023-12-23 16:42:10 | 显示全部楼层 阅读模式
本帖最后由 *******7699 于 2023-12-23 16:43 编辑

QMT 是目前接入性价比最高的量化实盘接口之一。它提供了本地部署的量化平台(可以回测和实盘),也提供了可独立于该平台运行的 SDK,即 XtQuant。

XtQuant 仅提供行情数据和交易接口,不提供回测功能。目前通过 XtQuant 获取普通行情数据是免费的,但有流速限制,据测试,低于 1 秒获取一次是没有问题的。从这篇文章起,就带大家配置开发环境,实现数据本地化存储,与第三方回测框架集成,直到接入实盘交易。欢迎追更!


01 获取及安装

XtQuant 是可以脱离 QMT 运行的行情和交易接口库,即右图中对应的“原生 Python”概念。它没有 wheels 格式的安装包,要安装它,我们要到迅投的官网上下载源代码包。XtQuant 使用了打包日期来标识版本。





下载下来的是一个 zip 包,里面有一些 python 文章和 windows dll 文件。它能支持从 3.8 到 3.11 的各种版本,这一点相对于其它产品,是有一定优势的地方。XtQuant 文档中暗示它可以安装在 Linux 上,但没有足够的文档和用例,所以建议暂时不要尝试这种方式。


我们的建议是,就与 QMT 安装在同一台 Windows 机器上,但要先创建虚拟环境。

创建虚拟环境的方式是通过 Conda(假定虚拟环境名为 myquant)

  1. conda create -n myquant python=3.10
复制代码



创建好虚拟环境之后,运行以下命令,找到 site-packages 目录:

  1. conda run -n myquant python -m site
复制代码


如果你要进一步学习 Conda 命令,可以阅读《Python 能做大项目》这本书。上面的命令将输出:

  1. D:\\conda\\envs\\myquant\\lib\\site-packages
复制代码


现在,把解压缩后的包拷贝到 site-packages 目录下,安装就完成了。注意目录名为 xtquant,该目录下应该有一个名为__init__.py 的文件。如果不是这样,那么你解压缩时做错了。

02 XtQuant 的工作原理

仅仅从迅投官网下载 XtQuant 并安装,是无法让 XtQuant 正常工作的。

XtQuant 实际上是一个代理,它需要与 QMT 客户端合作,才能完成数据下载与交易。在调用 XtQuant 的 API 时,XtQuant 会创建与 Qmt 的 socket 通讯,把用户请求转发给 Qmt 来完成。Qmt 软件在网上无法下载,你必须找一个券商开设账户,然后才能从客服处拿到软件。

安装 Qmt 后,必须保证 Qmt 或者 Qmt-mini 始终在线。否则,XtQuant 也无法正常工作。

03 版本和文档一致性问题

迅投是软件开发商,最终为我们提供服务的,是采购了 QMT 及 XtQuant 的券商。可能因为这种原因,导致我们从迅投官网上下载的 XtQuant 版本,券商服务端还没升级,因此,文档里提到的新功能和 bug 修复,暂时仍然不可用。
比如,在 20231209 这个版本中,增加了 get_etf_info 及获取历史涨跌停数据。但截止 12 月 20 日,有的券商的客户还不能使用这些新的接口。如果你调用这些 API,会抛出"function not realize"的错误。

04 使用 VsCode 远程开发

如果你使用的是 Windows 做开发机,可以不看这一部分。如果你使用的



是 Linux 或者 Mac 作为开发机,是可以不远程登录到安装 QMT 的 windows
机器,而直接在本地机器上进行开发的。

基本步骤是:

1. 在 windows 上安装 openssh server。也有可能您的机器上已经安装过了
2. 在 vscode 中,点击 Remote Explorer
3. 如标号 2 所示,点击添加远程 windows 机器。
4. 此后的每次连接都需要输入密码。您也可以设置通过密钥认证方式,实现免密登录,可以参考 [微软官方文档


客服专线

400-080-8112

用思考的速度交易,用真诚的态度合作,我们是认真的!
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2025 迅投QMT社区 版权所有 All Rights Reserved. 蜀ICP备19002686号-2
关灯
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表