Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

RQAlpha 对接 vnpy 的扩展 Mod。通过启用该 Mod 来实现期货策略的实盘交易

License

Notifications You must be signed in to change notification settings

ricequant/rqalpha-mod-vnpy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rqalpha-mod-vnpy

RQAlpha 对接 vnpy 的扩展 Mod。通过启用该 Mod 来实现期货策略的实盘交易。目前本模块仍处在正式发布前的测试阶段,您可以下载参与测试并开 Issue 提交 bug,也欢迎您提交代码,参与开发。

本开源模块未进行详尽完备的测试,作者不保证您通过本模块获取到数据的完整以及准确性、不保证您的策略逻辑正确触发对应的实盘操作,您通过使用本模块实盘操作产生的损益与作者无关。

当前版本的 rqalpha-mod-vnpy 仅支持 VN.PY 的最新版本,请您及时更新 VN.PY 的代码

环境要求

由于 VN.PY 项目仅支持 Linux 和 Windows 系统,python2.7 环境,目前本模块也仅支持在 Linux 或 Windows 系统下 python2.7 环境。
作者仅在 ubuntu 16.04 LTS 系统进行了测试。关于 Windows 及其他 Linux 发行版下的兼容性,作者会在精力允许的情况进行测试,也欢迎您将兼容性情况反馈给我。

编译和安装

本模块依赖 RQAlpha 和 VN.PY 两个项目,所以需要完成两个项目的安装。

安装 RQAlpha

rqalpha-mod-vnpy 依赖 2.0.X 版本的 RQAlpha,您可以执行如下命令来安装 RQAlpha

pip install -U rqalpha

安装 VN.PY

VN.PY 项目未提供 pip 安装包,所以您只能通过下载源代码自行编译的方式进行安装。详细的环境配置和安装说明您可以查看 VN.PY官方教程

安装 mod

在您完成 RQAlpha 的安装之后,您可以执行以下命令来安装 mod:

rqalpha mod install vnpy

之后您可以执行以下命令来启动 mod:

rqalpha mod enable vnpy

如果您需要关闭或者卸载 mod 您可以执行以下两条命令:

rqalpha mod disable vnpy

rqalpha mod uninstall vnpy

配置项

您需要在配置项中填入 vnpy 相关文件夹的路径及您的 CTP 账号密码等信息,您可以在 simnow 官网 申请实盘模拟账号。
配置项的使用与 RQAlpha 其他 mod 无异

"vnpy": {
    # 您需要接入的接口,目前仅支持 CTP
    "gateway_type": "CTP",
    # VN.PY 项目目录下有一个 vn.trader 文件夹,您需要把该文件夹的路径填到此处
    "vn_trader_path": None,
    # 您使用 simnow 模拟交易时可以选择使用24小时服务器,该服务器允许您在收盘时间测试相关 API,如果您需要全天候测试,您需要开启此项。
    "all_day": True,
    # VN.PY 创建临时文件的目录
    "temp_path": "./vnpy_temp",
    # 以下是您的 CTP 账户信息,由于您需要将密码明文写在配置文件中,您需要注意保护个人隐私。
    "CTP": {
        "userID": "",
        "password": "",
        "brokerID": "9999",
      	"tdAddress": "tcp://180.168.146.187:10030",
      	"mdAddress": "tcp://180.168.146.187:10031",
    },
}

开箱即用虚拟机

为了让用户能够在最短时间内体验 rqapha-mod-vnpy,免去繁琐的环境配置和接口编译,作者提供了开箱即用的虚拟机镜像。

有关虚拟机镜像的导入以及 rqalpha 的调试和运行,您可以参考 rqalpha 文档

点此下载

体验 rqalpha-mod-vnpy

  • 双击打开桌面上的 rqalpha_vnpy_test.py 文件,在配置文件对应位置填入您的 simnow userID 和密码

  • 打开终端,依次输入如下命令:

cd /home/rqalpha_user/桌面

source activate py2

python rqalpha_vnpy_test.py

FAQ

  • 为什么策略在初始化期间停滞了几十秒甚至数分钟?

    程序在启动前,需要从 CTP 获取 Instrument 和 Commission 等数据,由于CTP控流等原因,像 CTP 发送大量请求会占用很长时间。您可以将 log_level 设置成 verbose 来查看详细的回调函数执行情况。未来可能会考虑开放设置是否全量更新 commission 信息以换取更快的启动速度。*

  • 为什么我在RQAlpha中查询到的账户、持仓信息与我通过快期、vn.trader 等终端查询到的不一致?

    本 mod 会尽力将您的账户信息恢复至 RQAlpha 中,但由于计算逻辑的不同,可能会导致各个终端显示的数字有差异,另外您通过其他终端下单交易也有可能导致数据同步的不及时。不过这也有可能是程序bug,如果您发现不一致情况严重,欢迎通过Issue的方式向作者提出。*

  • VN.PY 的环境配置和安装比较复杂,我搞不定/懒得搞怎么办?

    作者会尽力研究,争取将VN.PY的安装包含进 mod 中,通过 pip 的形式一键安装,在这之前,作者会提供一个开箱即用虚拟机镜像,供您直接下载使用。*

  • 为什么会报 NotImplementedError?

    请尝试将配置文件中的 frequency 设置为 tick。

  • 我如何在 python3.x 下使用该 mod?

    您可以尝试使用 rqalpha-mod-ctp, 该 mod 实现了 python3.x 的支持。待 rqalpha-mod-ctp 逐步完善后,rqalpha-mod-vnpy 将不再维护。

History

  • 0.9.30
    • 脱离对 vn.py 上层代码的依赖,直接对接 TdApi 和 MdApi 类。
    • 启动时不再因为 vn.py 接口不完整报错。
    • 修复断线重连及账户恢复时的若干 bug。
    • 提升运行效率

About

RQAlpha 对接 vnpy 的扩展 Mod。通过启用该 Mod 来实现期货策略的实盘交易

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.