vn.py量化社区
By Traders, For Traders.
Administrator
avatar
加入于:
帖子: 1919
声望: 87

延迟了1个月的样子(从1月底到2月底),终于在昨天正式发布了v2.0版本,也是vn.py项目在Python 3上的第一个版本。

最新Github仓库:https://github.com/vnpy/vnpy

如果说vn.py的v1.0内版本(v1.0 — v1.9.2)的升级迭代是在一步步摸着石头过河,由下至上一点点把整个项目的框架给摸索了出来,那么v2.0内的版本的开发则是先完成整个框架的搭建升级(基于v1.0已有的经验),然后由上至下逐步把框架内各个细节的内容丰富和完善。

发布内容

核心相关

  • 接口、引擎、应用的标准抽象类BaseGateway、BaseEngine、BaseApp
  • 采用3.7的dataclass简化基础数据类,并支持相关对象的快速生成
  • 分离程序代码和临时文件(json、temp、log等),多程序部署简洁快速
  • 新加入的邮件引擎结合QQ邮箱,实现微信消息实时推送
  • 剥离独立的数据库交互模块,便于同时支持SQL和Mongo(目前只对接了Sqlite)

接口相关

  • CTP接口:基于PyBind11封装,同时移除了对vcredist运行时的依赖
  • BitMEX接口:基于RestClient和WebsocketClient开发,支持ShadowSocks代理
  • IB接口:基于IB官方的Python API开发,全功能支持
  • FUTU接口:对接富途新的futu-api开发

应用相关

GUI界面

  • 基于PyQt5重新开发
  • 简化组件逻辑增加复用性
  • 改为非默认加载(无界面Linux可以直接运行核心而不会再报错)

CTA策略

  • 内嵌RQData客户端支持随时获取最新历史数据(支持交易时段内获取之前的日内数据)
  • 自动扫描strategy目录以及当前运行时目录下Python文件中的策略类,并加载到引擎中
  • 习惯v1.0版本中基于json的策略配置模式依旧可以使用(配置文件位于.vntrader目录下)
  • 实盘初始化策略时改为使用独立线程加载历史数据进行回放,避免界面卡顿

VNConda

5年来,如果没在以下问题上掉过坑,那都不好意思说是vn.py的用户:

  • 搞错Python版本(2 vs 3, 32位 vs 64位)
  • 没装或者不会装vcredist(导致CTP接口加载不了)
  • pip安装由于GFW导致速度奇慢(还经常超时失败)
  • 用conda安装talib导致整个numpy/pandas相关包被降级(甚至破坏环境)
  • MongoDB装了后不会启动为系统服务
  • ......

尽管很早就提供了Windows上的一键环境初始化脚本init.bat,一键vn.py安装脚本install.bat和install.sh等快速安装工具,环境的复杂程度还是超过我们的想象:总有新的坑能让新手栽进去。

为了彻底这个问题,vn.py团队从v1.9.2开始试验性的推出了VNConda这一针对Python量化交易专门设计的Python发行版,基于Anaconda背后的一系列构建工具开发,直接内嵌了所有vn.py所需的运行库,在社区三个月测试后总算是得到了不错的反馈。

所以v2.0的官方推荐安装方法是直接使用VNConda-2.0-Windows-x86_64,傻瓜式安装和Anaconda几乎一样,过程中有两个勾选框推荐全部勾上!!!

手动安装

如果实在手闲不住想要折腾的用户(我们vn.py社区就是这么充满了挑战精神),请准备好Python 3.7 64位环境,注意其他的版本不支持!!!

在发布页面下载最新release后解压,运行install.bat(Windows)或者install.sh(Ubuntu)来进行安装。

安装完成后,请在cmd中运行以下命令安装RQData客户端:

pip install --extra-index-url https://rquser:ricequant99@py.ricequant.com/simple/ rqdatac==1.0.0a66

VN Station

VN Station是全新开发的量化交易应用GUI管理工具,目前主要支持vn.py应用的图形化配置和启动(无需再写run.py脚本)。VNConda安装完成后,会在桌面自动创建VN Station的快捷方式,双击打开后会看到如下的登录框:

VN Station登录框

用户名密码请在vn.py社区论坛注册获取,点击右上角的微信登录开始注册,最新注册邀请码为El86Pa1p,登录后会进入到下图的主界面:

VN Station主界面

点击下方的“VN Trader”按钮,弹出目录选择对话框,这里是用来选择你想运行VN Trader以及保存相关临时文件的目录(默认在Windows系统用户目录下):

选择运行目录

切换好目录后点击“选择文件夹”按钮,会弹出VN Trader的配置对话框,如下图所示:

配置VN Trader

勾选想要加载的底层接口以及上层应用模块,如需修改全局配置可以点击右下角的“配置”按钮,全局配置文件使用json格式:

修改全局配置

点击“保存”按钮后回到VN Trader配置对话框,点击“启动”按钮后就能看到熟悉的VN Trader主界面了。

VN Trader

主界面和之前的版本几乎没有太大区别,但点击菜单栏的“系统”->“连接CTP”后,会弹出CTP接口的配置对话框,输入以下内容后即可登录:

  • 用户名username
  • 密码password
  • 经纪商编号brokerid
  • 交易服务器地址td_address
  • 行情服务器地址md_address
  • auth_code和product_info主要用于19年中的CTP接入验证,目前留空即可。

输入CTP配置

连接好CTP接口后,点击菜单栏的“功能”->“打开CTA策略”,则进入到CTA策略窗口中:

CTA策略窗口

和之前版本最大的区别就是可以完全基于图形界面的策略实例创建、参数修改、策略移除、生命周期管理等操作。

如果需要查看可交易的合约代码,请使用主界面菜单栏的“帮助”->“合约查询”工具,点击“查询”按钮就会输出合约信息:

合约查询

后续计划

2.0搭好了整个框架,接下来的工作就是快速迭代丰富vn.py中的各项细节,移植和重构老版本中的应用。目前的新版本还很稚嫩,欢迎大家测试后给出反馈(直接在Github开Issue)。

同时2019年社区建设的思路,将会从之前的“授人以鱼”转向“授人以渔”,每个版本发布后将会保证相关文档编写工作及时完成,另外也计划推出相关培训(免费和收费都有),感兴趣的话请关注!!!

Member
avatar
加入于:
帖子: 1
声望: 0

楼主牛逼了,新人顶

Member
avatar
加入于:
帖子: 1
声望: 1

刚注册论坛,下载完毕。请问登陆用户名密码从哪里取?谢谢

Member
avatar
加入于:
帖子: 1
声望: 0

新人学习中,谢谢

Member
avatar
加入于:
帖子: 2
声望: 0

Python 3.6 64位支持吗?

Administrator
avatar
加入于:
帖子: 1919
声望: 87

SimpleQuant wrote:

Python 3.6 64位支持吗?

安装dataclasses模块后应该可以,但还是推荐3.7

Member
avatar
加入于:
帖子: 1
声望: 0

一个月前才看到要发2.0,这么快就发了,赞!虽然我还不会用。。。

Member
avatar
加入于:
帖子: 1
声望: 1

已经安装,论坛登陆后没有“VN Trader”按钮出现。请问登陆用户名密码从哪里取?谢谢

Member
avatar
加入于:
帖子: 3
声望: 0

请问 我安装完成 在连接ctp时 输入相关信息 再点击连接时系统就自己退出,请问如何检查

Administrator
avatar
加入于:
帖子: 1919
声望: 87

redchina wrote:

请问 我安装完成 在连接ctp时 输入相关信息 再点击连接时系统就自己退出,请问如何检查

建议先尝试VNConda,如果还有问题再做细节检查

Member
avatar
加入于:
帖子: 3
声望: 0

安装后CTP登陆不了,提示“交易授权验证失败,代码:63,信息:CTP客户端认证失败”,用的是simnow 的账户。

Administrator
avatar
加入于:
帖子: 1919
声望: 87

小韭菜 wrote:

安装后CTP登陆不了,提示“交易授权验证失败,代码:63,信息:CTP客户端认证失败”,用的是simnow 的账户。

product_info和authcode留空,不要填任何东西

Member
avatar
加入于:
帖子: 5
声望: 0

请问楼主,支持vnpy2.0的VNConda在哪里下载?

Member
avatar
加入于:
帖子: 5
声望: 0

VNConda-2.0-Windows-x86_64在哪下载?

Member
avatar
加入于:
帖子: 3
声望: 0

用Python的交易员 wrote:

小韭菜 wrote:

安装后CTP登陆不了,提示“交易授权验证失败,代码:63,信息:CTP客户端认证失败”,用的是simnow 的账户。

product_info和authcode留空,不要填任何东西
是留空的,就是一直都登陆不上去,不知道啥原因

Administrator
avatar
加入于:
帖子: 1919
声望: 87

小韭菜 wrote:

用Python的交易员 wrote:

小韭菜 wrote:

安装后CTP登陆不了,提示“交易授权验证失败,代码:63,信息:CTP客户端认证失败”,用的是simnow 的账户。

product_info和authcode留空,不要填任何东西
是留空的,就是一直都登陆不上去,不知道啥原因

到你的Windows用户目录下,找到.vntrader目录,里面会有个ctp_connect.json,请将其中的内容贴一下

Member
avatar
加入于:
帖子: 3
声望: 0

用Python的交易员 wrote:

小韭菜 wrote:

用Python的交易员 wrote:

小韭菜 wrote:

安装后CTP登陆不了,提示“交易授权验证失败,代码:63,信息:CTP客户端认证失败”,用的是simnow 的账户。

product_info和authcode留空,不要填任何东西
是留空的,就是一直都登陆不上去,不知道啥原因

到你的Windows用户目录下,找到.vntrader目录,里面会有个ctp_connect.json,请将其中的内容贴一下

删除重新安装了一遍,终于ok了,多谢!

Member
avatar
加入于:
帖子: 1
声望: 0

大牛们,用vn.py连接富途,为什么最后会提供没解锁交易,这个咋整
是说电脑版富途要解锁交易吗,我已经这样了还是不行

Administrator
avatar
加入于:
帖子: 1919
声望: 87

booo wrote:

大牛们,用vn.py连接富途,为什么最后会提供没解锁交易,这个咋整
是说电脑版富途要解锁交易吗,我已经这样了还是不行

相关问题请去“提问求助区”发帖,另外请附上错误截图

Member
avatar
加入于:
帖子: 6
声望: 0

小韭菜 wrote:

用Python的交易员 wrote:

小韭菜 wrote:

用Python的交易员 wrote:

小韭菜 wrote:

安装后CTP登陆不了,提示“交易授权验证失败,代码:63,信息:CTP客户端认证失败”,用的是simnow 的账户。

product_info和authcode留空,不要填任何东西
是留空的,就是一直都登陆不上去,不知道啥原因

到你的Windows用户目录下,找到.vntrader目录,里面会有个ctp_connect.json,请将其中的内容贴一下

删除重新安装了一遍,终于ok了,多谢!
我也是这个问题啊,怎么弄好的,一直显示 交易授权验证失败,代码:63,信息:CTP:客户端认证失败
或者 交易登录失败,代码:3,信息:CTP:不合法的登录
求问怎么解决呢

© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3