Py学习  »  Python

【重磅】VNPY 2.0正式发布,拥抱Python3!

量化投资与机器学习 • 5 年前 • 1208 次点击  

标星★公众号,第一时间获取最新研究

本文由VN.PY作者独家授权


近期原创文章:

♥ 基于无监督学习的期权定价异常检测(代码+数据)

♥ 5种机器学习算法在预测股价的应用(代码+数据)

♥ 深入研读:利用Twitter情绪去预测股市

♥ Two Sigma用新闻来预测股价走势,带你吊打Kaggle

 利用深度学习最新前沿预测股价走势

♥ 一位数据科学PhD眼中的算法交易

♥ 基于RNN和LSTM的股市预测方法

♥ 人工智能『AI』应用算法交易,7个必踩的坑!

♥ 神经网络在算法交易上的应用系列(一)

♥ 预测股市 | 如何避免p-Hacking,为什么你要看涨?

♥ 如何鉴别那些用深度学习预测股价的花哨模型?

♥ 优化强化学习Q-learning算法进行股市


前言


延迟了1个月的样子(从1月底到2月底),终于在2019年2月27日正式发布了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几乎一样,过程中有两个勾选框推荐全部勾上!!!


http://link.zhihu.com/?target=https%3A//conda.vnpy.com/VNConda-2.0-Windows-x86_64.exe


手动安装


如果实在手闲不住想要折腾的用户(我们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,登录后会进入到下图的主界面:


https://www.vnpy.com/forum/




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


推荐阅读


01、经过多年交易之后你应该学到的东西(深度分享)

02、监督学习标签在股市中的应用(代码+书籍)

03、全球投行顶尖机器学习团队全面分析

04、使用Tensorflow预测股票市场变动

05、使用LSTM预测股票市场基于Tensorflow

06、美丽的回测——教你定量计算过拟合概率

07、利用动态深度学习预测金融时间序列基于Python

08、Facebook开源神器Prophet预测时间序列基于Python

09、Facebook开源神器Prophet预测股市行情基于Python

10、2018第三季度最受欢迎的券商金工研报前50(附下载)

11、实战交易策略的精髓(公众号深度呈现)

12、Markowitz有效边界和投资组合优化基于Python

13、使用LSTM模型预测股价基于Keras

14、量化金融导论1:资产收益的程式化介绍基于Python

15、预测股市崩盘基于统计机器学习与神经网络(Python+文档)

16、实现最优投资组合有效前沿基于Python(附代码)

17、精心为大家整理了一些超级棒的机器学习资料(附链接)

18、海量Wind数据,与全网用户零距离邂逅!

19、机器学习、深度学习、量化金融、Python等最新书籍汇总下载

20、各大卖方2019年A股策略报告,都是有故事的人!



扫码关注我们

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/29332
 
1208 次点击