发布于vn.py社区公众号【vnpy-community】
 
原文作者:用Python的交易员 | 发布时间:2022-01-18
 
之前12月底发布的2.9.0,为vn.py自从2019年以来开发迭代了三年的2.0大版本画上了一个句号。2022年已经开始了半个多月,虽然迟了点,不过老规矩还是要对2021年来做个总结回顾。

 

回顾2021年

 

先来看一眼2021年的vn.py项目整体数据(虽然统计日期是2022年1月17日):

  • 用户数量

    • Github Star:17.3k(+3.8k)
    • Github Fork:7k(+1.2k)
    • Gitee Star:1k
    • Gitee Fork:419
  • 项目开发

    • 版本迭代:9次(2.1.9 -> 2.9.0)
    • 交易接口:21个(移除23个)
    • 策略应用:16个(不变)
    • 数据库适配器:8个
    • 数据服务:7个
  • 社区交流

    • 论坛用户数量:31033 (+12889)
    • 论坛帖子数量:28485 (+10911)
    • 社区活动:8次
    • 专题小班课:3次

 

用户数量

截止2022年1月17日,vn.py在Github上一共收获了17369个Star,Fork数量达到7k,继续保持线性增长。下图来源于统计工具Star History

description

除了Github外,我们在国内代码托管平台Gitee上维护的vn.py仓库也保持同步更新,累计已经收获1018个Star和419个Fork。

 

项目开发

2021年vn.py的主要开发工作就是【模块剥离计划】,截止12月底发布的2.9.0版本已经基本收尾。除了通用功能依旧保留在核心框架项目下,所有的交易接口(gateway)、应用模块(app)、数据库适配器(database)、数据服务接口(datafeed)都已经剥离到了独立的功能模块项目中。具体剥离后的模块信息,可以参考之前发布的《vn.py发布v2.9.0 - 模块剥离计划收尾》。

除了模块剥离方面的工作外,2021年也更加聚焦于国内机构用户的需求,精简移除了部分用户量较少的交易接口,新增了以下证券和期货方面的接口:

  • EsunnyGateway:易盛柜台兼容交易接口(内盘期货、黄金TD);
  • OstGateway:东方证券OST极速柜台交易接口(股票);
  • HtsGateway:顶点HTS柜台交易接口(ETF期权);
  • TtsGateway:TTS仿真系统交易接口(仿真模拟)。

数据库方面,增加了一系列读写性能优秀的NoSQL数据库支持,包括:

  • DolphinDB:国产高性能分布式时序数据库;
  • Arctic:基于MongoDB扩展开发的金融时序数据库;
  • LevelDB:Google推出的高性能Key/Value数据库。

对于历史数据服务则是开发了独立的抽象接口(vnpy.trader.datafeed),并扩展了支持的数据服务范围:

  • 云端类:

    • 恒有数UData
    • TuShare
    • 天勤TQSDK
  • 客户端类:

    • 万得Wind
    • 同花顺iFinD
    • 天软TinySoft

策略应用方面,根据社区反馈的需求重构开发了新的WebTrader模块,采用FastAPI作为后端Web服务器:

description

整体架构图

description

服务参数配置

description

前端接口文档

 

社区交流

虽然2021年疫情明显好转,但反复出现的零星案例还是多次打乱了我们的线下活动计划。全年一共举办了8场社区活动(包括线上和线下),大概是近几年来比较少的了,专题小班课也因为同样的原因一共只搞了3场。

2021年回顾完,下一篇就是对2022年的计划了。今年我们将会启动全新3.0大版本的开发工作,如果你对vn.py过去一年有什么想分享的吐槽的,或者对新的一年有什么建议和期望,都在文章下面欢迎留言告诉我们!