⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 极客之家 「丛林」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

简介

vn.py 是一款基于Python的开源量化交易框架,由国内量化交易社区主导开发,专注于为金融投资者提供高效、灵活的策略开发与交易执行工具。

自2016年开源以来,其GitHub Star数已突破27.8k,长期位居量化交易类开源项目前列。vn.py的核心目标是通过模块化设计降低量化交易门槛,覆盖从数据获取、策略回测到实盘交易的全流程,尤其适合期货、期权等多品种交易场景。

核心功能

多市场支持

vn.py支持中国境内149家期货公司的CTP接口,覆盖上期所、郑商所等5大期货交易所,同时兼容股票、期权市场。其模块化接口设计允许开发者快速接入新的交易通道。

策略开发工具箱

提供丰富的策略模板(如CTA、套利、高频策略),内置事件驱动引擎,支持多进程并发执行。用户可通过PyCharm等IDE直接调试策略代码,并利用PyQt5实现图形化界面交互。

高性能回测系统

集成基于历史数据的仿真回测功能,支持Tick级精度回测,并可通过专利技术优化回测效率(专利申请号:2018101059354)。回测结果可通过PyQtGraph生成可视化图表,直观展示收益曲线与风险指标。

跨平台与扩展性

支持Windows、Linux(如Ubuntu)及macOS系统,并可通过Docker部署至云服务器(如阿里云)。C++与Python混合编程架构(核心接口用C++编写,策略层用Python)兼顾性能与易用性。

安装配置

环境搭建

步骤一:安装Miniconda并配置清华镜像源加速依赖下载:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

步骤二:创建Python 3.7虚拟环境并激活:

conda create -n vnpy python=3.7
conda activate vnpy

步骤三:克隆源码并安装依赖:

git clone https://github.com/vnpy/vnpy
cd vnpy && pip install -r requirements.txt

常见问题

TA-Lib安装失败: macOS用户需通过brew install ta-lib预装,Linux需从源码编译。

图形界面依赖缺失: Linux服务器需安装xrdp和桌面环境(如Xubuntu)以支持远程GUI。

效果预览

  • 交易合约信息查询

  • CTA策略回测研究

  • 回测买卖点分析

  • 策略实时盈亏分析

  • 多功能实时脚本

总结

vn.py凭借其开源特性与模块化设计,已成为国内量化交易领域的标杆工具。尽管在环境配置(如TA-Lib编译)和跨平台兼容性上存在一定门槛,但其活跃的社区与完善的文档能有效降低学习曲线。对于追求灵活性与自主可控的开发者,vn.py是比商业平台更具潜力的选择。

开源地址:

https://github.com/vnpy/vnpy

文章目录
  1. 1. 简介
  2. 2. 核心功能
    1. 2.0.1. 多市场支持
    2. 2.0.2. 策略开发工具箱
    3. 2.0.3. 高性能回测系统
    4. 2.0.4. 跨平台与扩展性
  • 3. 安装配置
    1. 3.0.1. 环境搭建
    2. 3.0.2. 常见问题
  • 4. 效果预览
  • 5. 总结