第 1 章 · 01 VeighNa 是什么与项目全貌 本节摘要:本节回答最基本的问题——VeighNa 到底是什么。它不是某个策略,不是某个回测库,而是一套基于 Python 的开源量化交易系统开发框架,由陈晓优发起、MIT 协议、自 2015 年至今活跃维护,在国内量化圈积累了大量金融机构用户(私募、券商、期货公司)。它的定位是"By Traders, For Traders, AI-Powered"——既是一套可直接实盘的多功能交易平台,也是一套值得研读的 Python 工程范例。本节先建立这个全局认知,后续章节再逐层拆解。 内容来源:原项目源码 、 ,精读并套用体系化模板。 学习目标 阅读完本节,你应当能够: 用一句话说清 VeighNa 是什么、它在国内量化圈的地位。
本节摘要:本节回答最基本的问题——VeighNa 到底是什么。它不是某个策略,不是某个回测库,而是一套基于 Python 的开源量化交易系统开发框架,由陈晓优发起、MIT 协议、自 2015 年至今活跃维护,在国内量化圈积累了大量金融机构用户(私募、券商、期货公司)。它的定位是"By Traders, For Traders, AI-Powered"——既是一套可直接实盘的多功能交易平台,也是一套值得研读的 Python 工程范例。本节先建立这个全局认知,后续章节再逐层拆解。
内容来源:原项目源码
README.md、vnpy/__init__.py,精读并套用体系化模板。
阅读完本节,你应当能够:
打开 README.md 的第一行:
1 # VeighNa - By Traders, For Traders, AI-Powered.
三个标签点明了它的定位:
vnpy.alpha 模块,提供"一站式多因子机器学习策略开发、投研和实盘交易解决方案"。这是 VeighNa 从传统规则量化迈向 AI 量化的里程碑。README 的核心自我介绍(README.md:17):
VeighNa 是一套基于 Python 的开源量化交易系统开发框架,在开源社区持续不断的贡献下一步步成长为多功能量化交易平台,自发布以来已经积累了众多来自金融机构或相关领域的用户,包括私募基金、证券公司、期货公司等。
注意几个关键词:
VeighNa 通过"网关(gateway)"机制对接各种市场。README.md:80 起列出了它覆盖的品种,这里按类别梳理:
| 品种类别 | 代表市场 | 说明 |
|---|---|---|
| 国内期货 | CTP(中金所/上期所/大商所/郑商所/广期所/能源中心) | VeighNa 起家的本行,CTP 是核心网关 |
| 国内股票 | XTP(中泰)/Tora(鑫管家)/股票期权 SOPT | 通过券商柜台接口 |
| 海外期货 | IB(盈透) | 全球期货市场 |
| 海外股票 | IB / 富途 / 老虎 | 美股港股 |
| 数字货币 | 币安/OKX/Bybit/Bitfinex 等 | 现货 + 永续合约 |
| 外汇 | 盈透 IDEALPRO | 机构外汇 ECN |
国内量化框架里,同时覆盖国内外 + 跨品种类(股期期权外汇币)的开源框架,VeighNa 是最全面的之一。这正是它能积累大量机构用户的原因——一套框架,接所有市场。
VeighNa 对不同读者有不同价值,这本教程会兼顾两方面:
对量化交易员,VeighNa 是一套能直接实盘的工具:
vnpy_ctp + vnpy_ctastrategy,就能在期货账户上跑 CTA 策略;vnpy_ib,就能交易美股期权;vnpy_spreadtrading,就能做价差套利;vnpy.alpha(内置),就能用机器学习选股。对 Python 开发者,VeighNa 是一套值得逐行研读的工程范例:
event/engine.py);dataclass + __post_init__ 自动维护复合主键(object.py);import_module 动态加载插件,实现"核心零硬依赖"(database.py/datafeed.py);Queue + Thread + 定时器搭起跨线程通信;alpha/)。💡 核心心法:本教程的取向是第二个价值——工程范例。我们不教你怎么点 VeighNa Studio 的菜单(那是官方 docs 的职责),而是带你逐文件读懂这副骨架,理解一个能撑起跨市场量化交易系统的 Python 架构长什么样。
README.md:28-71 用了整整一节介绍 4.0 的旗舰功能 vnpy.alpha。这是本教程第 9~11 章的重点,这里先建立宏观印象。
vnpy.alpha 提供一站式多因子机器学习量化方案,分四块:
dataset(因子特征工程) │ Alpha158(源于微软 Qlib 的 158 因子) │ + 表达式引擎(自定义因子) ▼ model(预测模型训练) │ Lasso / LightGBM / MLP(神经网络) ▼ strategy(策略投研开发) │ AlphaStrategy(基于 ML 信号构建策略) ▼ lab(投研流程管理) 数据管理→模型训练→信号生成→策略回测
⚠️ 架构边界:
vnpy.alpha是内置在核心包里的(不是外部插件),约 3700 行代码,位于vnpy/alpha/。这与网关/应用不同——网关应用要 pip install 外部包,alpha 直接 import 即可。原因是 alpha 不依赖任何具体交易所,纯计算逻辑。
从 vnpy/__init__.py 末尾(__init__.py:24):
24 __version__ = "4.4.0"
__init__.py:1 起的版权声明:Copyright (c) 2015-present, Xiaoyou Chen)——非常宽松,商用无碍README.md:12 的 badge)下一节,我们直面一个会让初学者困惑的关键问题——为什么你 clone 的 vnpy 仓库里看不到 CTP 代码? 这就引出 VeighNa 最核心的架构决策:核心 + 插件拆分。