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

回顾2018年

还有三个小时不到2018年就要结束了,又到了总结的时间。除了年初定下的计划全部完成(绿色打勾标志),还额外完成了许多计划外的任务(红色爱心标志),比去年要好得多。

vn.py项目2018年完成的任务:

计划内的任务

Docker部分,主要完成了WebTrader前端和VNC虚拟桌面(社区贡献)两个方案。年初的时候寄望颇高,希望能成为降低入门用户门槛的主要方案,后来发现Docker的用处还是主要局限在开发完成后的实盘部署上,对于开发过程中各种环境配置的帮助意义不大。

跳票一年多的海龟策略,总算是交出了一份满意的答卷,针对海龟策略中诸多难点的定制化回测框架,结合RQData提供的高质量期货历史数据,即使是35年前就定下的参数组合,结果一样让人惊喜:![

上期所活跃品种,完全样本外测试(海龟默认参数):

稍作调整后,用在比特币期货上,就仿佛变成了印钞机:

现货仅包括了Alpha超额部分,现货的底仓风险需要另行计算

知乎LIVE上,主要是年初完成的《个人投资新方向:开始你的量化交易》的专辑课程,以及海龟策略发布后的《带你重新认识海龟交易策略》。线下活动前前后后举办了6场,有公开面向社区的,也有专门面向某些机构群体的。

计划外的工作

计划外最大的一块是VN Crypto(vn.crypto)项目,主要针对数字货币(CryptoCurrency)市场,开发了一系列针对性的接口和应用,包括:

  • 超过10家主流交易所的对接
  • 针对数字货币市场的CryptoTrader
  • 针对REST API的通用客户端RestClient
  • 针对Websocket API的通用客户端WebsocketClient
  • 数字货币市场的数据服务方案:CoinAPI.io和CryptoCompare数据服务

上层应用模块则是增加了社区需求比较广泛的两个模块:

  • AlgoTrading,算法交易模块,针对各类交易执行方面的需求(大委托拆单、控制成本、自成交刷量、托市护盘等)提供了一系列的标准算法工具
  • TradeCopy,交易复制模块,解决一些规模较小尚未能够发行私募产品的用户,同时管理多个交易账户的问题

历史数据方面走了一些弯路,在做了诸多努力后(开发DataRecording模块、对接各家数据服务、解答社区问题),终于意识到“高性价比”+“标准化”的对接才是唯一的解决方案,在若干个月的寻找后终于和米筐达成了战略合作,从此RQData成为了vn.py项目的标准期货数据提供方。

最后在社区活动上,很荣幸受到厦门大学的邀请开设了一门基于vn.py的量化交易暑期课程。也第二次以嘉宾的身份参加PyCon 2018的北京和上海场次,分享了数字货币量化交易方面的主题内容。最后也非常感谢万得数据WindQuant的邀请,在WQFA课程体系中负责讲解期权相关的量化交易课程

量化开源排名

一图(表)胜千言吧(2018年12月31日夜里11点统计,哈~),简单总结几条:

  • Python为王(13/20,还有谁不服?)
  • 数字货币寒冬(ccxt、Gekko等项目增长明显放缓)
  • Quant行业还在蓬勃发展(你追我赶,排名变化迅速、明显)

2019的规划

2019年的重头戏将是Python 3上的v2.0版本开发,在完成v1.9.2的LTS版本后,vn.py的交易业务功能开发其实已经告一段落,但同时也遇到了自身结构上的瓶颈,唯一的突破机会就是再一次的项目重构升级,对代码、功能的提炼和改进

快速迭代

v2.0后续的开发,将转为采用快速迭代的方法,从之前的大版本号更新(平均几个月发布一次,包含若干个功能更新),转向快速连续的小版本号更新(每个新功能一个发布、每若干个重要的BUG修复一个发布),一个简单的类比方法就是Chrome v.s IE。

最新的Python 3.7

v2.0将基于Python 3.7重新开发(参考之前的代码),利用最新版本Python语言特性的同时,尽可能保证对3.6的兼容(更早的版本就不考虑了):

  • 使用DataClass来更加精简的描述数据结构
  • 通过TypeHint引入开发时类型分析的功能,减少代码Bug
  • 基于全新的有序Dict(代替OrderedDict)、默认迭代器遍历等特性,降低内存开销
  • 默认Unicode的字符串类型
  • 基于enum来定义常量类型
  • 内置的异步模块来开发Web相关的通讯接口(RestClient、WebTrader等)
  • 等等

英文内容

17年就推出了基本的VN Trader英文版本,但后续并没有进一步的推进,在接下来的2019年将会在英文方面投入更多的精力:

  • 代码注释将全部采用英文
  • 官方网站vnpy.com的英文版本
  • 和QQ上的官方交流群类似的Telegram英文社群
  • 英文的项目相关文章

在这里,也向社区内对于英文内容感兴趣的成员们发出邀请,欢迎加入vn.py相关的英文维护工作。

最后:

2019, Enjoy Trading!!!

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

支持!

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

强力支持!

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

支持!!

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

支持!!

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

1、期望2.0版本能够对各个模块各自的仓位进行各自管理,即cta的仓位只有cta开了的才更新cta模块中的持仓,其他模块或者手工开仓的不应该更新cta的持仓;价差开仓了的只更新价差开仓模块的持仓,cta开仓或者手工开仓的对价差模块持仓无影响;期权模块......;
2、期望其他窗口也都能做成主窗口的可拖拉的方式;
3、期望2.0版本能够做报表统计的功能,例如期权模块、价差模块,找个复杂的模块做个范例。

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

支持~

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

支持!

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

期望能够有测试的操作界面(选择策略、开始、结束时间,参数设置),然后进行测试,测试结果可以输出统计分析结果、详细开平仓、图形结果。

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

支持,期待

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

打个卡

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

打个卡

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

支持,期待

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

强力支持!

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

老大,看到一个网站,vnpy . io; 看界面就是您这个。。。直接卖给币圈交易的

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

牛掰!赞!期待2.0~

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

支持啊,2.0版本如何安装?

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

ok

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

请问版主:WebTrader 会在集成在2.x版本中吗,大约什么集成

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

感谢 版主的开源,我现在用2.0的版本,ctp连接。连接很稳定。我直接在vnpy的封装了一层。感谢版主付出。

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