RQAlpha · 米筐科技开源的 Python 算法交易与回测框架

RQAlpha:Python 量化回测框架,从安装数据到跑通策略

RQAlpha 把「数据获取、策略编写、回测撮合、模拟与实盘接入、结果分析」串成一条命令行工作流:pip install rqalpha 装框架,rqalpha download-bundle 取免费 A 股日线数据,rqalpha run -f 策略.py 出结果。RQAlpha 的扩展性是另一个重点——7 个系统 Mod 加上 Mod Hook 接口,撮合、风控、税费、分析输出都能换。

形态:Python 包 + CLI(非图形客户端)市场:A 股 / 期货(另有 HK 配置项)依据官方仓库与 docs(2026-09 核验)

项目来源

仓库页面显示约 6.8k Star、1.8k Fork、3,761 次提交;数字随社区变化,采集日期为 2026-09-11。

RQAlpha GitHub 仓库页面截图:ricequant/rqalpha 文件列表与 About 简介 查看源码
开源项目GitHub 6,759 Star(2026-09 核验)
最新版本release/6.3.0(2026-07-23)
Python 版本requires-python >=3.8
许可非商业 Apache 2.0,商用需授权
Version check

本页依据的版本、来源与实测状态

  • 依据版本release/6.3.0(2026-07-23 发布);仓库默认分支为 master
  • Python 要求requires-python >=3.8(分类器覆盖 3.8–3.14)
  • 本页官方来源README.rst、docs/source/intro/overview.rst、pyproject.toml
  • 证据等级官方文档与仓库文件(①②级)+ 本机实测(③级,限安装与运行链路)
  • 实测状态已在本机 venv 实测安装链路(含失败复现与绕行,见安装与数据页);策略层结论为官方文档与源码核验
  • 旧版本写法旧教程里的参数名与目录结构随大版本变化,跨版本比较结论前先核对
What it solves

RQAlpha 解决什么问题?

RQAlpha 不是「又一个指标库」,而是把策略研究流程里最耗时的几件事标准化。

把数据准备好这件事交出去

自建回测最先要解决的环节是数据:清洗、复权、停牌、交易日历。RQAlpha 用 download-bundle 直接给出可用的 A 股日线数据包(含股票、常用指数、场内基金、期货),每月月初更新。

把「回测=算净值」变成工程化流程

撮合引擎(当前 Bar 收盘价 / 下一 Bar 开盘价)、滑点、手续费乘数、税费模型、事前风控、基准与风险指标都在框架里,同一份策略换参数就能换运行方式。

让扩展不靠改源码

Mod 体系把股票/期货账户、模拟撮合、调度器、分析输出、税费等做成可启停模块;你还可以在 Mod 里加命令行参数、换数据源与事件源,而不是 fork 一份源码自己维护。

How it works

怎么用:五步跑通一次完整回测

下面的命令全部来自官方文档,替换策略文件与日期即可。

1. 装框架

pip install rqalpha(官方建议用虚拟环境),rqalpha version 验证。

2. 取数据

rqalpha download-bundle 下载免费 A 股日线数据包,默认落在 ~/.rqalpha。

3. 写策略

实现 init / handle_bar 等约定函数,用 history_bars 取数、用下单接口交易。

4. 跑回测

rqalpha run -f 策略.py -s 起 -e 止 --account stock 10万,加 -o 存结果、--plot 出图。

5. 看指标与调参

输出 pickle 里有年化、回撤、Sharpe 等摘要;用 --extra-vars 批量换参数扫参。

Modules

七块能力分别解决什么问题?一张表看懂

按官方文档与仓库结构整理;每一项都指向本页之外的具体页面。

能力面内容细节入口
安装与数据pip 安装、虚拟环境、bundle 下载与更新、bundle 路径、RQData 每日更新安装与数据
运行方式命令行、config.yml、策略内 __config__、run_file/run_code/run_func,参数优先级明确运行策略
策略 API约定函数、数据查询、股票/期货下单接口、context 与 portfolio策略 API
Mod 扩展7 个系统 Mod(账户/撮合/风控/税费/分析/调度/进度)、mod 命令、自定义命令行Mod 扩展
结果与指标pickle 输出结构、summary 风险指标、plot 曲线、report 与 Excel 模板回测指标
参数调优context_vars 与 --extra-vars、多进程批量回测、结果排序分析参数调优
许可与数据边界非商业 Apache 2.0、商用需授权、免费数据只到日线、分钟级需自备许可边界
先看边界再动手:RQAlpha 的许可是「个人与高校/科研等非商业用途按 Apache 2.0,商业用途需米筐科技授权」;免费数据只覆盖 A 股日线(含常用指数、场内基金、期货),分钟级回测需要自备数据源或在米筐平台进行。这两条决定了 RQAlpha 适合谁,详见许可边界页。
Setup and route

自建 RQAlpha 回测环境,还是用本机技能路线做研究?

两条路线的准备成本差别很大,先看你怎么用。

自建 RQAlpha适合要写策略、要读源码的量化开发者
装 Python 环境→pip 安装→下载数据包→写策略跑回测

换来的是完整可控的回测工程:撮合、风控、税费都能改,结果文件可编程分析;代价是要维护 Python 环境与数据更新。

本机技能路线适合先用一句话把研究问题问清楚
安装 EasyClaw→一句话提问

本机已核验的 quant-analyst 技能覆盖回测与风险指标建模方向、akshare-finance 覆盖 A 股行情数据,但与本框架没有已证实集成,不能视为 RQAlpha 的替代安装方式。

路线边界:RQAlpha 与 EasyClaw 无已证实集成——官方 README 与 docs 都没有提到这条技能路线,本机技能目录里也没有 RQAlpha 对应技能。本页并列介绍的是两条独立路线:RQAlpha 自建 Python 回测工程,以及本机已核验技能提供的免部署研究入口。两条路线的结果都只用于研究,不构成投资建议。
Demo

本机技能路线的便捷性演示

以下为免部署路线的真实对话截图(点击左右箭头翻页),用于对照「自建框架:装环境 + 下载数据 + 写策略」的准备成本。截图演示的是本机技能路线,不是 RQAlpha 自身的运行结果。这条路线与 RQAlpha 无已证实集成,仅供研究。

Who fits

RQAlpha 适合哪些人、不适合哪些人?

RQAlpha 的边界比功能更需要先确认。

适合你,如果…

你会写 Python、想做日线级别的 A 股或期货策略研究,需要自己控制撮合与风控细节,并且能接受「数据要自己下载更新、结果要自己分析」的工作方式。

不太适合,如果…

你只想快速查某个策略的历史表现,或者需要分钟级/多市场(港美股)数据。开源版不提供分钟数据源,港美股也不在免费数据范围内。

商业使用要特别注意

如果你所在机构要把它用在商业产品或内部业务系统里,需要先取得米筐科技授权(README 给出联系邮箱 public@ricequant.com),不能直接按 Apache 2.0 商用。

你的目标建议先看为什么从这里开始
先确认能不能用、怎么装安装与数据pip 安装四步、数据包的三条获取路径,以及安装与数据排查表
想知道策略怎么写、能下什么单策略 API四个约定函数、取数与下单接口速查,以及常见用法错误对照
想读懂回测结果文件回测指标summary 字段逐项含义,以及结果文件的几种读法与出图方式
想做批量参数扫描参数调优参数注入链路与批量回测常见坑,先看再跑能省掉一轮返工
商用或对外交付前确认边界许可边界非商业 Apache 2.0、商用需米筐授权,以及免费数据的覆盖范围
Docs map

官方文档地图:想查什么,该去哪个文件?

RQAlpha 的官方文档以 docs/source 下的 rst 源码形式随仓库维护(本站整理时的采集版本:2026-09-11)。下表「官方小节」一列按原文标题拼写,便于你在官方仓库里直接检索。

文档文件讲了什么(官方小节)对应本站页面适用场景与注意点
intro/overview.rst介绍、特点、安装、数据获取、生成样例策略、运行回测、绘制回测结果、分析结果本页(概览)想先看全流程时读它;内容是概览,参数细节不在这里
intro/install.rst安装前、安装、获取回测数据、回测数据的更新、获取配置文件、FAQ(line-profiler、Matplotlib、Mac 获取回测数据、Mac 中文字体、策略样例路径)安装与数据装之前用它对齐版本与环境;FAQ 五条是排错建议先看的地方
intro/detail_install.rstAnaconda 虚拟环境搭建(For GNU/Linux、conda 虚拟环境)安装与数据只用 pip 加 venv 的人可以不看;conda 用户按它搭环境
intro/tutorial.rst10 分钟教程:策略运行流程、策略编写流程策略 API首次写策略前读;给的是最小可运行流程,不是接口全集
intro/run_algorithm.rst多种方式运行策略:命令行运行(命令行参数、系统内置 Mod Option 扩展、传递 Mod 参数、通过 Mod 自定义扩展命令行参数)、使用配置文件运行策略、策略内配置参数信息、通过引用 RQAlpha 库在代码中运行策略(run_file / run_code / run_func)运行策略参数不生效时对照优先级看它;Mod 参数的写法只在这份文档里
intro/optimizing_parameters.rst参数调优:通过函数调用传递参数、通过命令行传递参数、分析批量回测结果参数调优要做参数扫描时读;它讲怎么传参与汇总,不给推荐参数
intro/examples.rst策略示例:第一个策略-买入&持有、Golden Cross 算法示例、单股票 MACD 算法示例、多股票 RSI 算法示例、海龟交易系统、股指期货 MACD 日回测、商品期货跨品种配对交易策略 API、运行策略不知从何下手时先抄示例;示例是用法演示,不代表策略有效性
intro/under_ide.rst通过 PyCharm 运行/调试:下载并搭建 PyCharm 环境、配置解释器、配置命令行位置、运行测试运行策略习惯用 IDE 断点调试的人用;纯命令行流程可跳过
api/base_api.rst基础 API:约定函数(init、handle_bar、handle_tick、open_auction、before_trading、after_trading)、交易接口、持仓查询接口、数据查询接口、其他接口、scheduler 定时器、对象模型与枚举常量策略 API查函数签名与参数以它为准;枚举常量名(如 SIDE、ORDER_STATUS)只在这里有
api/extend_api.rst扩展 API:行情(get_price、get_price_change_rate)、股票(get_split、get_factor、get_industry 等)、指数(index_components、index_weights)、期货(futures.get_dominant 等)、宏观经济(econ.get_reserve_ratio、get_money_supply)许可与数据边界、策略 API这些接口依赖数据服务权限,免费数据包不一定覆盖;先确认数据来源再写
development/mod.rst创建您的第一个 Mod(开发环境搭建、创建 Mod 项目、自定义 Portfolio 初始化、PyPI 方式安装、激活以及使用)、扩展 RQAlpha API、发布独立 PyPI 包作为 ModMod 扩展要改账户、撮合或分析行为时读;它给的是从本地开发到发布 PyPI 包的完整路径
development/data_source.rst扩展数据源:增加自有数据源(策略中直接读取自有数据、在策略中 import 自定义模块、扩展 API 实现自有数据的读取)、替换已有数据源(基础数据、行情数据——五十行代码接入 tushare 行情数据)许可与数据边界想接分钟级或自有数据时读;它示范了替换行情数据的做法
development/event_source.rst扩展事件源:事件源分类、事件源的订阅及使用、事件源的扩展运行策略、Mod 扩展要接实盘或自定义事件流时读;它决定「什么时候触发策略」
development/basic_concept.rst基本概念:接口清单(Mod、Position、StrategyLoader、EventSource、DataSource、Broker、PriceBoarder、PersistProvider、AbstractFrontendValidator、AbstractTransactionCostDecider)Mod 扩展读源码前先看它,能对上「哪个部件负责哪件事」
使用这份地图的三个建议:①想查 API 签名与参数,去 base_api.rst;想确认某个数据接口能不能用,去 extend_api.rst,但要先确认你的数据权限覆盖到它。②安装与数据报错先看 install.rst 的 FAQ 五条,覆盖了 line-profiler、Matplotlib 后端、macOS 取数与字体、策略样例路径这些高频问题。③文档源码在仓库 docs/source 下随版本走,本站页码与官方小节逐一对应,版本升级后若小节名变化,以官方仓库最新原文为准。
Facts

项目事实速查:版本、依赖与许可各是什么?

下表的每一项都能指到官方仓库文件或 GitHub 公开 API 的返回值,采集时间为 2026-09-11;数字会随项目进展变化,引用时请注明采集日期。

项目事实来源注意点
仓库ricequant/rqalpha,创建于 2016-07-20,默认分支 master,最近一次提交 2026-09-08GitHub 公开 API(采集 2026-09-11)维护十余年的项目;主仓有提交不等于 PyPI 已同步,以版本号为准
社区热度6,759 Star、1,793 Fork、412 订阅、32 个开放 issueGitHub 公开 API(采集 2026-09-11)只代表采集时刻,随社区活动变化
最新版本release/6.3.0,2026-07-23 发布;前一版 6.2.1 发布于 2026-07-10GitHub Releases(采集 2026-09-11)节奏大致每月一版,升级前看官方 release 说明
版本号怎么来由 setuptools_scm 从 tag 推导,tag 规则 ^release/(?P<version>.*)$,写入 rqalpha/_version.pypyproject.toml装到手的版本号来自发布 tag,不是仓库任意提交
Python 支持requires-python >=3.8,分类器覆盖 3.8 到 3.14pyproject.toml不同 Python 大版本对应不同 numpy 区间,见下行
依赖区间(关键三处)numpy <2.0.0(Python ≤3.11)与 numpy >=2.0.0(Python ≥3.12);pandas >=1.0.5, <3.0.0pyproject.toml手写 requirements 时别把 numpy 钉错区间,容易装完导入失败
数据层依赖h5py、hdf5pluginpyproject.toml数据包是 HDF5 格式,缺这两个读 bundle 会失败
指标与出图rqrisk >=1.0.10、matplotlib >=3.1.0、tabulate、openpyxlpyproject.toml风险指标、收益曲线、Excel 报告分别依赖它们
命令行入口rqalpha = rqalpha.__main__:entry_pointpyproject.toml装完直接敲 rqalpha,不需要 python -m
可选性能分析pip install rqalpha[profiler],对应依赖 line_profilerpyproject.toml默认安装不含它;Windows 下还需要编译工具链
系统 Mod默认启用 7 个:sys_accounts、sys_simulation、sys_progress、sys_risk、sys_analyser、sys_scheduler、sys_transaction_costrqalpha/mod_config.yml该文件首行标注不要直接编辑,改配置走配置项而不是改它
许可双轨pyproject.toml 写 Apache-2.0,LICENSE 正文区分非商业与商业用途;GitHub API 的 license 字段是 Other(NOASSERTION)pyproject.toml、LICENSE、GitHub 公开 API只看元数据会误判成可随意商用,商用前务必走授权流程
免费数据范围日级别:股票、常用指数、场内基金、期货;每月月初更新一次官方 install 文档分钟级不提供,需要 RQData 或自备数据源
官方主页rqalpha.io(仓库 homepage 字段)GitHub 公开 API(采集 2026-09-11)文档站与仓库 docs/source 同源,细节以仓库那版为准
怎么用这张表:选型与踩坑前先核三件事——Python 版本对应的 numpy 区间、许可属于非商业还是商业、以及你需要的行情频率是否在免费数据范围内。这三条任意一条不匹配,后面写策略的功夫都会白费。
Product map

先分清五件事:框架、平台、数据服务、商业产品、技能路线

搜「RQAlpha 收费吗」「RQAlpha 和 RQData 区别」的人,卡住的往往不是功能,而是把这几个名字当成了同一个东西。下表只做定位,细节与证据等级在许可边界页。

名称一句话定位细节在哪
RQAlpha开源 Python 回测框架,跑在你自己的机器上安装与数据
米筐平台米筐的在线研究/回测/模拟环境,同一批策略可用许可与数据边界
RQData(rqdatac)米筐的授权数据服务,负责分钟级与每日更新许可与数据边界
商业版产品(RQPro / Alpha Plus)与开源版同源但不同许可范围的商业交付许可与数据边界(本站标为待核验)
本机技能路线第三方 AI 助手的技能路线,与本框架无已证实集成路线对比(见顶部导航「对比」)
一句话结论:开源框架下载即用但有许可边界,数据要单独确认来源,在线平台与商业产品是另外的产品线。拿不准时先看许可边界页的四条边界说明。
Evidence

本站的结论分几级证据?哪一条是实测?

这一站的价值不在「把官方文档翻成中文」,而在于写清每条结论是怎么来的。本站按五级标注证据,并把没跑过的部分说出来。

等级内容类型来源本站现状
①官方功能框架已有的能力与参数官方 README、docs/source 原文、仓库配置文件全站主结论建立在这一级
②源码已核验字段、默认值、接口清单、版本变更仓库文件(pyproject.toml、LICENSE、Mod 配置、CHANGELOG)关键结论逐条对应到文件
③本站实测命令是否可用、安装能否复现、环境读数本站虚拟环境实跑,含失败复现与报错原文**仅覆盖安装与运行链路**:实测发现当前工具链下直接安装会失败,过程和绕行方向记录在 安装与数据
④教程扩展本站整理的排查表、决策表、对照表在①②③基础上重组,逐条标注依据用于减少试错,不代替官方文档
⑤待核验商业产品条款、未跑过的策略层结论暂无本机或官方原文证据页面内明确标注「待核验」,不作为选型依据
没有做的那部分,写在明面上:本站没有在本机跑通策略级回测(安装链路的实测结果与报错原文都在安装与数据页),也没有对任何策略的收益能力做验证。所有内容用于项目研究与技术选型判断,不构成投资建议;RQAlpha 与 EasyClaw 无已证实集成。
FAQ

常见问题

RQAlpha 是什么?和米筐平台什么关系?

RQAlpha 是深圳米筐科技开源的 Python 算法交易与回测框架(框架本体在本地运行),米筐平台的在线回测/模拟环境是另一套产品;官方文档说明策略可以同时在米筐平台上回测与模拟。两者的细节以官方 README 与文档为准。

RQAlpha 免费吗?

框架本身可自由获取,但许可有边界:非商业用途(个人非商业目的,或高校/研究所等非营利机构用于教育科研)按 Apache License 2.0;商业用途需经米筐科技授权。免费数据方面,官方提供 A 股日线(含常用指数、场内基金、期货)数据包,每月月初更新。

不会写 Python 能用吗?

不方便。本项目的使用方式就是写策略脚本 + 命令行运行,需要基本 Python 能力(函数、字典、pandas 常识)。若只想用自然语言做研究,可看对比页列的免部署技能路线。

能回测分钟级行情吗?

框架支持 1m 频率配置,但官方文档明确:开源版本不提供对应的分钟级数据源,需要自己对接数据层(docs 的 data_source / event_source 章节),或使用 RQData 数据服务、在米筐平台上进行。

支持哪些品种?

官方账号模型提供 stock(股票)与 future(期货)两类账户,可同时配置(例如股票 10 万 + 期货 2 万),数据包还包含常用指数与场内基金;市场配置支持 CN 与 HK,但开 HK 时无法交易 A 股标的。

能在 EasyClaw 里一键安装 RQAlpha 吗?

没有已证实集成。RQAlpha 是独立的 Python 包(走 PyPI 安装),本机技能目录中也没有对应技能;两者是并列的两条路线,详见对比页。

先决定你的使用方式

要写策略、要控制撮合与风控细节,从安装与数据页开始;只想先问清研究问题,看对比页再决定。