RQAlpha 对接 CTP 的扩展 Mod。通过启用该 Mod 来实现期货策略的实盘交易。目前本模块仍处在正式发布前的测试阶段,您可以下载参与测试并开 Issue 提交 bug,也欢迎您提交代码,参与开发。
该 Mod 底层引用了 PyCTP, 一些函数的封装和写法参考了 VN.PY。
Ricequant 旨在为量化爱好者提供可靠、易用的工具。与此同时我们也搭建了一个量化社区供大家探讨与交流回测框架、策略。欢迎大家前来分享自己对于量化交易的理解。
该 Mod 支持 python 2.7, 3.4, 3.5,暂时仅支持 Linux,后续会加入 windows 支持。
rqalpha mod install ctp
或者将源代码克隆,并在安装目录执行
rqalpha mod install -e .
您需要在配置项中填入您的 CTP 账号密码等信息,您可以在 simnow 官网 申请实盘模拟账号。 配置项的使用与 RQAlpha 其他 mod 无异
{
# CTP 登录信息
"login": {
'user_id': None,
'password': None,
'broker_id': "9999",
},
# 事件相关设置
"event": {
# 是否使用默认的 CTP 实时数据源
"enabled": True,
# 是否在非交易时间段内触发行情事件
"all_day": False,
"address": "tcp://180.168.212.228:41213",
},
# 交易相关设置
"trade": {
# 是否使用默认的 CTP 交易接口
"enabled": True,
"address": "tcp://180.168.146.187:10000",
},
}
FAQ
程序在启动前,需要从 CTP 获取 Instrument 和 Commission 等数据,由于 CTP 控流等原因,向 CTP 发送大量请求会占用很长时间。您可以将 log_level 设置成 verbose 来查看详细的回调函数执行情况。未来可能会考虑开放设置是否全量更新 commission 信息以换取更快的启动速度。
本 mod 会尽力将您的账户信息恢复至 RQAlpha 中,但由于计算逻辑的不同,可能会导致各个终端显示的数字有差异,另外您通过其他终端下单交易也有可能导致数据同步的不及时。不过这也有可能是程序bug,如果您发现不一致情况严重,欢迎通过Issue的方式向作者提出。
您可以在配置项中将 event 和 trade 部分的 enabled 项设置为 False 来禁用这一部分。
0.1.3
0.1.4