基于 Python 的开源量化交易平台开发框架 VN.PY

项目简介

vn.py 项目起源于国内私募的自主交易系统,2015 年初启动时只是单纯的交易 API 接口的 Python 封装。随着业内关注度的上升和社区不断的贡献,目前已经一步步成长为一套全面的交易程序开发框架,用户群体也日渐多样化,包括私募基金、证券自营和资管、期货资管和子公司、高校研究机构、个人投资者等。

项目构成:

  • 丰富的 Python 交易和数据 API 接口,基本覆盖了国内外常规交易品种(证券、期货、期权、外汇、CFD):

    • CTP(vn.ctp):期货、期货期权

    • 飞创(vn.xspeed):期货、期货期权

    • 飞马(vn.femas):中金所的期货和期货期权

    • 金仕达期权(vn.ksotp):期货、期货期权、证券期权

    • 金仕达黄金(vn.ksgold):金交所贵金属

    • 飞鼠(vn.sgit):期货、金交所贵金属

    • QDP 极速柜台(vn.qdp):期货、期货期权、金交所贵金属

    • OANDA(vn.oanda):外汇、CFD

    • Interactive Brokers(vn.ib):外盘股票、期货、期权、外汇等

    • 直达期货(vn.shzd):外盘期货

    • OKCoin(vn.okcoin):比特币、莱特币等

    • 通联数据(vn.datayes):历史行情数据、基本面数据

  • 事件驱动引擎(vn.event),用于实现 Python 在全局锁(GIL)限制下的高性能事件驱动编程

  • 开发示例(vn.demo),通过简洁明了的代码展示如何使用 API 和事件驱动引擎开发交易程序

  • 交易平台(vn.trader),整合了 vn.py 项目中所有的交易接口以及 Interactive Brokers 的三方接口(IbPy),围绕事件驱动引擎设计了针对策略算法和交易应用开发的上层 API,使得交易员可以专注于解决交易业务需求而无需关注底层细节,平台中提供了一套完整的 CTA 策略模块(回测和实盘)作为开发参考

  • RPC 模块(vn.rpc),提供跨进程服务调用的 RPC 模块,同时支持服务端向客户端的主动数据推送,用于实现 vn.py 框架下模块的多进程解耦

  • 官方网站知乎专栏,长期更新 vn.py 相关的开发教程资料

  • 官方交流 QQ 群,提供给社区用户一个便捷舒适的交流环境(严禁闲聊无关内容,由于管理严格吸引了大量的机构交易员)


想提供帮助?

vn.py 项目处于快速发展期,非常需要社区提供帮助,具体包括:

  • 测试:对 vn.py 项目中代码的测试和 BUG 反馈

  • 文档:包括代码注释、开发教程、学习经验等

  • 新功能:提供新的交易和行情接口接入,上层应用开发等

  • 网站:对 www.vnpy.org 的官方网站(基于 pelican)的外观设计和功能添加

建议通过在 Github 上开 issue 的方式来贡献以上内容