VeighNa / vn.py
面向多市场交易的事件驱动框架,当前核心也包含 Alpha 因子与机器学习投研模块。
为什么值得学
适合中国市场学习者理解交易网关、订单管理和研究模块如何分层。
数据与控制流程
- 1网关接收行情
- 2事件引擎分发
- 3应用或策略处理
- 4主引擎发送委托
- 5回报更新 OMS
此流程为教学归纳,便于建立整体认识;完整条件分支与运行细节请对照下方源码。
架构拆解 · 4 个核心模块
每个入口均已核对,点击可阅读源码事件引擎
EventEngine 通过队列分发事件,将产生行情的代码和处理行情的代码解耦。
- 输入
- 行情 / 订单 / 定时事件
- 输出
- 注册处理器的回调
vnpy/event/engine.py主引擎与 OMS
MainEngine 装配网关和应用;OmsEngine 维护订单、成交、持仓等状态。
- 输入
- 事件与用户操作
- 输出
- 统一查询和交易操作入口
vnpy/trader/engine.py网关契约
BaseGateway 定义连接、订阅、下单等抽象接口并发布标准事件。
- 输入
- 交易请求与外部回报
- 输出
- 标准化市场与订单事件
vnpy/trader/gateway.pyAlpha 研究
AlphaLab 组织数据、模型和研究流程,衔接因子研究及策略评估。
- 输入
- 数据集、模型和研究配置
- 输出
- 研究结果与策略评估
vnpy/alpha/lab.py建议阅读顺序
- 先读 Event / EventEngine 的生产和消费关系
- 再跟踪 BaseGateway 的 on_tick / on_order
- 查看 MainEngine 与 OmsEngine 的职责
- 独立阅读 AlphaLab,区分投研流程与实时交易流程
动手做一次
构造一个离线模拟网关,回放三条行情和一组订单状态变化。
完成后,检查这些证据
- 画出事件调用链
- 订单从提交到成交的状态变化可查询
- 说明 CTA 等外部应用包与 vnpy 核心的关系
适用边界与版本说明
CTA 策略、很多交易接口是独立生态包,并非全部位于此仓库;研究模块可用的数据源和交易权限需要分别配置。
Star 快照:45,954 · 核验日期:2026-10-20 · GitHub 归档标记:未归档
核验默认分支:master · 源码固定提交:c6e231caf32b ↗
来源:GitHub 仓库与 Star 页面、README及上述源文件。分层、阅读顺序与练习为本站归纳;未逐一安装运行这些框架,源码提交不等于推荐安装版本。