十年磨一剑!Python量化交易框架VeighNa 4.0重磅发布,AI+量化从此如此简单
从2015年到2026年,一个中国开源项目的成长故事
你是否曾经想过,用Python写一套属于自己的量化交易系统?
不是那种只能回测的玩具脚本,而是真正能对接CTP、IB等主流交易接口,覆盖期货、股票、期权全品种,支持事件驱动架构和高性能撮合的专业级平台。
听起来遥不可及?但有一个项目,已经默默做了十年,并且正在用AI重新定义量化交易的边界。
今天就来聊聊这个项目——VeighNa(原名vn.py)。
VeighNa是一套基于Python的开源量化交易系统开发框架,自2015年3月发布以来,已经从一个简单的CTA策略框架,成长为覆盖交易接口、策略引擎、数据管理、风控模块等完整生态的多功能量化交易平台。
用一句话概括:它是国内量化交易领域最成熟的Python开源方案之一。
- ⭐ 42,800+ Stars — GitHub上同类项目中的绝对头部
- 🏢 用户遍布金融机构 — 私募基金、证券公司、期货公司都在用
- 🔌 20+交易接口 — CTP、IB、飞马、易盛等国内外主流接口全覆盖
- 📦 15+策略模块 — CTA、价差、期权、组合策略、算法交易应有尽有
- 🤖 AI量化新能力 — 4.0版本重磅推出机器学习策略开发模块
最新稳定版 4.4.0 于2026年5月发布,支持Python 3.10至3.13,覆盖Windows、Linux、macOS三大平台。
VeighNa最让人印象深刻的,是它的模块化设计。整个框架可以拆解为几个核心层次:
交易接口层(Gateway) — 这是 VeighNa 的"手脚"。它封装了国内几乎所有主流交易API:
- CTP(期货/期权)、CTP Mini、CTP证券(ETF期权)
- Interactive Brokers(海外证券/期货/期权)
这意味着你不需要为每个券商单独写对接代码,VeighNa 统一封装好了。
策略引擎层(App) — 这是 VeighNa 的"大脑"。内置多种策略模块:
- 算法交易:TWAP、Sniper、Iceberg等智能下单算法
基础设施层 — 这是 VeighNa 的"神经系统":
- 事件驱动引擎:整个框架的核心,所有模块通过事件消息通信
- 异步REST/WebSocket客户端:基于协程的高性能网络库
- 多数据库适配:SQLite、MySQL、PostgreSQL、QuestDB、TDengine、MongoDB等
2026年,VeighNa十周年之际发布了4.0版本,最重磅的新增功能就是 vnpy.alpha 模块——面向AI量化策略的一站式解决方案。
这个模块的设计灵感来自微软的Qlib项目,但更加贴合国内交易场景:
- 特征工程(dataset):内置Alpha 158因子集(源自微软Qlib),覆盖K线形态、价格趋势、时序波动等多维度量化因子,支持自定义表达式一键生成训练数据
- 模型训练(model):集成Lasso回归、LightGBM梯度提升树、MLP多层感知机神经网络,统一API接口设计,方便切换对比不同算法
- 策略开发(strategy):基于ML信号预测快速构建交易策略,支持截面多标的和时序单标的两种模式
- 投研管理(lab):从数据管理→模型训练→信号生成→策略回测的完整流程
简单说,你可以用VeighNa完成从因子挖掘到实盘交易的整个AI量化闭环。
VeighNa拥有自己的社区论坛(vnpy.com/forum)、知乎专栏、QQ交流群,以及详细的官方文档(docs.vnpy.com)。
在GitHub上,核心贡献者超过1400人,累计提交数万次代码。虽然核心维护团队规模不大,但社区生态非常活跃——20+个独立子项目由不同贡献者维护和升级。
安装非常简单,VeighNa 提供了跨平台的安装脚本:
# Windowsinstall.bat# Linuxbash install.sh# macOSbash install_osx.sh
核心依赖是Python 3.10+,推荐使用虚拟环境管理依赖。
from vnpy.event import EventEnginefrom vnpy.trader.engine import MainEnginefrom vnpy.trader.ui import MainWindow, create_qappfrom vnpy_ctp import CtpGatewayfrom vnpy_ctastrategy import CtaStrategyAppfrom vnpy_ctabacktester import CtaBacktesterAppdef main(): """启动VeighNa Trader""" qapp = create_qapp() event_engine = EventEngine() main_engine = MainEngine(event_engine) # 添加CTP交易接口 main_engine.add_gateway(CtpGateway) # 添加CTA策略模块 main_engine.add_app(CtaStrategyApp) # 添加回测模块 main_engine.add_app(CtaBacktesterApp) main_window = MainWindow(main_engine, event_engine) main_window.showMaximized() qapp.exec()if __name__ == "__main__": main()
这段代码启动了一个包含CTP接口、CTA策略引擎和回测模块的完整交易终端。配合图形界面,你可以可视化地管理策略、查看行情、监控持仓。
┌─────────────────────────────────────────┐│ 策略应用层 (App) ││ CTA / 价差 / 期权 / 组合 / 算法交易 ... │├─────────────────────────────────────────┤│ 交易接口层 (Gateway) ││ CTP / IB / 飞马 / 易盛 / XTP / ... │├─────────────────────────────────────────┤│ 基础设施层 (Core Framework) ││ 事件引擎 ←→ 异步网络库 ←→ 数据库适配 │└─────────────────────────────────────────┘
事件驱动引擎是VeighNa的灵魂。整个框架围绕"事件"展开:行情推送产生行情事件,策略根据行情事件生成信号事件,信号事件触发委托事件,委托事件通过网关发送到交易所。所有模块松耦合,通过事件总线通信。
异步网络库(vnpy_rest / vnpy_websocket) 是4.0版本的重大升级。基于Python协程的异步IO模型,使得框架能够同时处理大量并发交易请求,性能远超传统的多线程方案。
- 国内量化领域最成熟的开源方案——十年积累,功能完整度无人能及
- 交易接口覆盖最广——从CTP到IB,从期货到股票,几乎没有遗漏
- 社区活跃、文档完善——新手上手有完整的教程和论坛支持
- AI量化先行者——4.0版本将机器学习引入量化策略开发,走在行业前沿
- 学习曲线不低——虽然是Python编写,但事件驱动架构和框架概念需要时间理解
- GUI依赖Qt——桌面端需要PySide6/PyQt5,在部分服务器环境下配置可能麻烦
- 核心C++接口封装——CTP等底层接口的C++封装升级后需要对应模块同步升级
- 实盘需谨慎——开源框架的稳定性虽然经过了大量用户验证,但用于真金白银的交易前务必充分测试
VeighNa的故事,是一个中国开发者社区从零开始构建金融级基础设施的缩影。
从2015年一个小小的CTA策略框架,到如今覆盖全品种、全市场、AI赋能的量化交易生态平台,它走了整整十年。
4.0版本引入的AI量化能力,让VeighNa不再只是一个"交易框架",而是一个真正的量化投研+实盘交易一体化平台。对于想要用Python做量化交易的开发者来说,它依然是目前国内最值得关注的开源项目之一。
如果你正在寻找一个靠谱的量化交易起点,VeighNa 4.0值得你花一个下午来体验一下。
💬 互动环节:你用Python做过量化交易吗?有没有踩过什么坑?欢迎在评论区聊聊!
- GitHub:https://github.com/vnpy/vnpy
- 官网文档:https://www.vnpy.com/docs/cn/index.html
- 社区论坛:https://www.vnpy.com/forum/
- 最新版本:https://github.com/vnpy/vnpy/releases