社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

量化投资与机器学习 • 7 年前 • 1638 次点击  

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

本文由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