前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2018年vn.py项目计划(下)

2018年vn.py项目计划(下)

作者头像
用Python的交易员
发布2018-03-29 15:31:48
1.4K0
发布2018-03-29 15:31:48
举报
文章被收录于专栏:维恩的派VNPIE

2017年完成了大部分计划中的上层应用模块开发,剩余部分将在今年上半年加速推进,争取早日发布v2.0稳定版,为量化交易员提供一套完整成熟的交易系统解决方案。

Docker镜像

Docker技术日渐完善,多位vn.py社区用户也已经贡献了较为成熟的镜像代码(位于vnpy/docker目录下),实现的功能包括:

  • 在Docker中运行基于vnpy.rpc的服务器,并在外部通过GUI客户端来实现监控操作(类似examples/ServerClient的架构)
  • 在Docker中启动Ubuntu图形界面并直接运行VnTrader,通过noVNC的虚拟桌面服务实现浏览器访问(体验上如同直接操作Ubuntu桌面)

以上两者都有各自的应用场景,但整体略重。在v1.8正式发布WebTrader后,用户有了一个更为轻量级方案的选择:在Docker中启动WebTrader的交易服务器和WEB服务器后,直接通过浏览器来操控WebTrader的网页前端,无需再安装外部Python的同时也可以保证较低的网络带宽需求(noVNC数据量较大)。该镜像将在v1.8.1中完成。

海龟策略

海龟策略在量化交易领域(尤其是CTA类策略中)可以说是最为经典和生命周期最长的策略之一,时间框架上属于日线级别。其出入场判断逻辑较为简单清晰,TB和MC类的图表型量化平台都能很好的实现。但对于海龟中更为重要的多品种持仓组合动态调整,这类平台就无能为力了。

在v1.9将会对海龟策略做一个比较完整的实现(包括回测和实盘):

  1. 商品期货连续可交易指数数据
  2. 连续指数和主力合约转换比例
  3. 基于指数日线的出入场信号生成
  4. 基于风险模型的持仓组合调整
  5. 根据信号执行开平仓的算法交易系统

补完接口

交易接口的丰富度可以算是vn.py项目最大的特点之一,得益于Python的胶水特性和自动封装脚本,国内比较常用的接口已经达到了90%的覆盖度。剩余的一些接口计划在v2.0之前的版本中陆续开发:

  • 易盛9.0:外盘部分在计划中,内盘部分不确定
  • SP SYSTEM:中国香港期货公司中占有率最高,计划中
  • OANDA v20:跳票许久,但绝对是计划中
  • SaxoOpenAPI:盛宝银行接口,需要调查用户面后决定
  • 恒生UFX:恒生技术授权不允许放在Github上,暂时不考虑
  • 飞创X1:大商所对于X1的部署有特殊要求,用户面太窄,暂时不考虑

文档网站

年内将再组织一次社区文档编写,完善之前缺失的部分,以及v1.7后新增的应用模块部分。对于QuickStart和FAQ之类新手比较常用的文档资料,将会放到公众号“维恩的派VNPIE”(vn-pie)中,方便随时随地查询。

同时也在寻找比Github Wiki更方便的文档展示渠道,由于GFW的存在经常有用户抱怨打不开,可能考虑将www.vnpy.org的官网转移到国内重建(目前使用的Github Pages静态页面)。

开源合作

项目一直以来的成长离不开整个开源社区的营养和支持:从最早受海风的启发选择开源软件的模式,到借鉴pyctp和QuantBox的设计思路来封装API,再到后来参考AlgoTrader和TradeLink(尽管这俩现在都闭源了...)的软件架构来开发交易应用,可以说vn.py今天能有一点成就只不过是因为有机会站在巨人的肩膀上。

2017年中发生了一起“碰瓷事件”(具体名字不想再提),现在回头看当时的处理方式非常幼稚:在对方已经有故意蹭热度迹象的情况下,还以为遇到了性格古怪的“大牛”,和社区成员一起写了多篇分析文章试图探讨其中的技术价值,结果自然只是浪费了大家的时间和关注,还一度带歪了整个社区的工作方向。

以为这只是偶然的一次性事件,都忘得差不多了。没想到上周又听说了类似的苗头,“树大招风”也许就是这个意思?所以希望在这里表明vn.py项目官方的态度:

传统行业“同行是冤家”的老旧观念,在开源软件的世界中并不适用。面对快速变革的世界,没有哪款软件敢说自己能够解决所有的问题。针对vn.py中不足之处的客观批评和改进建议,我们十分欢迎也乐于吸取(有人帮忙测试和改进一向是求之不得的事);但是对于一些纯粹“通过贬低他人来抬高自己”的低级行为,我们将会通过宣传渠道公布情况后永久拉黑对方,不再做任何回应。

vn.py项目的核心目标集中于解决交易员在“交易”中的各种痛点,因此天然和开源社区中的其他针对“数据”(如TuShare)和“策略”(如RQAlpha)的项目存在极强的互补需求;对于同样针对“交易”的项目(如Kungfu),在细节定位方面也有着许多区别,相互借鉴取长补短的价值远远大于浪费时间互相攻击。

Python3迁移

最后这个可以算是用户最关心的问题之一了。2014年启动vn.py项目时因为3在部分核心运算方面的功能依旧显著弱于2,所以选择了基于2来开发。四年过去,3已经变得相当成熟,且社区对于2的支持将在2020年永久到期,所以vn.py向3的迁移工作也已经开始准备。

目前新增代码中已经尽可能实现对3的兼容,同时在v2.0稳定版发布后会正式启动对3的全面升级工作,预计最迟在2019年上半年完成。再次感谢社区用户BigTan的贡献,2016年时就提交了Python3的CTP接口封装,稳定性也经受住了用户检验。后续的升级工作将包括:

  1. 解决接口封装中,原始字符串到Python3中unicode的高效转换
  2. 重新封装所有涉及C++ API的接口,并更新接口到最新版本
  3. 实现EventEngine和MainEngine的Python3版本
  4. 升级上层应用模块,并将图形界面更新到PyQt5版本

完成以上的内容,也就可以发布v3.0了(正好对应Python3)。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 维恩的派VNPIE 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档