MENU

VeighNa:量化交易神器多市场通吃可视化操作

November 29, 2025 • Read: 7 • 人工智能学习

AI摘要:VeighNa是一个基于Python的开源量化交易系统开发框架,已经发展成为一个多功能量化交易平台,服务于金融机构和相关领域用户。VeighNa 4.0版本新增了面向AI量化策略的vnpy.alpha模块,提供了多因子机器学习策略开发、投研和实盘交易的解决方案。该平台具有多功能量化交易平台、覆盖国内外交易品种的交易接口、各类量化策略的交易应用、Python交易API接口封装等特点。VeighNa支持多种数据库和数据服务的适配器接口,以及跨进程通讯标准组件。用户可以通过VeighNa Station量化管理平台或脚本运行VeighNa Trader。VeighNa的源代码托管在Github上,欢迎社区贡献代码。

Powered by 中文AI技术教程与社区分享.

VeighNa - By Traders, For Traders, AI-Powered.

title=

VeighNa 是一套基于 Python 的开源量化交易系统开发框架,在开源社区持续不断的贡献下一步步成长为多功能量化交易平台,自发布以来已经积累了众多来自金融机构或相关领域的用户,包括私募基金、证券公司、期货公司等。

在使用 VeighNa 进行二次开发(策略、模块等)的过程中有任何疑问,请查看VeighNa 项目文档,如果无法解决请前往官方社区论坛的【提问求助】板块寻求帮助,也欢迎在【经验分享】板块分享你的使用心得!

VeighNa项目官方地址:

AI-Powered


VeighNa 发布十周年之际正式推出 4.0 版本,重磅新增面向 AI 量化策略的 vnpy.alpha 模块,为专业量化交易员提供 一站式多因子机器学习(ML)策略开发、投研和实盘交易解决方案

title=

  • 📊 dataset :因子特征工程

    • 专为 ML 算法训练优化设计,支持高效批量特征计算与处理
    • 内置丰富的因子特征表达式计算引擎,实现快速一键生成训练数据
    • Alpha 158:源于微软 Qlib 项目的股票市场特征集合,涵盖 K 线形态、价格趋势、时序波动等多维度量化因子
  • 💡 model :预测模型训练

    • 提供标准化的 ML 模型开发模板,大幅简化模型构建与训练流程
    • 统一 API 接口设计,支持无缝切换不同算法进行性能对比测试
    • 集成多种主流机器学习算法:

      • Lasso:经典 Lasso 回归模型,通过 L1 正则化实现特征选择
      • LightGBM:高效梯度提升决策树,针对大规模数据集优化的训练引擎
      • MLP:多层感知机神经网络,适用于复杂非线性关系建模
  • 🤖 strategy :策略投研开发

    • 基于 ML 信号预测模型快速构建量化交易策略
    • 支持截面多标的和时序单标的两种策略类型
  • 🔬 lab :投研流程管理

    • 集成数据管理、模型训练、信号生成和策略回测等完整工作流程
    • 简洁 API 设计,内置可视化分析工具,直观评估策略表现和模型效果
  • 📖 notebook :量化投研 Demo

    • download_data_rq:基于 RQData 下载 A 股指数成分股数据,包含指数成分变化跟踪及历史行情获取
    • download_data_xt:基于迅投研数据服务,下载获取 A 股指数成分历史变化和股票 K 线数据
    • research_workflow_lasso:基于 Lasso 回归模型的量化投研工作流,展示线性模型特征选择与预测能力
    • research_workflow_lgb:基于 LightGBM 梯度提升树的量化投研工作流,利用高效集成学习方法进行预测
    • research_workflow_mlp:基于多层感知机神经网络的量化投研工作流,展示深度学习在量化交易中的应用

vnpy.alpha 模块的设计理念受到 Qlib 项目的启发,在保持易用性的同时提供强大的 AI 量化能力,特此向 Qlib 开发团队致以诚挚感谢!

功能特点


带有 ⬆️ 的模块代表已经完成 4.0 版本的升级适配测试,同时 4.0 核心框架采用了优先保证兼容性的升级方式,因此大多数模块也都可以直接使用(涉及到 C++ API 封装的接口必须升级后才能使用)。

  1. ⬆️ 多功能量化交易平台(trader),整合了多种交易接口,并针对具体策略算法和功能开发提供了简洁易用的 API,用于快速构建交易员所需的量化交易应用。
  2. 覆盖国内外所拥有的下述交易品种的交易接口(gateway):

    • 国内市场

      • ⬆️ CTP(ctp):国内期货、期权
      • ⬆️ CTP Mini(mini):国内期货、期权
      • ⬆️ CTP 证券(sopt):ETF 期权
      • ⬆️ 飞马(femas):国内期货
      • ⬆️ 恒生 UFT(uft):国内期货、ETF 期权
      • 易盛(esunny):国内期货、黄金 TD
      • ⬆️ 顶点 HTS(hts):ETF 期权
      • ⬆️ 中泰 XTP(xtp):国内证券(A 股)、ETF 期权
      • ⬆️ 华鑫奇点(tora):国内证券(A 股)、ETF 期权
      • 东证 OST(ost):国内证券(A 股)
      • 东方财富 EMT(emt):国内证券(A 股)
      • 飞鼠(sgit):黄金 TD、国内期货
      • ⬆️ 金仕达黄金(ksgold):黄金 TD
      • ⬆️ 利星资管(lstar):期货资管
      • ⬆️ 融航(rohon):期货资管
      • ⬆️ 杰宜斯(jees):期货资管
      • 中汇亿达(comstar):银行间市场
      • ⬆️ TTS(tts):国内期货(仿真)
    • 海外市场

      • ⬆️ Interactive Brokers(ib):海外证券、期货、期权、贵金属等
      • ⬆️ 易盛 9.0 外盘(tap):海外期货
      • ⬆️ 直达期货(da):海外期货
    • 特殊应用

      • ⬆️ RQData 行情(rqdata):跨市场(股票、指数、ETF、期货)实时行情
      • ⬆️ 迅投研行情([xt]):跨市场(股票、指数、可转债、ETF、期货、期权)实时行情
      • ⬆️ RPC 服务([rpc]):跨进程通讯接口,用于分布式架构
  3. 覆盖下述各类量化策略的交易应用(app):

    • ⬆️ [cta_strategy]:CTA 策略引擎模块,在保持易用性的同时,允许用户针对 CTA 类策略运行过程中委托的报撤行为进行细粒度控制(降低交易滑点、实现高频策略)
    • ⬆️ [cta_backtester]:CTA 策略回测模块,无需使用 Jupyter Notebook,直接使用图形界面进行策略回测分析、参数优化等相关工作
    • ⬆️ [spread_trading]:价差交易模块,支持自定义价差,实时计算价差行情和持仓,支持价差算法交易以及自动价差策略两种模式
    • ⬆️ [option_master]:期权交易模块,针对国内期权市场设计,支持多种期权定价模型、隐含波动率曲面计算、希腊值风险跟踪等功能
    • ⬆️ [portfolio_strategy]:组合策略模块,面向同时交易多合约的量化策略(Alpha、期权套利等),提供历史数据回测和实盘自动交易功能
    • ⬆️ [algo_trading]:算法交易模块,提供多种常用的智能交易算法:TWAP、Sniper、Iceberg、BestLimit 等
    • ⬆️ [script_trader]:脚本策略模块,面向多标的类量化策略和计算任务设计,同时也可以在命令行中实现 REPL 指令形式的交易,不支持回测功能
    • ⬆️ [paper_account]:本地仿真模块,纯本地化实现的仿真模拟交易功能,基于交易接口获取的实时行情进行委托撮合,提供委托成交推送以及持仓记录
    • ⬆️ [chart_wizard]:K 线图表模块,基于 RQData 数据服务(期货)或者交易接口获取历史数据,并结合 Tick 推送显示实时行情变化
    • ⬆️ [portfolio_manager]:交易组合管理模块,以独立的策略交易组合(子账户)为基础,提供委托成交记录管理、交易仓位自动跟踪以及每日盈亏实时统计功能
    • ⬆️ [rpc_service]:RPC 服务模块,允许将某一进程启动为服务端,作为统一的行情和交易路由通道,允许多客户端同时连接,实现多进程分布式系统
    • ⬆️ [data_manager]:历史数据管理模块,通过树形目录查看数据库中已有的数据概况,选择任意时间段数据查看字段细节,支持 CSV 文件的数据导入和导出
    • ⬆️ [data_recorder]:行情记录模块,基于图形界面进行配置,根据需求实时录制 Tick 或者 K 线行情到数据库中,用于策略回测或者实盘初始化
    • ⬆️ [excel_rtd]:Excel RTD(Real Time Data)实时数据服务,基于 pyxll 模块实现在 Excel 中获取各类数据(行情、合约、持仓等)的实时推送更新
    • ⬆️ [risk_manager]:风险管理模块,提供包括交易流控、下单数量、活动委托、撤单总数等规则的统计和限制,有效实现前端风控功能
    • ⬆️ [web_trader]:Web 服务模块,针对 B-S 架构需求设计,实现了提供主动函数调用(REST)和被动数据推送(Websocket)的 Web 服务器
  4. Python 交易 API 接口封装(api),提供上述交易接口的底层对接实现。

    • ⬆️ REST Client([rest]):基于协程异步 IO 的高性能 REST API 客户端,采用事件消息循环的编程模型,支持高并发实时交易请求发送
    • ⬆️ Websocket Client([websocket]):基于协程异步 IO 的高性能 Websocket API 客户端,支持和 REST Client 共用事件循环并发运行
  5. ⬆️ 简洁易用的事件驱动引擎(event),作为事件驱动型交易程序的核心。
  6. 对接各类数据库的适配器接口(database):

    • SQL 类

      • ⬆️ SQLite([sqlite]):轻量级单文件数据库,无需安装和配置数据服务程序,VeighNa 的默认选项,适合入门新手用户
      • ⬆️ MySQL([mysql]):主流的开源关系型数据库,文档资料极为丰富,且可替换其他 NewSQL 兼容实现(如 TiDB)
      • ⬆️ PostgreSQL([postgresql]):特性更为丰富的开源关系型数据库,支持通过扩展插件来新增功能,只推荐熟手使用
    • NoSQL 类

      • DolphinDB([dolphindb]):一款高性能分布式时序数据库,适用于对速度要求极高的低延时或实时性任务
      • ⬆️ TDengine([taos]):分布式、高性能、支持 SQL 的时序数据库,带有内建的缓存、流式计算、数据订阅等系统功能,能大幅减少研发和运维的复杂度
      • ⬆️ MongoDB([mongodb]):基于分布式文件储存(bson 格式)的文档式数据库,内置的热数据内存缓存提供更快读写速度
  7. 对接下述各类数据服务的适配器接口(datafeed):

    • ⬆️ 迅投研([xt]):股票、期货、期权、基金、债券
    • ⬆️ 米筐 RQData([rqdata]):股票、期货、期权、基金、债券、黄金 TD
    • ⬆️ MultiCharts([mcdata]):期货、期货期权
    • ⬆️ TuShare([tushare]):股票、期货、期权、基金
    • ⬆️ 万得 Wind([wind]):股票、期货、基金、债券
    • ⬆️ 同花顺 iFinD([ifind]):股票、期货、基金、债券
    • ⬆️ 天勤 TQSDK([tqsdk]):期货
    • ⬆️ 掘金([gm]):股票
    • ⬆️ polygon([polygon]):股票、期货、期权
  8. ⬆️ 跨进程通讯标准组件(rpc),用于实现分布式部署的复杂交易系统。
  9. ⬆️ Python 高性能 K 线图表(chart),支持大数据量图表显示以及实时数据更新功能。
  10. [社区论坛]和[知乎专栏],内容包括 VeighNa 项目的开发教程和 Python 在量化交易领域的应用研究等内容。
  11. 官方交流群 262656087(QQ),管理严格(定期清除长期潜水的成员),入群费将捐赠给 VeighNa 社区基金。

注:以上关于功能特点的说明为根据说明文档发布时情况罗列,后续可能存在更新或调整。若功能描述同实际存在出入,欢迎通过 Issue 联系进行调整。

环境准备


  • 推荐使用 VeighNa 团队为量化交易专门打造的 Python 发行版 [VeighNa Studio-4.2.0],集成内置了 VeighNa 框架以及 VeighNa Station 量化管理平台,无需手动安装
  • 支持的系统版本:Windows 11 以上 / Windows Server 2022 以上 / Ubuntu 22.04 LTS 以上
  • 支持的 Python 版本:Python 3.10 以上(64 位),推荐使用 Python 3.13

安装步骤


这里下载 Release 发布版本,解压后运行以下命令安装:

Windows

install.bat

Ubuntu

bash install.sh

Macos

bash install_osx.sh

使用指南


  1. 在 [SimNow]注册 CTP 仿真账号,并在[该页面]获取经纪商代码以及交易行情服务器地址。
  2. 在 [VeighNa 社区论坛]注册获得 VeighNa Station 账号密码(论坛账号密码即是)
  3. 启动 VeighNa Station(安装 VeighNa Studio 后会在桌面自动创建快捷方式),输入上一步的账号密码登录
  4. 点击底部的 VeighNa Trader 按钮,开始你的交易!!!

注意:

  • 在 VeighNa Trader 的运行过程中请勿关闭 VeighNa Station(会自动退出)

脚本运行


除了基于 VeighNa Station 的图形化启动方式外,也可以在任意目录下创建 run.py,写入以下示例代码:

from vnpy.event import EventEngine
from vnpy.trader.engine import MainEngine
from vnpy.trader.ui import MainWindow, create_qapp

from vnpy_ctp import CtpGateway
from vnpy_ctastrategy import CtaStrategyApp
from vnpy_ctabacktester import CtaBacktesterApp


def main():
    """Start VeighNa Trader"""
    qapp = create_qapp()

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)
  
    main_engine.add_gateway(CtpGateway)
    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()

在该目录下打开 CMD(按住 Shift-> 点击鼠标右键-> 在此处打开命令窗口/PowerShell)后运行下列命令启动 VeighNa Trader:

python run.py

贡献代码


VeighNa 使用 Github 托管其源代码,如果希望贡献代码请使用 github 的 PR(Pull Request)的流程:

  1. [创建 Issue] - 对于较大的改动(如新功能,大型重构等)建议先开 issue 讨论一下,较小的 improvement(如文档改进,bugfix 等)直接发 PR 即可
  2. Fork [VeighNa] - 点击右上角 Fork 按钮
  3. Clone 你自己的 fork: git clone https://github.com/$userid/vnpy.git

    • 如果你的 fork 已经过时,需要手动 sync:[同步方法]
  4. dev 创建你自己的 feature branch: git checkout -b $my_feature_branch dev
  5. 在 $my_feature_branch 上修改并将修改 push 到你的 fork 上
  6. 创建从你的 fork 的 $my_feature_branch 分支到主项目的 dev 分支的[Pull Request] - [在此]点击 compare across forks ,选择需要的 fork 和 branch 创建 PR
  7. 等待 review, 需要继续改进,或者被 Merge!

在提交代码的时候,请遵守以下规则,以提高代码质量:

  • 使用 ruff 检查你的代码样式,确保没有 error 和 warning。在项目根目录下运行 ruff check . 即可。
  • 使用 mypy 进行静态类型检查,确保类型注解正确。在项目根目录下运行 mypy vnpy 即可。

其他内容


  • [获取帮助]
  • [社区行为准则]
  • [Issue 模板]
  • [PR 模板]

版权说明


MIT

Last Modified: November 30, 2025