发布于VeighNa社区公众号【vnpy-community】
原文作者:用Python的交易员 | 发布时间:2025-04-15
自2015年3月发布以来,VeighNa已经走过了作为开源项目的第一个十年。在这段时间里,VeighNa的成长离不开广大社区用户的持续贡献。在此,我们要向VeighNa社区的每一位成员表达最真挚的感谢!
上月底,VeighNa迎来了4.0.0版本的发布,这是VeighNa 4.0大版本的首次更新。此次更新的核心亮点包括全新推出的针对AI量化策略的vnpy.alpha子模块,并将核心支持版本升级至Python 3.13,大幅提升整体性能的同时,还进一步完善了VeighNa的软件工程架构。
鉴于本次更新涉及Python核心支持的升级(从3.10更新至3.13),因此无法通过VeighNa Station的自动更新功能完成升级。用户需要先卸载旧版的VeighNa Studio,然后重新下载并安装VeighNa Studio 4.0.0版本,下载链接:
https://download.vnpy.com/veighna_studio-4.0.0.exe
本次发布中新增了面向AI量化策略的vnpy.alpha模块,为专业量化交易员提供一站式多因子机器学习(ML)策略开发、投研和实盘交易解决方案:
📊dataset - 因子特征工程
💡 model - 预测模型训练
提供标准化的ML模型开发模板,大幅简化模型构建与训练流程
统一API接口设计,支持无缝切换不同算法进行性能对比测试
集成多种主流机器学习算法:
🤖 strategy - 策略投研开发
🔬 lab - 投研流程管理
📖 notebook - 量化投研Demo
vnpy.alpha模块的设计理念受到Qlib项目的启发,在保持易用性的同时提供强大的AI量化能力,特此向Qlib开发团队致以诚挚感谢!
由于截面多因子策略的开发涉及跨学科知识体系——包括金融理论建模、海量数据处理、以及机器学习算法实践,不少社区用户在阅读相关开源代码后仍反馈“无从下手、不知如何系统学习”。如果你也有类似困惑,我们强烈推荐即将于6月举办的2025年第二场小班特训营《机器学习截面多因子策略》,本次特训营将以实战为导向,从零搭建一套完整的机器学习因子策略开发流程,课程大纲及报名信息详见报名公告。
自Guido启动Shannon Plan项目以来,过去数年中每一个Python大版本的迭代都显著提升了解释器的执行性能。因此,在VeighNa 4.0版本中,我们将核心支持升级至最新的Python 3.13,并结合新引入的语言特性,对核心框架的代码进行了重构,以进一步提升系统的运行效率与代码可维护性。
同时,依据《2025年VeighNa项目计划》中所提出的路线,4.0版本也在软件工程层面进行了多项关键性改进,全面优化了项目的架构设计与开发流程,具体包括:
VeighNa 4.0核心框架在升级过程中始终坚持“兼容优先”的原则,尽可能保障现有插件模块的平稳过渡。除涉及C++ API封装的接口模块需进行重编译外,绝大多数功能模块可在无需修改的情况下直接使用。
但由于前述对 Python 3.13 的支持升级以及软件工程层面的结构性调整,部分模块仍需进行适配性更新。目前已完成适配并通过测试的模块包括:
其余模块的适配工作计划将在 4.1.0 版本中完成(预计于2025年5月发布)。与此同时,我们也将清理部分使用量较低、长期无人关注的模块,具体清单和说明可参见GitHub上的相关Issue。
新增
调整
修复
发布于VeighNa社区公众号【vnpy-community】
原文作者:VeighNa小助手 | 发布时间:2025-06-03
去年【社区活动尊享卡】的受欢迎程度大幅超出我们的预期,为了保证每场社区活动的交流质量,尊享卡已经变更为仅对部分专业交易员用户定向提供。对于参加活动较多的同学强烈推荐!购买请扫描二维码添加小助手咨询:
FinRL投研平台学习系列的社区活动迎来第四场,前三场在深圳、上海、成都的活动中,参与者的热情远远超出了我们的预期。今年年初,DeepSeek的现象级爆红使得人工智能(AI)和机器学习(ML)的概念更加深入人心。与此同时,量化领域的从业者们也正积极探索这些技术在投资和交易业务中的应用前景。
这里附上几张之前活动的照片:
列举一下目前整个系列活动计划的四场内容,分别是:
本次活动将于6月28日(周六)下午2:00至5:00在上海举办。普通报名仅支持线下参会,尊享卡持有者和Elite会员可通过线上直播参与。活动具体地址将在微信群中公布,请在报名成功后扫码加入社区活动群,以便获取相关信息!
FinRL的进阶开发应用
a. FinRL-Tutorials项目介绍
i. 基础入门部分
ii. 进阶应用部分
iii. 实践优化部分
b. 基于FinRL的量化投资组合配置
i. Stock Trading v.s. Portfolio Allocation
ii. 相似但不同的任务:Action、Reward、State
iii. Dow 30投资组合实践结果分析
c. 尝试中国A股市场的股票交易
i. 使用tushare下载准备数据
ii. A股交易强化学习任务运行
iii. 对比沪深300指数基准的绩效分析
d. 基于Ensemble Strategy的股票交易
i. 什么是机器学习中的Ensemble Strategy
ii. 和单一RL算法的绩效结果对比
PaperTrading仿真交易
a. 接入Alpaca仿真环境
i. 行情订阅获取
ii. 委托交易执行
b. 整体任务执行流程分解
i. 定义RL仿真交易任务
ii. 基于历史数据训练Agent
iii. Agent仿真环境接入运行
FinRL系列4期内容回顾总结
闭门交流环节
时间:6月28日 14:00-17:00
地点:上海(具体地址后续在微信群中通知)
报名费:99元(Elite会员免费参加)
报名方式:扫描下方二维码报名(报名后请扫码加入社区活动微信群获取参会地址)
本文记录了利用python包管理生态管理工具uv,从源码恢复vnpy的运行环境的全过程。
python包管理生态中存在多种工具,如pip、pip-tools、poetry、conda等,各自具备一定功能。
uv新一代python生态管理工具,它是 Astral 公司推出的一款基于Rust编写的Python包管理工具,旨在成为“Python的 Cargo”。
它提供了快速、可靠且易用的包管理体验,在性能、兼容性和功能上都有出色表现,为 Python项目的开发和管理带来了新的选择。
与其他 Python 中的包管理工具相比,uv 更像是一个全能选手,它的优势在于:
使用uv,也可以像 Node]s 或者 Rust 项目那样方便的管理依赖。
windows上安装uv,在cmd窗口中执行下面命令:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
注意:执行完毕后,会在C:\users\\<用户名称>\.local\bin目录下安装两个文件uv.exe和uvx.exe。
进入cmd或者powershell窗口,输入uv命令应该可以得到如下回应就表示uv已经安装成功了:
如果报告“uv不是内部或外部命令,也不是可运行的程序或批处理文件。”请打开“我的电脑”| “高级系统设置”| “环境变量”| “用户变量”| “Path”,把C:\users\\<用户名称>\.local\bin目录添加进去就可以。
三、下载vnpy 4.0源码
如图所示,从https://www.github.com下载到vnpy-master.zip源代码,解压后包含如下文件和目录:
输入下面的命令,限定python版本3.13,实际安装的是python 3.13.17。
uv python install 3.13
来到vnpy-master源码目录下,输入下面的目录创建虚拟环境目录,当前目录下会多出.venv目录,其中包含虚拟环境的配置文件。
cd d:\vnpy-master
uv venv
这一步是最关键的一步,我是好几天都无法通过这一步,最后在陈总——陈晓优的指导下才通过的。
先把ta-lib二进制包装了,注意这里必须先指明安装的源是https://pypi.vnpy.com。
uv pip install ta-lib --index=https://pypi.vnpy.com
uv pip install . --index=https://pypi.vnpy.com
只有vnpy核心模块是不够的,还需要根据自己的需要安装其他的模块才能够运行实际的交易:
可以合并也可以逐条执行如下命令:
uv add importlib_metadata pymysql
uv add vnpy_ctp vnpy_ctastrategy vnpy_ctabacktester vnpy_datamanager vnpy_mysql vnpy_rqdata
vnpy的源码中包含一个例子,位于example\verghna_trader子目录下,其中的run.py最具代表性,它演示了如何利用已经安装的核心和其他配套模块能够完成功能:
cd d:\vnpy-master\examples\veighna_trader\
uv run run.py
作为初学者,面对 vnpy 无所不包、博大精深的丰富内容,试图用图形对 vnpy 的运行流程做一个归纳。
不到之处,还请各位多多指正
发布于VeighNa社区公众号【vnpy-community】
原文作者:用Python的交易员 | 发布时间:2025-05-22
在2025年第一季度收尾的《机器学习研修系列 - 大模型量化AI应用实战》课程中,我们使用VeighNa平台上的量化投研业务作为应用场景和实践案例,结合深入浅出的讲解,帮助学员构建大模型应用开发的完整知识体系。
为了帮助大家更好地吸收课程精华,我们精心制作了这份【知识要点图】:
看完对课程感兴趣的话,请戳【课程传送门】。
本课程同样包含在【VeighNa Elite版】的会员权益范围内,其他会员权益包括:
感兴趣的同学请扫描下方二维码:
安装流程:
打开terminal-注意环境切换成 py37_vnpy,执行以下命令,安装需要的插件
pip install -r requirements.txt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
遇到安装失败的可以单独安装:
pip install PyQt5 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
备注:
如果需要在cmd 下使用 py37_vnpy 环境。
打开 CMD
运行: conda activate py37_vnpy
会切换到py37_vnpy环境下
我学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
发布于VeighNa社区公众号【vnpy-community】
原文作者:用Python的交易员 | 发布时间:2025-04-30
关于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作为数据服务。
目前支持的期货和期货期权数据范围包括:
交易所
数据类型
VeighNa社区的新用户可以发送邮件申请试用权限:
申请成功后会收到回复的邮件,其中包含以下信息:
访问以下网页下载安装MultiCharts 14(专策版):
https://www.multicharts.cn/download
点击网页中的【64位元】下载链接:
下载完成后运行安装,注意记住选择的安装目录,后面配置datafeed时需要用到。
完成后双击桌面的【MC14 专策版】图标启动。首次运行确认用户协议后,会看到登录对话框:
在其中填入会员账号和密码后点击【登录】按钮,经过一段初始化等待后看到如下图所示的注册对话框:
在其中填入MC注册名和MC注册码,勾选【记住密码】后点击【登录】按钮即可进入MultiCharts主界面。
此时桌面底部的任务栏中会出现两个进程,分别是:
首先需要安装vnpy_mcdata数据服务模块:
pip install vnpy_mcdata
然后修改全局配置中的数据服务相关字段(以datafeed开头):
注意username需要填入你的MultiCharts安装目录(结尾的APPs文件夹保持不变),并将路径中的 “\” 替换为 “/”。
重启VeighNa Trader并加载DataManager模块,即可测试从MultiCharts获取历史K线数据:
除了期货交易所合约外,MultiCharts还提供了多种连续合约的数据,以期货产品名称 + 标准后缀标识:
MultiCharts专策版数据服务的价格为2980元/年,试用结束后需要购买可以扫描下方二维码:
发布于VeighNa社区公众号【vnpy-community】
原文作者:用Python的交易员 | 发布时间:2025-01-25
还记得在《2024年VeighNa项目计划》中,我们对Python 3.12新增的【解释器级别GIL】充满期待,预期后续将会迎来多解释器支持的标准库(PEP 734 – Multiple Interpreters in the Stdlib),从而实现在Python单进程的程序中充分调用CPU多核心算力。
然而,2024年10月发布的Python 3.13中,社区选择了另一条优化方向,即推出了No-GIL模式(无全局解释器锁),以实现多线程并行运行,充分发挥CPU多核性能。但遗憾的是,该功能仍处于【实验性阶段】,且目前已有的社区测试数据显示,启用No-GIL模式后会显著降低单线程性能。
尽管多线程性能优化尚未完全成熟,从Python 3.10到3.13的三个大版本迭代中,Python解释器的性能已经得到了显著提升,采用的技术改进包括:引入自适应字节码、优化对象结构、提升内置函数效率,以及对垃圾回收与锁机制的持续优化等。
与此同时,Python语言也新增了多项特性以提升开发效率,例如:更精确的错误提示(3.11)、支持任意表达式的f-string(3.12)、以及更加友好的REPL交互式环境(3.13)等。
2025年我们将会启动VeighNa项目4.0大版本的开发工作。综合前文所述,4.0大版本将优先采用Python 3.13作为核心支持,待No-GIL进入【稳定阶段】后再考虑迁移到后续Python版本。
从软件工程的视角,当前的工作计划包括:
在量化交易功能方面,则是将延续VeighNa的传统,根据社区用户需求新增更多交易接口(gateway),并持续优化现有策略应用模块(app)。
长期以来,许多VeighNa社区用户反馈过在截面多因子策略(如股票日频选股)领域的需求与痛点。然而受限于我们团队本身缺乏这块的专业背景,此类功能模块一直未能开发完成。
2024年的【Qlib投研平台系列社区活动】成为了重要转折点。在社区同学们的支持下,我们深入探索并学习了行业领先截面多因子策略平台的整体业务逻辑。遗憾的是,原本计划将Qlib与VeighNa无缝整合以实现投研和交易一体化的解决方案,因为种种原因发现无法走通。
因此,我们结合团队自身在量化业务上的深入理解,研发了全新的AlphaStrategy模块,完整覆盖截面多因子策略投研的四大核心环节:
在即将发布的4.0大版本中,我们计划分阶段将AlphaStrategy模块整合到VeighNa核心框架中,使其成为vnpy.alpha关键子模块,为社区用户提供一站式的截面多因子策略投研解决方案。
从两年多前ChatGPT引发的全球热潮,到近一周DeepSeek-R1模型的横空出世,LLM大模型已经在众多行业掀起了生产力革命。我们团队对LLM的应用也从初期的简单问答交互,逐步发展到熟练掌握提示词工程,并深度融入日常工作流,大幅提升了开发效率。
2025年,我们计划推出更多LLM相关的分享内容和社区活动,帮助用户探索如何将这一新兴AI技术应用于量化交易领域,并借助大模型提升投研工作效率和突破技术瓶颈。
发布于VeighNa社区公众号【vnpy-community】
原文作者:用Python的交易员 | 发布时间:2025-04-28
想弄清楚MainEngine的工作原理?看完这张图秒懂:
实盘中BarGenerator如何将Tick数据合成为K线?一目了然:
事件驱动化回测引擎是怎么个工作流程?拆细了一步步学:
期货交易中的自动开平仓转换是怎么运行的?数据流转关系图如下:
想要使用RPC模块开发多进程分布式应用?先来弄懂底层通讯原理:
搞不清楚VeighNa框架的程序运行流程?三条逻辑线简洁明了:
想要扩展开发自己的底层交易接口?对照函数列表不遗漏:
4.0新增的多因子机器学习投研有哪些关键步骤?一张图看清楚:
关注AI大模型领域的同学,这两天估计没少被DeepWiki刷屏。如果你还没听过,DeepWiki是由Cognition公司(前段时间爆火的Devin开发团队)新近推出的“Github仓库百科全书”,前文中的所有图片均由其Agent分析VeighNa的Github仓库后自动生成。
尽管我本人就是VeighNa项目的核心维护者,但昨天看到DeepWiki上VeighNa页面(https://deepwiki.com/vnpy/vnpy)的时候,脑子还是直接被震撼到宕机了一把:居然有人能把VeighNa的核心架构信息,以这么清晰的百科和图表的方式呈现出来!!!
对于想要学习VeighNa核心架构的同学,DeepWiki真是一款能称得上【神器】的Agent工具:
需要注意的是:DeepWiki中的内容均由AI Agent分析代码库后直接生成,无法保证内容全部正确,在部分图表中确实发现了一些仍需优化的细节。
过去的一年里,我们看到VeighNa社区已经有越来越多的同学开始将各种AI Agent应用在自己的量化投研和交易中,但同时也有许多人依然停留在把AI(大模型)当作一个简单的聊天工具来使用。
当前互联网上关于AI Agent的文章已经多如牛毛,但是真正能落地到量化实战的则是屈指可数。因此我们决定推出这个新的【AI Agent量化实战】系列文章,希望能够帮助更多同学将这些新一代的生产力工具应用到自己的量化实战中。
系列历史文章列表:
AI Agent量化实战 1 - VeighNa AI - 你的专属Desk Quant
AI Agent量化实战 2 - VeighNa AI - 提问指南