VeighNa量化社区
你的开源社区量化交易平台 | vn.py | vnpy

置顶主题

晶莹剔透的小白总结Ubuntu装机经验

VNPY的在linux系统上装机搞得我一度想放弃。好在傻人有傻福,稀里糊涂的今天让我装成了。在此立贴纪念,同时记录一下蛋疼的探索过程,希望能够帮助各位。
尽管有大神指出对于新手最好先从WIN上玩转,但是我个人推荐在VNPY在Linux上使用。用一个IT前辈的话说,win上山容易,但是马上到山顶了上面会写一句此路不通;Linux开始上手有点困难,但是真上道了速度会奇快。

----------------------------------------------------书归正传,开始正文------------------------------------------------------------------------------------------------------------------------------
一、下载VNPY文件
(方式一)可以从github上clone或者下载压缩文件,但是对于其龟速,且容易终端,不推荐。
(方式二)在terminal上进入想让文件下载的目录中,本人是下载到了桌面,所以
1.cd到桌面 ---> cd /home/kelin110/Desktop
2.开始从gitee上拉 ---> git clone --recursive https://gitee.com/vnpy/vnpy.git 这样子在Desktop就生成了一个vnpy的文件夹

二、开始安装
1.cd vnpy

  1. python setup.py install (个人的精力来讲,用bash install.sh就是个深坑,一头撞墙的坑)
    一切顺林的话,最后会显示Finished processing dependencies for vnpy==2.1.8

  2. 进入 example/vn_trader, 跑 run.py, 命令行: python run.py
    顺利的话,界面就出来了,安装完成。

4.这个界面相对win傻瓜安装版的简陋,但是进入run.py的程序你会发现,其实功能已经写好了,根据需要取消注释即可。

三、大坑总结
1.妄图调整各库版本,迎合vnpy
首先,各库情况复杂不说,由于前期已经安装了anaconda,所以算上ubuntu自带的,一共有3个python版本,各自库的位置还不一样,比如anaconda的库的位置是在anaconda3/lib/python3.8/site-packages/,而机子的自带python在/usr/lib/python3/dist-packages/,这些库有时候相互不能调用,时间长了自己都要傻掉了;尤其是pip命令返回提示说已经安装了,但是调用pip list,查看没有相应的库。那就是多个库相互影响导致的。此时需要照道已经安装的库,
例如:sudo cp ./libta_lib. /home/kelin110/anaconda3/lib/python3.8/site-packages/
其次,配合安装缺失库的时候,尽量调用conda命令来安装。

2.尽量不要偷懒用bash install.sh命令一步安装
这里有很多前辈的帖子上也反映了bash会出现各种乱七八糟的问题,其实最好的笨办法就是自己手动安装需要支持的库。这里黏贴我已经当时缺少的库,希望对大家有帮助。
sudo cp ./libta_lib. /home/kelin110/anaconda3/lib/python3.8/site-packages/ ##说明:这是将手动下载的talib编译好后复制到python库中
pip3 install -i https://pypi.doubanio.com/simple/ ta-lib ##说明:这样子写主要doubanio网速比较给力

sudo apt-get install libxcb-xinerama0 ##解决qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.错误

前期掉的坑实在多到自己都记不住了~先写这些吧



《vn.py 3.0.0源代码深入分析》

我学Python的目的很明确,就是量化交易。从一开始就有关注vn.py,但我学的是Python3,那时vn.py还处于版本1.x时期,所以只能望vn.py兴叹。
vn.py 2.0出来之后我并没有及时注意,等反应过来已经是2.0.7版。很兴奋,认真研究,并将心得写成《vn.py 2.0.7源代码深入分析》,分享在vn.py社区的经验分享板块。
出于对量化交易的爱好,出于对Python在量化交易中作用的认同,一定程度受vn.py强大功能的鼓舞,我与同事合写了《Python量化交易从入门到实战》一书,对vn.py的讨论是其中很重要的一部分内容。
后续又写了《vn.py 2.1.4源代码深入分析》和《vn.py 2.2.0源代码深入分析》两个文档,感谢各位老师的认可。
vn.py 3.0.0版发布于2022-03-23,这是我一直期待的一个版本,所以它刚一推出,我就立刻开始试用,并着手整理《vn.py 3.0.0源代码深入分析》。夜以继日,终于在前天完成。先发到了书籍的资源群中,接受了两天批评,现分享到此处。
写作本文档的一个主要目的是对vn.py的开源精神做出一点支持,希望本文档能够对大家学习使用vn.py有所帮助。

百度网盘链接:https://pan.baidu.com/s/1cl2MA9hNFhHlxfHM0gGe2A
提取码:s7u6



在Mac上安装vnpy,保证一次成功!

一、提前下载需要的安装包:
1、Miniconda3
https://docs.conda.io/en/latest/miniconda.html#
选择MacOSX installers里的最新版本,这里是Python 3.9下载。

2、pycharm
pycharm-community-2020.3.3.dmg
从官网上下载社区版https://www.jetbrains.com/pycharm/

3、vnpy安装包(解压后,复制文件夹到自己喜欢的位置)
从vnpy在gitee的官方地址下载最新的安装包,采用zip格式下载。
https://gitee.com/vnpy/vnpy

二、安装
1、安装Miniconda,这里是Miniconda3-latest-MacOSX-x86_64.pkg
2、添加国内源:
添加国内源:在当前用户下,编辑.condarc,内容如下:
channels:

3、创建虚拟环境
conda create -n py37_vnpy python=3.7
conda activate py37_vnpy
(退出:conda deactivate)

4、安装python.app
conda install -c conda-forge python.app
可能会因为网络问题不成功,多试几次。

5、安装pycharm-community-2020.3.3.dmg
从官网上下载社区版https://www.jetbrains.com/pycharm/

7、打开vnpy所在的文件夹,进行配置
点击‘PyCharm’菜单->Preferences菜单->Project:vnpy一级菜单->Python Interpreter二级菜单->点击右上齿轮->Add菜单->Conda Environment->Existing enviroment->Interpreter:/opy/miniconda3/envs/py37_vnpy/bin/pythonw(选择前面新建的虚拟环境的pythonw)->点OK->点OK->点OK

8、(确认在PyCharm里已经打开了vnpy项目),在PyCharm的底部,找到Terminal的标签,点击,进入py37_vnpy环境的终端,并且当前路径位于vnpy项目的文件夹。
执行以下的安装语句(requirements.txt是vnpy项目文件夹下面的一个文件),这个安装时间比较长,需要较好的网络。

pip install -r requirements.txt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

9、创建run.py文件,复制以下代码,来源 README.md

因为mac上不支持ctp接口,所以要注释掉ctp接口,否则运行会报错。

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

# from vnpy.gateway.ctp import CtpGateway

from vnpy.app.cta_strategy import CtaStrategyApp
from vnpy.app.cta_backtester import CtaBacktesterApp

def main():
"""Start VN 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()

10、运行 python run.py,注意环境名称是 py37_vnpy



魔改VNPY

[知乎专栏经验发布] (https://www.zhihu.com/column/c_1760768090802171904)


距离上一篇”完结”过去了快一年,本来以为这个系列就这样了。

然后 AI 来了。

不是那种”帮你补全几行代码”的 AI,而是真的能从零开始、一个文件一个文件帮你写出来的 AI。看着 Claude 一步步理解我的需求,读懂 VNPY 的源码,处理 PySide6 的信号槽、QSS 样式、Pydantic 数据模型……说实话,有点震撼。

于是趁着春节前的这段时间,我做了一个实验:用 AI 辅助,从 VNPY 3.9 重构到 4.3,看看能走多远。

结果是:大约一周时间,从项目搭建到功能完善,我没有手写一行代码。所有的代码都是在和 AI 的对话中产生的——我负责提需求、审代码、做决策,AI 负责实现。

为什么要重构
VNPY 从 3.9 到 4.3 变化很大,核心模块拆分成了独立包(vnpy-ctastrategy、vnpy-ctp 等),架构上差异太多,简单迁移行不通,不如重新来过。

正好,V1 积累了不少想法但一直没动手改的地方,这次借 AI 之手一并实现了。

V2 主要变化
变化 说明
基础框架 VNPY 3.9 → 4.3
数据库 SQLite/MySQL → ArcticDB (LMDB)
策略架构 三层数据模型 Params/State/Vars
双模交易 同一策略支持全自动 + 辅助半自动
多账户 实盘/模拟/7×24 环境并存
主力合约 自动识别 + 换月持仓保护
AI 助手 实验性接入,目标是策略信号辅助
界面 PySide6 + QFluentWidgets 全面重写
详细内容就不在这里展开了,感兴趣的朋友请移步 GitHub 仓库查看 README。

开源
项目已开源,MIT 协议,可自由使用和修改:

GitHub:https://github.com/48645970/guanlan

欢迎 Star,欢迎提 Issue,欢迎交流。

感谢
感谢 VNPY 团队提供了优秀的量化交易框架,让这一切有了基础。

感谢 Claude —— 这个项目的”联合开发者”。一周时间里,从框架搭建到细节打磨,每一行代码都经过了我们之间的对话。AI 不会疲倦,不会敷衍,能记住上下文,能读懂源码,能理解”这里不太对”是什么意思。这种体验,一年前完全无法想象。

我们正站在一个很有意思的时代节点上。

最后
祝大家新年快乐,交易顺利。

主窗口
description

多账户管理,自动登录

description

合约管理,收藏,手续费设置(策略中算手续费),定期从外部获取后计算最大持仓定为主力

description

交易持仓
description

绩效查看,按账户统计
description

数据管理,一键批量导入通达信数据(日线、分钟线)
description

策略执行
使用数据模拟定义参数和状态显示,配合限制输入框,对输入内容格式、最大最小值做限制
界面参数、状态值,使用模型指定的中文标题显示
Params、State 显示在窗口
Variable 仅做为中间变量存储,但不显示
扩展 on_ready,在在 on_start 后触发,不同的是,交易状态 self.trading == True
扩展 on_reset,在画面点击重置时触发

description

description

description



2026年第1次社区活动 - 【探索 ClawdBot / OpenClaw】- 2月7日(上海)

发布于VeighNa社区公众号【vnpy-community】
 
原文作者:VeighNa小助手 | 发布时间:2026-02-02
 

【社区活动尊享卡】的受欢迎程度大幅超出我们的预期,为了保证每场社区活动的交流质量,尊享卡已经变更为仅对部分专业交易员用户定向提供。对于参加活动较多的同学强烈推荐!购买请扫描二维码添加小助手咨询:

description

Clawdbot(目前已经改名OpenClaw)在过去两周的传播速度可以说是【病毒式席卷全球】,VeighNa社区里也不乏各种讨论。

所以决定在春节前临时增加一场社区活动,本场活动将于2月7日(周六)下午2:00至5:00在上海举办。普通报名仅支持线下参会,尊享卡报名可通过线上直播参与。活动具体地址将在微信群中公布,请在报名成功后扫码加入社区活动群,以便获取相关信息!

 

活动内容大纲

 

  1. OpenClaw 快速上手
    a. 突然爆火的龙虾(Claw)
    b. 部署模式的选择:云端 vs 本地
    c. 选择合适的硬件和系统
    d. 快速部署安装和AI服务接入配置
  2. Agent核心能力拆解
    a. 能力节点:给AI“接上手臂”
    b. 技能体系:内置技能与扩展
    c. 长期记忆与7×24小时运行
    d. 安全与权限控制的要点
  3. 从生产力角度看应用方向
    a. 自媒体狂欢的Moltbook AI社区
    b. 全自动的量化投研Idea探索器
    c. 更拟人化的实盘运维监控工具
    d. 最后必须要高度关注的AI安全问题
  4. 闭门交流环节
     

时间:2月7日 14:00-17:00

地点:上海(具体地址后续在微信群中通知)

报名费:99元(Elite会员免费参加)

报名方式:扫描下方二维码报名(报名后请扫码加入社区活动微信群获取参会地址)

 

description

 



量化历史数据新选择:MultiCharts数据服务接口!

发布于VeighNa社区公众号【vnpy-community】
 
原文作者:用Python的交易员 | 发布时间:2025-04-30
 

MultiCharts数据服务

 

关于MultiCharts量化平台本身,在2020年的这篇公众号文章中就有介绍过《vn.py技术架构2 - 受启发的项目:CTP API、MultiCharts》。

我本人和MultiCharts可以算是相当有缘分:职业生涯中学习上手的第一套量化平台就是MultiCharts,10多年前还在英国念硕士的时候买了MultiCharts国际版终身授权,当时的价格大概是1300美金,差不多10000$,足足省吃俭用了半年,遗憾的是授权码已经找不到了。回国后在期货公司开始第一份工作的时候,用的也是由艾杨软件代理的MultiCharts中国版,某种意义上促成了后续CtaStrategy模块的开发。

去年艾杨软件在MultiCharts专策版中支持了Python接口功能,同时也推出了用于对接VeighNa量化平台的交易接口模块vnpy_icetcore(具体可以阅读这篇文章),但对于许多已经使用VeighNa直连CTP(或者其他交易柜台)的用户来说无法直接使用该模块。

因此我们根据VeighNa社区用户的习惯,开发了新的vnpy_mcdata数据服务模块。在此过程中受到了艾杨技术团队的大力支持,在此表示感谢!与vnpy_icetcore定位于gateway不同的是,vnpy_mcdata专注于datafeed,也就意味着使用任何交易接口的同学都可以使用MultiCharts作为数据服务。

目前支持的期货和期货期权数据范围包括:

  • 交易所

    • 中金所CFFEX
    • 上期所SHFE
    • 能交所INE
    • 大商所DCE
    • 郑商所CZCE
    • 广期所GFE
  • 数据类型

    • 1分钟K线
    • 1小时K线
    • 日K线

 

申请试用账号

 

VeighNa社区的新用户可以发送邮件申请试用权限:

  • 申请邮箱:mcsupport@icetech.com.cn
  • 邮件标题:VeighNa社区MC专策版试用权限申请
  • 邮件内容:之前注册试用的手机号
  • 试用时长:2周

申请成功后会收到回复的邮件,其中包含以下信息:

  • 会员账号
  • 密码
  • MC注册名
  • MC注册码

 

平台安装登录

 

访问以下网页下载安装MultiCharts 14(专策版):

https://www.multicharts.cn/download

点击网页中的【64位元】下载链接:

description

下载完成后运行安装,注意记住选择的安装目录,后面配置datafeed时需要用到。

完成后双击桌面的【MC14 专策版】图标启动。首次运行确认用户协议后,会看到登录对话框:

description

在其中填入会员账号和密码后点击【登录】按钮,经过一段初始化等待后看到如下图所示的注册对话框:

description

在其中填入MC注册名和MC注册码,勾选【记住密码】后点击【登录】按钮即可进入MultiCharts主界面。

此时桌面底部的任务栏中会出现两个进程,分别是:

  • MC14 专策版 V2:核心数据服务进程,必须保持开启
  • MultiCharts 64:图表量化平台进程,不用的话可以关闭。

 

VeighNa数据连接

 

首先需要安装vnpy_mcdata数据服务模块:

pip install vnpy_mcdata

然后修改全局配置中的数据服务相关字段(以datafeed开头):

  • datafeed.name: "mcdata"
  • datafeed.username": "C:/MCTrader14/APPs"

注意username需要填入你的MultiCharts安装目录(结尾的APPs文件夹保持不变),并将路径中的 “\” 替换为 “/”。

重启VeighNa Trader并加载DataManager模块,即可测试从MultiCharts获取历史K线数据:

description

除了期货交易所合约外,MultiCharts还提供了多种连续合约的数据,以期货产品名称 + 标准后缀标识:

  • HOT:主力连续,对应米筐的88
  • HOT/Q:主力前复权,对应米筐的888
  • HOT/H:主力后复权,对应米筐的889
  • 000000:指数连续,对应米筐的99

 

MultiCharts专策版数据服务的价格为2980元/年,试用结束后需要购买可以扫描下方二维码:

description

 



VeighNa发布v4.3.0 - VeighNa Assistant

发布于VeighNa社区公众号【vnpy-community】
 
原文作者:用Python的交易员 | 发布时间:2025-12-29
 

上周我们发布了VeighNa 4.3.0版本。本次更新主要包括:在VeighNa Station中集成全新的AI智能助手VeighNa Assistant,以及对VeighNa Docker镜像进行重构优化。

已安装VeighNa Studio 4.0版本的用户,可使用快速更新功能完成自动升级;尚未安装的用户,建议直接下载VeighNa Studio-4.3.0,体验一键安装的量化交易Python发行版,下载链接:

https://download.vnpy.com/veighna_studio-4.3.0.exe

 

VeighNa Assistant

 

功能介绍

description

在本次4.3.0版本中,VeighNa Station集成了VeighNa Assistant智能助手(基于VNAG框架开发),主要功能包括:

  1. 接入VeighNa官方的内部文档知识库、示例策略库以及项目源码库,提供全面的技术支持;
  2. 采用Agentic AI架构(区别于传统的RAG方案),能够根据用户需求智能调用各种工具来完成复杂任务;
  3. 支持开放式的大模型服务配置,用户可以根据自身需求灵活选择国内外各种主流AI大模型。

使用步骤

要使用VeighNa Assistant,首先需要准备一个大模型服务的API Key(可理解为访问凭证)。对于初次接触的用户,推荐使用阿里云百炼的AI服务(目前提供较为充足的免费额度),具体开通流程请参考阿里云官方的详细步骤说明

准备好API Key后,双击桌面快捷方式启动VeighNa Station,在顶部菜单栏中找到【功能 -> AI服务配置】选项:

description

点击后将打开AI服务配置对话框。在顶部的下拉框中选择【Bailian】,然后在配置参数区域填入之前准备好的API Key,API地址保持默认即可:

description

点击【保存】按钮后,系统会弹出提示框,告知需要重启VeighNa Station以使配置生效:

description

完成重启后,点击顶部菜单栏的【功能 -> 模型浏览器】,选择想要使用的大模型:

description

在模型浏览器中,可以通过上图红框中的箭头按钮来添加或移除大模型,同时也可以调整已选模型的优先级顺序。对于百炼AI服务,推荐选择Agentic能力较强的qwen3-max-previewkimi-k2-thinking模型。完成设置后,点击右下角的【保存】按钮,系统会弹出确认提示框:

description

点击【OK】返回主界面后,即可在聊天区域与智能体进行交互。整体使用方式与ChatGPT等主流AI聊天工具高度相似,有相关使用经验的用户可以快速上手:

description

如果在使用过程中遇到任何问题或有改进建议,欢迎在社区论坛的【VeighNa Assistant】专区发帖交流。

 

VeighNa Docker镜像

 

基于社区用户的反馈,我们在4.3.0版本中 对VeighNa Docker镜像进行了全方位的重构与优化。

核心改进:

  1. 体积大幅瘦身:通过优化Dockerfile的分层构建逻辑,镜像体积从原先的1.44GB显著降低至851MB。更小的体积意味着更快的拉取速度和更低的存储占用,特别适合云端环境的快速部署。
  2. 构建流程透明化:移除了此前为了压缩体积而引入的复杂两步构建逻辑,回归标准化的构建流程。这不仅让打包过程更加稳定,也方便高阶用户参考官方Dockerfile进行个性化的二次开发。
  3. 核心环境升级:镜像环境全面升级适配VeighNa 4.0版本,并将核心解释器升级至Python 3.13,为用户提供更加高效、稳定的量化交易容器环境。

快速开始:

用户可以直接访问VeighNa Docker Hub查看详情,或使用以下命令直接拉取并启动:

# 拉取 4.3.0 版本镜像
docker pull veighna/veighna:4.3.0

# 启动容器(示例:挂载本地目录并启动图形界面)
docker run -it \
  -e DISPLAY=$DISPLAY \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -v $(pwd)/home:/home \
  -p 8888:8888 \
  veighna/veighna:4.3.0 python3 -m veighna_station

 

CHANGELOG

 

新增

  1. vnpy.alpha增加WorldQuant的Alpha 101因子特征数据集

调整

  1. vnpy_sec/vnpy_esunny升级适配4.0版本
  2. vnpy_ctabacktester的策略代码编辑功能支持cursor和pycharm编辑器
  3. vnpy_ctastrategy的回测引擎,增加RGR绩效统计指标(感谢上弦之月贡献)
  4. ArrayManager增加对于指标计算函数重载(Function Overload)的类型提示声明
  5. vnpy_ctp增加特殊情况撤单(非交易时段、资金不足等)的日志输出
  6. DataProxy的所有比较运算,直接返回pl.Int32(而不是Bool)
  7. 重构ts_slope / ts_rsquare / ts_resi算子函数

修复

  1. vnpy_ib修复查询历史数据问题(query_history函数增加查询锁解决多线程冲突问题)
  2. vnpy_optionmaster修复深度虚值期权的隐含波动率计算收敛问题
     


Tick 数据清洗的一点实践经验

刚开始做量化的时候,我也踩过一个很常见的坑:拿到 Tick 数据就直接进策略,结果回测表现和实盘感觉完全对不上。
后来回头看,问题并不在策略,而是 Tick 数据本身并不“干净”。

如果基础数据有问题,后面的逻辑写得再漂亮,结果也很难可信。
这篇主要记录一下我在实际项目中,对 Tick 数据做基础处理的一些经验,算是给刚入门的朋友一个参考。

Tick 数据里,常见但容易忽略的问题

即便是交易所推送的逐笔成交数据,在实际使用中也经常会遇到一些问题,比如:

  • 重复 Tick:相同时间戳、价格、成交量被重复记录
  • 异常价格:极端偏离当前行情,多半来自传输或解析异常
  • 时间戳顺序混乱:Tick 没有严格按时间递增
  • 字段不完整:有价格没成交量,或者反过来

这些问题在单条数据上看不明显,但一旦进入回测或统计分析,很容易放大影响。
所以在策略逻辑之前,我一般都会先做一层最基础的 Tick 清洗。

一个简单但实用的 Tick 清洗流程

下面这个示例,是我平时会用到的一种最基础处理方式,思路很简单:

import pandas as pd

def clean_ticks(raw_ticks):
    """
    对原始 Tick 数据做基础清洗
    raw_ticks: list[dict],包含 timestamp / price / volume 等字段
    """
    df = pd.DataFrame(raw_ticks)

    # 确保时间顺序
    df = df.sort_values("timestamp").reset_index(drop=True)

    # 去重
    df = df.drop_duplicates()

    # 去掉关键字段为空的记录
    df = df.dropna(subset=["price", "volume"])

    # 过滤明显异常值(阈值需根据标的调整)
    df = df[(df["price"] > 0) & (df["volume"] > 0)]

    return df

这类处理并不复杂,但非常有必要。
很多“策略不稳定”的问题,最后都能追溯到数据层。
实际项目里,清洗规则一定要结合标的和交易制度调整,这里只是一个基础示例。

关于数据源本身的一点体会

在做这些基础处理时,我个人更倾向于使用字段定义清晰、时序比较稳定的实时数据源,这样可以少写很多防御性代码。
之前的一些项目里,我用过支持股票、外汇和加密资产实时推送的数据服务(例如 AllTick 的 WebSocket 行情),整体字段完整性和时间顺序比较稳定,对我来说更多是“省事”,而不是为了追求功能有多复杂。



vnpy 的启动流程总结

作为初学者,面对 vnpy 无所不包、博大精深的丰富内容,试图用图形对 vnpy 的运行流程做一个归纳。
不到之处,还请各位多多指正

description



2025年VeighNa回顾总结

发布于VeighNa社区公众号【vnpy-community】
 
原文作者:用Python的交易员 | 发布时间:2026-01-05
 
2025年已经结束,公众号又迎来了每年一次的回顾总结。这一年对于VeighNa项目而言意义非凡——自2015年3月发布以来,VeighNa已经走过了作为开源项目的第一个十年。在这段时间里,VeighNa的成长离不开广大社区用户的持续贡献,在此深表感谢!!!

按照往年的惯例,还是要对这一年的经历与变化做个回顾和总结。

 

整体数据

 

先来看看2025年VeighNa开源项目的整体数据(统计截止至2025年12月31日):

  • 用户数量
    • Github Star:35.1k(+8.7k)
    • Github Fork:10.6k(+1.7k)
    • Gitee Star:3k(+0.5k)
    • Gitee Fork:1.4k(+0.3k)
  • 项目开发
    • 版本迭代:4次(4.0.0 -> 4.3.0)
    • 交易接口:25个(减少3个)
    • 策略应用:16个(不变)
    • 数据库适配器:6个(减少4个)
    • 数据服务:9个(不变)
  • 社区交流

    • 论坛用户数量:72057(+19610)
    • 论坛帖子数量:50514(+13427)
    • 社区活动:8场(上海、成都、深圳)
    • 尊享卡专属活动:2场(线上)
    • 小班特训营:3场

     

用户数量

 

截至2025年底,VeighNa在GitHub上共收获35120个Star,Fork数量达到10608,相较于去年实现了大幅增长。除此之外,在国内代码托管平台Gitee上的VeighNa仓库也保持同步更新,目前已经累计获得2980个Star和1425个Fork

 

项目开发

 

2025年是VeighNa 4.0大版本的元年,标志着项目进入了一个全新的发展阶段。今年的开发重心主要放在了AI量化能力建设、Python版本升级、监管合规适配三个方面。

今年的主要更新内容包括:

一、面向AI量化策略的vnpy.alpha模块

4.0.0版本新增了面向AI量化策略的vnpy.alpha模块,为专业量化交易员提供一站式多因子机器学习(ML)策略开发、投研和实盘交易解决方案

description

  • dataset - 因子特征工程:专为ML算法训练优化设计,内置Alpha 158、Alpha 101等丰富的因子特征表达式计算引擎
  • model - 预测模型训练:集成Lasso、LightGBM、MLP等多种主流机器学习算法,提供标准化的模型开发模板
  • strategy - 策略投研开发:支持截面多标的和时序单标的两种策略类型
  • lab - 投研流程管理:集成数据管理、模型训练、信号生成和策略回测等完整工作流程

二、Python 3.13核心支持升级

VeighNa 4.0版本将核心支持升级到了Python 3.13。综合来看,从Python 3.10到3.13,CPython的性能经历了持续且显著的增长——Python 3.13的平均性能大约比Python 3.10快35-40%。

对于VeighNa用户而言,这意味着策略回测、实盘交易中涉及的大量纯Python计算逻辑都将运行得更快,从而降低延迟、提升策略执行效率。

同时,4.0版本也在软件工程层面进行了多项关键性改进:

  • 构建系统升级:全面采用基于pyproject.toml的社区标准构建体系
  • 跨平台编译支持:使用meson-python实现Windows、Linux和Mac的统一跨系统编译
  • 代码质量管理:引入ruff和mypy进行代码质量检查和静态类型检查
  • 开发环境管理:推荐使用uv工具作为开发环境管理方案
  • 日志系统优化:采用loguru替代原有内置的logging模块

三、RiskManager风控模块重构

4.2.0版本对RiskManager交易事前风控模块进行了重构升级,完整适配期货程序化交易监管新规:

  • 采用插件式设计,提供标准化风控规则开发模板RuleTemplate
  • 内置多种常用风控规则:活动委托数量上限、每日流控上限、重复报单检查、单笔委托规模上限、委托指令合法性监控
  • 支持Cython性能优化加速,将检查延迟降低到微秒级
  • 完善的风控信息通知机制:声音报警、气泡弹窗、日志输出

四、核心框架日志输出落地

为满足监管新规要求,4.2.0版本在日志记录方面也进行了全面增强:

  • 日志功能默认开启激活,程序运行过程中自动将日志记录落地输出至本地文件保存
  • 核心引擎MainEngine自动记录连接登录、行情订阅、委托下单及委托撤单等关键操作
  • 各大策略模块的日志自动注册并转发至核心日志引擎

     

社区交流

 

2025年共组织了8场VeighNa社区线下活动,举办地包括上海、深圳和成都。同时新增了2场尊享卡专属活动,以Live Coding实战内容为亮点,通过"授人以渔"的方式帮助核心用户将知识内化为技能。

专题小班特训营共举办了3场。上半年基于vnpy.alpha模块对【机器学习截面多因子策略】课程进行了升级优化,年底则推出了全新的【VeighNa量化AI智能体应用】特训营,围绕自研的vnag框架,系统讲解大模型接入、RAG知识库构建、Function Call等AI Agent核心能力,并通过CTP接口适配、CTA策略投研、因子挖掘三个实战案例,帮助学员掌握AI Agent在量化交易领域的落地应用。

 

至此,2025年的总结告一段落。接下来,我们将展望2026年的计划。如果你对VeighNa在过去一年有任何想法、吐槽,或者对新一年有什么建议和期望,欢迎在评论区留言告诉我们!

 


新消息

9个月前

统计

主题
10747
帖子
40656
已注册用户
75705
最新用户
在线用户
237
在线来宾用户
25272
© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】