量化交易入门开源项目选型指南
前言
本文整理一份量化入门开源项目清单,针对新手如何挑选合适框架。
> 重要提醒:所有开源项目仅用于学习研究,不构成任何投资建议。回测结果不代表实盘收益,自动交易风险极高。
开发环境准备
Python版本推荐
根据 AKShare 官方最新文档:AKShare 仅支持 64位操作系统,Python >=3.11,官方推荐3.13.x。 考虑整套量化工具链兼容性(akshare / qlib / vnpy / quantstats)综合选择:
- 首选:Python 3.11(满足AKShare最低版本要求,同时兼容vnpy、qlib等库,学习最稳妥)
- 备选:Python 3.13(仅单独使用akshare,不安装vnpy场景)
- 不推荐:Python3.10 及更低版本(新版AKShare不再支持);3.12 可尝试但部分量化依赖适配不完善
> 不要直接使用操作系统自带Python,必须使用虚拟环境隔离包依赖,防止版本冲突。
使用Miniconda搭建学习环境
Miniconda相比完整Anaconda体积更小,适合学习研究;同时提供二进制包,减少编译报错。
步骤1:安装Miniconda
- 下载Miniconda对应系统64位版本,不要安装Anaconda完整版。
- Windows 使用 Anaconda Prompt;Linux/macOS 使用普通终端。
步骤2:配置国内镜像源(加速下载)
| |
步骤3:创建并激活独立虚拟环境 quant_ml
quant_ml 是自定义的环境名称:quant代表量化,ml代表机器学习,仅作为标识,名称可以自行修改。
| |
终端提示符出现 (quant_ml),说明已经进入隔离环境。
步骤4:安装基础库与量化库
conda优先安装科学计算基础包;量化开源包conda源更新慢,使用pip安装。
> AKShare国内安装用清华源加速, 不要加–user参数 ,必须在已激活虚拟环境内安装。
| |
AKShare 安装避坑要点
- 操作系统必须为64位,32位系统无法使用AKShare
- 项目文件名、文件夹名称**不能命名为 akshare**,会造成库导入冲突
- 安装超时可增加超时参数:`pip –default-timeout=100 install -U akshare`
- AKShare官方还推荐uv虚拟环境作为替代方案,适合熟悉现代Python工具的用户;新手优先Miniconda
Jupyter Lab 是否推荐作为入门工具
Jupyter Lab 是量化学习阶段**强烈推荐**的开发工具,适合新手。
优点:
- 分段执行代码,方便调试数据、查看中间K线结果,不用一次性跑完整个脚本
- 支持在代码块之间插入文字说明、公式、绘图,非常适合边写代码边做笔记
- 绘图直接内嵌在页面,看K线、收益曲线、回撤图很直观
局限:
- 不适合直接写长时间运行的生产脚本、高频实盘交易程序
- 大型项目代码组织不如IDE(VSCode、Emacs)方便
> 建议学习阶段用 Jupyter Lab 做探索、回测实验;代码成熟后,迁移到独立Python脚本。
步骤5:校验环境是否安装成功
| |
步骤6:注册Jupyter内核,启动Jupyter Lab
| |
浏览器访问 http://localhost:8888,新建Notebook,内核选择 Python (quant_ml)。
Conda常用维护命令
| |
常见环境坑点
- 导入模块提示 ModuleNotFoundError:确认已经 `conda activate quant_ml`
- Jupyter运行包版本不对:需要注册内核,然后在Notebook切换内核
- 依赖版本冲突:优先直接删除环境重建,不要反复调整包版本。
- akshare导入报错:检查当前目录是否存在 akshare.py 文件或者 akshare 文件夹。
核心结论
新手入门优先顺序:
akshare → OpenBB → quantstats → qlib
不要一开始就碰 TradingAgents / freqtrade / nautilus_trader / Lean / FinRL / vnpy / RD-Agent / Abu。 区分两种目标:
- 目标A:学习量化基础,获取A股/期货数据、写简单策略、指标可视化(绝大多数入门者)
- 目标B:搭建自动交易机器人、LLM交易、强化学习策略、实盘对接、AI自动因子挖掘(门槛高,不适合入门)
项目清单详解
akshare(国内市场首选入门)
- 仓库:https://github.com/akfamily/akshare
- 文档:https://akshare.akfamily.xyz/index.html
- 定位:国内金融数据接口库,覆盖A股、期货、基金、可转债
优点:
- Python 实现,中文文档友好,部署简单
- 无需自建数据库,一行代码获取K线、财务数据
- 适合写第一个回测脚本,实现均线、MACD等指标计算
- 缺点:仅负责数据获取,没有内置回测引擎,回测逻辑需要自行实现,可搭配 quantstats 使用
- 适合:零基础,研究A股/国内品种
- 环境要求:64位系统,Python >=3.11,推荐3.11用于整套量化工具链
OpenBB(通用金融数据终端)
- 仓库:https://github.com/OpenBB-finance/OpenBB
- 定位:开源金融终端,股票/美股/加密/宏观数据,支持 CLI + Python SDK
- 优点:数据源丰富,自带分析工具,开箱可视化
- 缺点:A股支持不如 akshare,包体积较重
- 适合:同时研究海外市场,喜欢终端交互方式
quantstats(绩效分析配套库,不可独立使用)
- 仓库:https://github.com/ranaroussi/quantstats
- 定位:量化组合绩效分析库
- 作用:输入策略收益序列,自动计算夏普比率、最大回撤,生成可视化报告
- 使用方式:搭配 akshare / OpenBB 使用
- 典型链路:akshare取K线 → 手写策略生成每日收益 → quantstats生成回测报告
qlib(微软AI量化平台,进阶入门)
- 仓库:https://github.com/microsoft/qlib
- 定位:一站式量化研究平台:数据处理、因子挖掘、模型训练、回测
- 优点:因子研究、机器学习量化成熟,工业级设计;原生支持XGBoost、LSTM等模型
- 缺点:学习曲线陡峭,需要理解因子、handler等概念;A股数据需要额外配置
- 适合:已经掌握基础Python,下一步做因子量化、机器学习选股
vnpy(VeighNa)(国内实盘交易框架,高阶)
- 仓库:https://github.com/vnpy/vnpy
- 定位:事件驱动架构的Python算法交易框架,面向仿真、实盘交易
- 优点:40+国内外交易网关接口;内置CTA回测模块、参数优化;支持MongoDB历史数据存储
- 缺点:重交易执行,轻AI投研;环境配置复杂,实盘涉及资金、接口合规风险;高版本Python(3.13)编译容易报错
- 适合:已经学会量化研究,需要对接国内期货、股票仿真/实盘的开发者
- 不适合:零基础入门学习量化理论
RD-Agent(微软AI因子自动迭代Agent,前沿实验)
- 仓库:https://github.com/microsoft/RD-Agent
- 定位:研究-开发闭环智能Agent,自动生成、验证量化因子,常与qlib搭配
- 优点:实现“数据-想法-代码-回测”自动化链路;策略衰减时自动迭代新因子
- 缺点:属于前沿实验项目,部署配置复杂,资源消耗大
- 适合:高阶量化研究者,做AI自动化投研实验
Abu(多市场技术分析量化框架)
- 仓库:https://github.com/bbfamily/abu
- 定位:融合传统技术分析与AI策略演化的多市场回测框架
- 优点:支持A股、港股、美股、期货、加密货币;内置缠论、波浪等大量技术模型;遗传算法演化生成大量衍生策略
- 缺点:社区活跃度较低,文档维护一般
- 适合:对传统技术分析回测感兴趣的学习者
不推荐新手直接上手的项目
- QuantConnect Lean:专业级多资产引擎,C#为主,体系庞大。网页回测更容易上手,本地部署不适合入门。
- freqtrade:加密货币自动交易机器人,自带回测与实盘。面向机器人交易,不是学习量化理论,加密市场风险巨大。
- nautilus_trader:Rust底层高性能交易引擎,面向低延迟实盘,API复杂。
- TradingAgents:多Agent LLM金融交易框架,前沿Demo项目。LLM交易可靠性差,适合玩demo,不适合学习量化底层原理。
- stockbot-on-groq:LLM股票机器人,AI演示项目,不适合基础量化学习。
- FinRL:深度强化学习DRL交易框架。金融环境噪声大,极易过拟合;建议基础量化学完之后再尝试。
推荐入门学习路线
- 环境准备:按照上文使用Miniconda搭建 quant_ml 环境,Jupyter Lab作为探索实验工具
- 第一步:使用 akshare 获取A股K线,熟悉时间序列、K线、技术指标计算
- 第二步:手写简单策略(例如双均线策略),实现简易回测
- 第三步:接入 quantstats,自动生成回测指标、回撤曲线
- 第四步(可选进阶):学习 qlib,开展因子挖掘、机器学习选股
- 高阶:vnpy(实盘对接) / Abu(技术分析回测) / RD-Agent(AI因子实验) / Lean / nautilus_trader(算法实盘)、FinRL(强化学习)、TradingAgents(LLM金融实验)
入门示例:akshare 双均线策略演示
> 注意:`ak.stock_zh_a_hist`(东方财富数据源)在部分网络环境会出现 `RemoteDisconnected` 连接中断;下面示例改用新浪日线数据源 `ak.stock_zh_a_daily` 规避该网络问题,仅支持日线数据。 > 标的编码规则:上交所股票前缀 `sh`,深交所前缀 `sz`;如茅台 `sh600519`,宁德时代 `sz300750`。
复制下面代码块到 Jupyter Notebook 直接运行,完成一次完整小回测。
| |
两条可选学习路线
- A股小白路线:akshare + pandas + quantstats(Jupyter Lab 做实验)
- 海外金融爱好者路线:OpenBB
附录1:2026-06-01 Top10项目列表(Stars ≥500)
- TradingAgents: 多代理LLM金融交易框架 ~12k⭐ https://github.com/TauricResearch/TradingAgents
- OpenBB: 面向分析师和量化投资者的金融数据平台 10k⭐ https://github.com/OpenBB-finance/OpenBB
- freqtrade: 开源加密货币交易机器人 9k⭐ https://github.com/freqtrade/freqtrade
- qlib: 微软AI量化投资平台 8k⭐ https://github.com/microsoft/qlib
- nautilus_trader: Rust核心高性能算法交易平台 6k⭐ https://github.com/nautechsystems/nautilus_trader
- stockbot-on-groq: Groq LLM AI股票交易机器人 5k⭐ https://github.com/bmos/stockbot-on-groq
- QuantConnect Lean: 开源算法交易引擎 5k⭐ https://github.com/QuantConnect/Lean
- FinRL: 深度强化学习金融量化框架 4k⭐ https://github.com/AI4Finance-Foundation/FinRL
- quantstats: 量化投资组合分析工具库 3k⭐ https://github.com/ranaroussi/quantstats
- akshare: 中国金融市场数据接口库 ~3k⭐ https://github.com/akfamily/akshare
附录2:补充CSDN文章4个AI量化开源工具
- qlib:微软AI量化全流程平台 https://github.com/microsoft/qlib
- vnpy(VeighNa):国内事件驱动实盘交易框架 https://github.com/vnpy/vnpy
- RD-Agent:微软自动因子挖掘Agent https://github.com/microsoft/RD-Agent
- Abu:多市场技术分析回测框架 https://github.com/bbfamily/abu