{"id":19242895,"url":"https://github.com/ricequant/rqalpha-mod-vnpy","last_synced_at":"2025-04-05T10:07:24.326Z","repository":{"id":57462961,"uuid":"84037041","full_name":"ricequant/rqalpha-mod-vnpy","owner":"ricequant","description":"RQAlpha 对接 vnpy 的扩展 Mod。通过启用该 Mod 来实现期货策略的实盘交易","archived":false,"fork":false,"pushed_at":"2021-08-11T01:47:30.000Z","size":1259,"stargazers_count":302,"open_issues_count":5,"forks_count":56,"subscribers_count":31,"default_branch":"master","last_synced_at":"2025-03-29T09:08:30.060Z","etag":null,"topics":["futures","rqalpha","rqalpha-mod","trade","vnpy"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ricequant.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-06T06:15:49.000Z","updated_at":"2025-03-06T20:24:47.000Z","dependencies_parsed_at":"2022-09-05T15:40:50.802Z","dependency_job_id":null,"html_url":"https://github.com/ricequant/rqalpha-mod-vnpy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricequant%2Frqalpha-mod-vnpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricequant%2Frqalpha-mod-vnpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricequant%2Frqalpha-mod-vnpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricequant%2Frqalpha-mod-vnpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ricequant","download_url":"https://codeload.github.com/ricequant/rqalpha-mod-vnpy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247318744,"owners_count":20919484,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["futures","rqalpha","rqalpha-mod","trade","vnpy"],"created_at":"2024-11-09T17:15:55.994Z","updated_at":"2025-04-05T10:07:24.295Z","avatar_url":"https://github.com/ricequant.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rqalpha-mod-vnpy\nRQAlpha 对接 vnpy 的扩展 Mod。通过启用该 Mod 来实现期货策略的实盘交易。目前本模块仍处在正式发布前的测试阶段，您可以下载参与测试并开 Issue 提交 bug，也欢迎您提交代码，参与开发。  \n\n***本开源模块未进行详尽完备的测试，作者不保证您通过本模块获取到数据的完整以及准确性、不保证您的策略逻辑正确触发对应的实盘操作，您通过使用本模块实盘操作产生的损益与作者无关。***\n\n***当前版本的 rqalpha-mod-vnpy 仅支持 VN.PY 的最新版本，请您及时更新 VN.PY 的代码***\n\n## 环境要求\n由于 VN.PY 项目仅支持 Linux 和 Windows 系统，python2.7 环境，目前本模块也仅支持在 Linux 或 Windows 系统下 python2.7 环境。  \n作者仅在 ubuntu 16.04 LTS 系统进行了测试。关于 Windows 及其他 Linux 发行版下的兼容性，作者会在精力允许的情况进行测试，也欢迎您将兼容性情况反馈给我。\n\n\n## 编译和安装\n\n本模块依赖 RQAlpha 和 VN.PY 两个项目，所以需要完成两个项目的安装。\n\n### 安装 RQAlpha\n rqalpha-mod-vnpy 依赖 2.0.X 版本的 RQAlpha，您可以执行如下命令来安装 RQAlpha\n \n ```\n pip install -U rqalpha\n ```\n\n### 安装 VN.PY\n VN.PY 项目未提供 pip 安装包，所以您只能通过下载源代码自行编译的方式进行安装。详细的环境配置和安装说明您可以查看 [VN.PY官方教程](http://www.vnpy.org/pages/tutorial.html) 。\n \n### 安装 mod\n在您完成 RQAlpha 的安装之后，您可以执行以下命令来安装 mod：\n\n```\nrqalpha mod install vnpy\n```\n之后您可以执行以下命令来启动 mod:\n\n```\nrqalpha mod enable vnpy\n```\n如果您需要关闭或者卸载 mod 您可以执行以下两条命令:\n\n```\nrqalpha mod disable vnpy\n\nrqalpha mod uninstall vnpy\n```\n\n## 配置项\n您需要在配置项中填入 vnpy 相关文件夹的路径及您的 CTP 账号密码等信息，您可以在 [simnow 官网](http://www.simnow.com.cn) 申请实盘模拟账号。  \n配置项的使用与 RQAlpha 其他 mod 无异\n\n``` python\n\"vnpy\": {\n    # 您需要接入的接口，目前仅支持 CTP\n    \"gateway_type\": \"CTP\",\n    # VN.PY 项目目录下有一个 vn.trader 文件夹，您需要把该文件夹的路径填到此处\n    \"vn_trader_path\": None,\n    # 您使用 simnow 模拟交易时可以选择使用24小时服务器，该服务器允许您在收盘时间测试相关 API，如果您需要全天候测试，您需要开启此项。\n    \"all_day\": True,\n    # VN.PY 创建临时文件的目录\n    \"temp_path\": \"./vnpy_temp\",\n    # 以下是您的 CTP 账户信息，由于您需要将密码明文写在配置文件中，您需要注意保护个人隐私。\n    \"CTP\": {\n        \"userID\": \"\",\n        \"password\": \"\",\n        \"brokerID\": \"9999\",\n      \t\"tdAddress\": \"tcp://180.168.146.187:10030\",\n      \t\"mdAddress\": \"tcp://180.168.146.187:10031\",\n    },\n}\n```\n\n## 开箱即用虚拟机\n\n为了让用户能够在最短时间内体验 rqapha-mod-vnpy，免去繁琐的环境配置和接口编译，作者提供了开箱即用的虚拟机镜像。\n\n有关虚拟机镜像的导入以及 rqalpha 的调试和运行，您可以参考 [rqalpha 文档](http://rqalpha.readthedocs.io/zh_CN/latest/intro/virtual_machine.html)。\n\n[点此下载](https://pan.baidu.com/s/1boLqeGB)\n\n### 体验 rqalpha-mod-vnpy\n\n* 双击打开桌面上的 rqalpha_vnpy_test.py 文件，在配置文件对应位置填入您的 simnow userID 和密码\n\n* 打开终端，依次输入如下命令:\n```bash\ncd ﻿/home/rqalpha_user/桌面\n\nsource activate py2\n\npython rqalpha_vnpy_test.py\n\n```\n\n\n## FAQ\n* 为什么策略在初始化期间停滞了几十秒甚至数分钟？   \n\n\t程序在启动前，需要从 CTP 获取 Instrument 和 Commission 等数据，由于CTP控流等原因，像 CTP 发送大量请求会占用很长时间。您可以将 log_level 设置成 verbose 来查看详细的回调函数执行情况。未来可能会考虑开放设置是否全量更新 commission 信息以换取更快的启动速度。*\n\n* 为什么我在RQAlpha中查询到的账户、持仓信息与我通过快期、vn.trader 等终端查询到的不一致？\n\n\t本 mod 会尽力将您的账户信息恢复至 RQAlpha 中，但由于计算逻辑的不同，可能会导致各个终端显示的数字有差异，另外您通过其他终端下单交易也有可能导致数据同步的不及时。不过这也有可能是程序bug，如果您发现不一致情况严重，欢迎通过Issue的方式向作者提出。*\n\n* VN.PY 的环境配置和安装比较复杂，我搞不定／懒得搞怎么办？\n\n\t作者会尽力研究，争取将VN.PY的安装包含进 mod 中，通过 pip 的形式一键安装，在这之前，作者会提供一个开箱即用虚拟机镜像，供您直接下载使用。*\n\n* 为什么会报 NotImplementedError？\n\n    请尝试将配置文件中的 frequency 设置为 tick。\n    \n* 我如何在 python3.x 下使用该 mod？\n\n    您可以尝试使用 [rqalpha-mod-ctp](https://github.com/ricequant/rqalpha-mod-ctp)， 该 mod 实现了 python3.x 的支持。待 rqalpha-mod-ctp 逐步完善后，rqalpha-mod-vnpy 将不再维护。\n\n## History\n\n* 0.9.30\n    * 脱离对 vn.py 上层代码的依赖，直接对接 TdApi 和 MdApi 类。\n    * 启动时不再因为 vn.py 接口不完整报错。\n    * 修复断线重连及账户恢复时的若干 bug。\n    * 提升运行效率","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fricequant%2Frqalpha-mod-vnpy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fricequant%2Frqalpha-mod-vnpy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fricequant%2Frqalpha-mod-vnpy/lists"}