qlib
Qlib 是由微软推出的开源 AI 量化投资平台,旨在利用人工智能技术全面赋能量化研究,帮助用户从策略构思顺畅过渡到生产落地。它主要解决了传统量化开发中流程割裂、模型复现难以及自动化程度低的痛点,提供了一套涵盖数据处理、模型训练、回测分析及实盘部署的一站式解决方案。
Qlib 非常适合量化研究员、数据科学家以及金融领域的开发者使用。无论是希望探索前沿算法的学术研究者,还是致力于构建稳健交易系统的从业者,都能从中获益。其核心亮点在于支持多样化的机器学习建模范式,包括监督学习、市场动态建模及强化学习(RL)。尤为值得一提的是,Qlib 近期集成了基于大语言模型的 RD-Agent 组件,能够自动执行因子挖掘与模型优化任务,实现了研发流程的智能化演进。这种“数据驱动 +AI 自动化”的组合,显著降低了量化策略的研发门槛,让使用者能更专注于核心逻辑的创新,而非繁琐的工程实现。
使用场景
某中型量化私募的研究团队正试图从海量财经研报和行情数据中挖掘新的 Alpha 因子,以优化其现有的股票选股策略。
没有 qlib 时
- 手工流程繁琐:研究员需手动清洗数据、编写重复的代码来测试不同机器学习模型,从想法到验证往往耗时数周。
- 实验难以复现:缺乏统一的实验管理框架,不同成员使用的数据处理逻辑不一致,导致策略回测结果无法横向对比或复现。
- 因子挖掘效率低:面对成千上万的潜在因子组合,依靠人工经验试错,难以系统性地发现非线性规律,容易错过最佳投资时机。
- 生产部署鸿沟:研究环境的代码与生产交易系统割裂,将验证成功的策略转化为实盘代码需要大量的重构工作,极易引入错误。
使用 qlib 后
- 全流程自动化:利用 qlib 内置的流水线机制,一键完成数据加载、模型训练(支持监督学习、RL 等)到回测评估,将研发周期缩短至几天。
- 标准化实验管理:通过统一的配置模板记录每次实验的参数与结果,确保所有研究在同一基准下进行,轻松实现结果复现与对比。
- 智能因子挖掘:结合集成的 RD-Agent,利用大模型自动从研报中提取特征并生成因子,高效探索传统方法难以触及的数据模式。
- 研产无缝衔接:qlib 支持从研究直接导出生产级代码,消除了研究与实盘之间的技术壁垒,让策略能快速上线交易。
qlib 通过构建标准化的 AI 量化研发闭环,将团队从重复的工程劳动中解放出来,使其能专注于核心策略创新并加速落地。
运行环境要求
- Linux
- Windows
- macOS
未说明
未说明

快速开始
:newspaper: 最新动态! :sparkling_heart:
近期发布的新功能
重磅推出
:基于大语言模型的工业数据驱动研发自主进化智能体
我们非常高兴地宣布推出RD-Agent📢,这是一款强大的工具,可支持量化投资研发中的自动化因子挖掘与模型优化。
RD-Agent现已在GitHub上开放下载,欢迎各位给它点个赞🌟!
如需了解更多,请访问我们的♾️演示页面。在这里,您将找到中英双语的演示视频,帮助您更好地理解RD-Agent的应用场景及使用方法。
我们为您准备了多段演示视频:
| 场景 | 英文演示视频 | 中文演示视频 |
|---|---|---|
| 量化因子挖掘 | 链接 | 链接 |
| 从报告中挖掘量化因子 | 链接 | 链接 |
| 量化模型优化 | 链接 | 链接 |
@misc{li2025rdagentquant,
title={R\&D-Agent-Quant: 一种以数据为中心的因子与模型联合优化的多智能体框架},
author={李远特、杨旭、杨晓、徐敏睿、王希森、刘伟青、卞江},
year={2025},
eprint={2505.15155},
archivePrefix={arXiv},
primaryClass={cs.AI}
}

| 功能 | 状态 |
|---|---|
| R&D-Agent-Quant 已发布 | 将 R&D-Agent 应用于 Qlib 进行量化交易 |
| 用于端到端学习的 BPQP | 📈 即将推出!(正在评审中) |
| 🔥LLM驱动的自动量化工厂🔥 | 🚀 于2024年8月8日在♾️RD-Agent中发布 |
| KRNN 和 Sandwich 模型 | :chart_with_upwards_trend: 已发布于2023年5月26日 |
| 发布 Qlib v0.9.0 | :octocat: 已发布于2022年12月9日 |
| 强化学习框架 | :hammer: :chart_with_upwards_trend: 于2022年11月10日发布。#1332, #1322, #1316,#1299,#1263, #1244, #1169, #1125, #1076 |
| HIST 和 IGMTF 模型 | :chart_with_upwards_trend: 已发布于2022年4月10日 |
| Qlib 笔记本教程 | 📖 已发布于2022年4月7日 |
| Ibovespa 指数数据 | :rice: 已发布于2022年4月6日 |
| 时间点数据库 | :hammer: 已发布于2022年3月10日 |
| Arctic 提供商后端及订单簿数据示例 | :hammer: 已发布于2022年1月17日 |
| 基于元学习的框架与 DDG-DA | :chart_with_upwards_trend: :hammer: 已发布于2022年1月10日 |
| 基于规划的投资组合优化 | :hammer: 已发布于2021年12月28日 |
| 发布 Qlib v0.8.0 | :octocat: 已发布于2021年12月8日 |
| ADD 模型 | :chart_with_upwards_trend: 已发布于2021年11月22日 |
| ADARNN 模型 | :chart_with_upwards_trend: 已发布于2021年11月14日 |
| TCN 模型 | :chart_with_upwards_trend: 已发布于2021年11月4日 |
| 嵌套决策框架 | :hammer: 已发布于2021年10月1日。示例和文档 |
| 时间路由适配器 (TRA) | :chart_with_upwards_trend: 已发布于2021年7月30日 |
| Transformer 和 Localformer | :chart_with_upwards_trend: 已发布于2021年7月22日 |
| 发布 Qlib v0.7.0 | :octocat: 已发布于2021年7月12日 |
| TCTS 模型 | :chart_with_upwards_trend: 已发布于2021年7月1日 |
| 在线服务与模型自动滚动 | :hammer: 已发布于2021年5月17日 |
| DoubleEnsemble 模型 | :chart_with_upwards_trend: 已发布于2021年3月2日 |
| 高频数据处理示例 | :hammer: 已发布于2021年2月5日 |
| 高频交易示例 | :chart_with_upwards_trend: 部分代码已发布于2021年1月28日 |
| 高频数据(1分钟) | :rice: 已发布于2021年1月27日 |
| Tabnet 模型 | :chart_with_upwards_trend: 已发布于2021年1月22日 |
此处未列出2021年之前发布的功能。
Qlib 是一个开源、以 AI 为导向的量化投资平台,旨在通过 AI 技术释放潜力、赋能研究并创造价值,从量化投资理念的探索到实际应用的落地。Qlib 支持多种机器学习建模范式,包括监督学习、市场动态建模和强化学习。
越来越多的 SOTA 量化研究工作/论文正通过 Qlib 发布,以协作解决量化投资中的关键挑战。例如:1) 利用监督学习从丰富且异构的金融数据中挖掘市场的复杂非线性模式;2) 使用自适应概念漂移技术对金融市场进行动态建模;3) 通过强化学习对连续投资决策建模,帮助投资者优化交易策略。
它涵盖了完整的机器学习流程,包括数据处理、模型训练和回测;并覆盖了量化投资的整个链条:阿尔法挖掘、风险建模、投资组合优化和订单执行。更多详情请参阅我们的论文《Qlib:一个以AI为导向的量化投资平台》(https://arxiv.org/abs/2009.11189)。
| 框架、教程、数据与DevOps | 量化研究中的主要挑战与解决方案 |
|---|---|
|
|
|
计划
正在开发的新功能(按预计发布时间排序)。 您对这些功能的反馈非常重要。
Qlib框架
Qlib的高层框架如上所示(用户可以在深入了解细节时查看Qlib设计的详细框架)。各个组件被设计为松耦合的模块,每个组件都可以独立使用。 Qlib提供强大的基础设施来支持量化研究。数据始终是重要的一部分。一个强大的学习框架旨在支持多种学习范式(例如强化学习、监督学习)以及不同层次的模式(例如市场动态建模)。通过建模市场,交易策略将生成可执行的交易决策。不同层次或粒度的多个交易策略和执行器可以被嵌套以优化并协同运行。最后,将提供全面的分析,并且该模型可以以低成本的方式被在线部署。
快速入门
本快速入门指南旨在展示:
- 使用_Qlib_构建完整的量化研究流程并尝试您的想法非常容易。
- 即使使用公开数据和简单模型,机器学习技术在实际量化投资中也表现得非常好。
这里有一个快速的**演示**,展示了如何安装
Qlib,并使用qrun运行LightGBM。但是,请确保您已按照数据准备的说明准备好数据。
安装
下表展示了Qlib支持的Python版本:
| 使用pip安装 | 从源码安装 | 绘图 | |
|---|---|---|---|
| Python 3.8 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Python 3.9 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Python 3.10 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Python 3.11 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Python 3.12 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
注意:
- 建议使用Conda来管理您的Python环境。在某些情况下,如果在
conda环境之外使用Python,可能会导致缺少头文件,从而导致某些软件包无法成功安装。 - 请注意,在Python 3.6中安装Cython时,从源码安装
Qlib可能会出现一些错误。如果用户在其设备上使用Python 3.6,建议将Python升级到3.8或更高版本,或者使用conda提供的Python从源码安装Qlib。
使用pip安装
用户可以通过以下命令轻松地使用pip安装Qlib。
pip install pyqlib
注意:pip会安装最新稳定的qlib版本。然而,qlib的主分支仍在积极开发中。如果您想测试主分支中的最新脚本或功能,请使用下面的方法安装qlib。
从源码安装
此外,用户还可以按照以下步骤通过源代码安装最新开发版本的 Qlib:
在从源码安装
Qlib之前,用户需要先安装一些依赖项:pip install numpy pip install --upgrade cython克隆仓库并按如下方式安装
Qlib:git clone https://github.com/microsoft/qlib.git && cd qlib pip install . # 开发时建议使用 `pip install -e .[dev]`。详细信息请参阅 docs/developer/code_standard_and_dev_guide.rst
提示:如果您在本地环境中无法成功安装 Qlib 或运行示例,可以将您的操作步骤与 CI 工作流 进行对比,这有助于您找到问题所在。
Mac 用户提示:如果您使用的是搭载 M1 芯片的 Mac,可能会在构建 LightGBM 的 wheel 包时遇到问题,这是因为缺少 OpenMP 的依赖。要解决这个问题,请先使用 brew install libomp 安装 OpenMP,然后再运行 pip install . 即可成功构建。
数据准备
❗ 由于更严格的数据安全政策,官方数据集暂时被禁用。您可以尝试社区贡献的 此数据源,这里提供一个下载最新数据的示例。
wget https://github.com/chenditc/investment_data/releases/latest/download/qlib_bin.tar.gz
mkdir -p ~/.qlib/qlib_data/cn_data
tar -zxvf qlib_bin.tar.gz -C ~/.qlib/qlib_data/cn_data --strip-components=1
rm -f qlib_bin.tar.gz
下方的官方数据集将在不久的将来恢复使用。
通过运行以下代码加载并准备数据:
使用模块获取
# 获取日频数据
python -m qlib.cli.data qlib_data --target_dir ~/.qlib/qlib_data/cn_data --region cn
# 获取1分钟频数据
python -m qlib.cli.data qlib_data --target_dir ~/.qlib/qlib_data/cn_data_1min --region cn --interval 1min
从源码获取
# 获取日频数据
python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --region cn
# 获取1分钟频数据
python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data_1min --region cn --interval 1min
该数据集是由公开数据通过 爬虫脚本 收集生成的,这些脚本已发布在同一仓库中。用户也可以使用这些脚本创建相同的数据集。数据集说明
请注意,这些数据是从 Yahoo Finance 收集的,因此可能并不完美。如果用户拥有高质量的数据集,我们建议自行准备数据。更多信息请参阅 相关文档。
日频数据的自动更新(来自 Yahoo Finance)
如果用户只想在历史数据上测试模型和策略,则此步骤为 可选。
建议用户先手动更新一次数据(例如指定交易日期为 2021-05-25),然后再设置为自动更新。
注意:用户无法基于 Qlib 提供的离线数据进行增量更新(为减小数据量已移除部分字段)。应使用 Yahoo 数据采集器 从头开始下载 Yahoo 数据,然后进行增量更新。
更多信息请参阅:Yahoo 数据采集器
每个交易日自动更新数据至
qlib目录(Linux)使用 crontab:
crontab -e设置定时任务:
* * * * 1-5 python <脚本路径> update_data_to_bin --qlib_data_1d_dir <用户数据目录>- 脚本路径:scripts/data_collector/yahoo/collector.py
手动更新数据
python scripts/data_collector/yahoo/collector.py update_data_to_bin --qlib_data_1d_dir <用户数据目录> --trading_date <开始日期> --end_date <结束日期>- trading_date:交易日的开始时间
- end_date:交易日的结束时间(不包括)
数据健康状况检查
- 我们提供了一个脚本用于检查数据的健康状况,您可以运行以下命令来查看数据是否正常:
python scripts/check_data_health.py check_data --qlib_dir ~/.qlib/qlib_data/cn_data - 当然,您也可以添加一些参数来调整测试结果,例如:
python scripts/check_data_health.py check_data --qlib_dir ~/.qlib/qlib_data/cn_data --missing_data_num 30055 --large_step_threshold_volume 94485 --large_step_threshold_price 20 - 如果您想了解更多关于
check_data_health的信息,请参阅 文档。
Docker 镜像
- 从 Docker Hub 仓库拉取 Docker 镜像
docker pull pyqlib/qlib_image_stable:stable - 启动一个新的 Docker 容器
docker run -it --name <容器名称> -v <挂载的本地目录>:/app pyqlib/qlib_image_stable:stable - 此时您已进入 Docker 环境,可以运行 Qlib 脚本。示例如下:
>>> python scripts/get_data.py qlib_data --name qlib_data_simple --target_dir ~/.qlib/qlib_data/cn_data --interval 1d --region cn >>> python qlib/cli/run.py examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml - 退出容器
>>> exit - 重启容器
docker start -i -a <容器名称> - 停止容器
docker stop <容器名称> - 删除容器
docker rm <容器名称> - 如果您想了解更多信息,请参阅文档。
自动量化研究工作流
Qlib 提供了一个名为 qrun 的工具,用于自动运行整个工作流(包括构建数据集、训练模型、回测和评估)。您可以按照以下步骤启动自动量化研究工作流,并进行图形化报告分析:
量化研究工作流:使用 LightGBM 工作流配置文件(例如 workflow_config_lightgbm_Alpha158.yaml)运行
qrun。cd examples # 避免在包含 `qlib` 的目录下运行程序 qrun benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml如果用户希望以调试模式使用
qrun,请使用以下命令:python -m pdb qlib/cli/run.py examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yamlqrun的结果如下,请参阅文档以获取更多关于结果的解释。'以下是不含成本的超额收益分析结果。' 风险 平均值 0.000708 标准差 0.005626 年化收益率 0.178316 信息比率 1.996555 最大回撤 -0.081806 '以下是含成本的超额收益分析结果。' 风险 平均值 0.000512 标准差 0.005626 年化收益率 0.128982 信息比率 1.444287 最大回撤 -0.091078以下是关于
qrun和工作流的详细文档。图形化报告分析:首先运行
python -m pip install .[analysis]来安装所需的依赖项。然后使用jupyter notebook运行examples/workflow_by_code.ipynb以获取图形化报告。预测信号(模型预测)分析
- 组别累计收益

- 收益分布

- 信息系数(IC)

- 预测信号(模型预测)的自相关性

- 组别累计收益
投资组合分析
- 回测收益

- 回测收益
上述结果的解释
通过代码构建自定义量化研究工作流
自动化工作流可能并不适合所有量化研究人员的研究流程。为了支持灵活的量化研究工作流,Qlib 还提供了一个模块化的接口,允许研究人员通过代码构建自己的工作流。这里是一个通过代码构建自定义量化研究工作流的示例。
量化研究中的主要挑战与解决方案
量化投资是一个非常独特的场景,存在许多需要解决的关键挑战。 目前,Qlib 已经为其中一些挑战提供了相应的解决方案。
预测:寻找有价值的信号/模式
准确预测股票价格趋势是构建盈利投资组合的重要环节。 然而,金融市场中存在大量格式各异的数据,这使得构建预测模型变得极具挑战性。
越来越多的 SOTA 量化研究工作/论文专注于在复杂金融数据中挖掘有价值的信号/模式,这些研究成果已在 Qlib 中发布。
量化模型(论文)动物园
以下是基于 Qlib 构建的模型列表。
- 基于 XGBoost 的 GBDT(陈天奇等,KDD 2016)
- 基于 LightGBM 的 GBDT(Ke Guolin 等,NIPS 2017)
- 基于 Catboost 的 GBDT(Prokhorenkova Liudmila 等,NIPS 2018)
- 基于 PyTorch 的 MLP
- 基于 PyTorch 的 LSTM(Hochreiter Sepp 等,Neural Computation 1997)
- 基于 PyTorch 的 GRU(Cho Kyunghyun 等,2014)
- 基于 PyTorch 的 ALSTM(Qin Yao 等,IJCAI 2017)
- 基于 PyTorch 的 GATs(Velickovic Petar 等,2017)
- 基于 PyTorch 的 SFM(Zhang Liheng 等,KDD 2017)
- 基于 TensorFlow 的 TFT(Lim Bryan 等,International Journal of Forecasting 2019)
- 基于 PyTorch 的 TabNet(Arik Sercan O. 等,AAAI 2019)
- 基于 LightGBM 的 DoubleEnsemble(Zhang Chuheng 等,ICDM 2020)
- 基于 PyTorch 的 TCTS(Wu Xueqing 等,ICML 2021)
- 基于 PyTorch 的 Transformer(Vaswani Ashish 等,NeurIPS 2017)
- 基于 PyTorch 的 Localformer(Jiang Juyong 等)
- 基于 PyTorch 的 TRA(Dong Hengxu 等,KDD 2021)
- 基于 PyTorch 的 TCN(Bai Shaojie 等,2018)
- 基于 PyTorch 的 ADARNN(Du YunTao 等,2021)
- 基于 PyTorch 的 ADD(Tang Hongshun 等,2020)
- 基于 PyTorch 的 IGMTF(Xu Wentao 等,2021)
- 基于 PyTorch 的 HIST(Xu Wentao 等,2021)
- 基于 PyTorch 的 KRNN
- 基于 PyTorch 的 Sandwich
我们非常欢迎您提交新的量化模型的 PR。
每个模型在 Alpha158 和 Alpha360 数据集上的表现可以在这里找到:benchmarks。
运行单个模型
以上列出的所有模型都可以使用 Qlib 运行。用户可以通过 benchmarks 文件夹找到我们提供的配置文件以及关于模型的一些详细信息。更多相关信息可以在上述模型文件中获取。
Qlib 提供了三种不同的方式来运行单个模型,用户可以根据自己的情况选择最合适的方式:
- 用户可以使用上面提到的工具
qrun,根据配置文件运行某个模型的工作流。 - 用户可以基于
examples文件夹中的示例脚本workflow_by_code.py,编写自己的workflow_by_codePython 脚本。 - 用户也可以使用
examples文件夹中的脚本run_all_model.py来运行模型。例如,具体的 Shell 命令如下:python run_all_model.py run --models=lightgbm,其中--models参数可以接受上述任何一种模型(可用模型可在 benchmarks 中查看)。更多用法请参考该文件的 docstrings。- 注意:每个基准测试都有不同的环境依赖,请确保您的 Python 版本符合要求(例如,由于
tensorflow==1.15.0的限制,TFT 只支持 Python 3.6~3.7)。
- 注意:每个基准测试都有不同的环境依赖,请确保您的 Python 版本符合要求(例如,由于
运行多个模型
Qlib 还提供了一个脚本 run_all_model.py,可以运行多个模型并进行多次迭代。(注意:目前该脚本仅支持 Linux 系统,未来会支持其他操作系统。此外,它也不支持同时并行运行同一个模型多次,这一点将在未来的开发中得到解决。)
该脚本会为每个模型创建一个独立的虚拟环境,并在训练结束后删除这些环境。因此,最终只会生成并保存实验结果,如 IC 和回测结果。
以下是一个运行所有模型10次的示例:
python run_all_model.py run 10
它还提供了 API 来一次性运行特定的模型。更多用法请参考该文件的 docstrings。
变更说明
在 pandas 中,group_key 是 groupby 方法的一个参数。从 pandas 1.5 版本到 2.0 版本,group_key 的默认值已由“无默认值”改为 True,这会导致 qlib 在运行时报错。因此,我们将 group_key 设置为 False,但这并不能保证某些程序能够正确运行,其中包括:
- qlib\examples\rl_order_execution\scripts\gen_training_orders.py
- qlib\examples\benchmarks\TRA\src\dataset.MTSDatasetH.py
- qlib\examples\benchmarks\TFT\tft.py
适应市场动态
由于金融市场环境的非平稳性,数据分布可能会在不同时期发生变化,这会导致基于训练数据构建的模型在未来测试数据上的表现下降。 因此,使预测模型/策略适应市场动态对于其性能至关重要。
以下是基于 Qlib 构建的解决方案列表。
强化学习:建模连续决策
Qlib 现在支持强化学习,这一功能旨在对连续的投资决策进行建模。该功能通过让智能体与环境交互并学习如何最大化某种累积奖励,从而帮助投资者优化其交易策略。
以下是基于 Qlib 构建的按场景分类的解决方案列表。
用于订单执行的强化学习
量化数据集动物园
数据集在量化投资中扮演着非常重要的角色。以下是基于 Qlib 构建的数据集列表:
| 数据集 | 美国市场 | 中国市场 |
|---|---|---|
| Alpha360 | √ | √ |
| Alpha158 | √ | √ |
这里 是使用 Qlib 构建数据集的教程。我们非常欢迎你提交 PR 来构建新的量化数据集。
学习框架
Qlib 具有高度的可定制性,其许多组件都可以进行学习。这些可学习的组件是 预测模型 和 交易代理 的实例。它们基于 学习框架 层进行训练,然后应用于 工作流 层中的多种场景。学习框架同样会利用 工作流 层(例如共享 信息提取器、基于 执行环境 创建环境)。
根据学习范式,这些组件可以分为强化学习和监督学习两类:
- 对于监督学习,详细文档可以参见 这里。
- 对于强化学习,详细文档可以参见 这里。Qlib 的强化学习框架利用
工作流层中的执行环境来创建环境。值得注意的是,它还支持NestedExecutor,这使得用户能够同时优化不同层级的策略/模型/代理(例如为特定的投资组合管理策略优化订单执行策略)。
关于 Qlib 的更多信息
如果你想快速了解 Qlib 中最常用的组件,可以尝试查看 这里 的笔记本示例。
详细的文档组织在 docs 目录中。要以 HTML 格式构建文档,需要使用 Sphinx 和 readthedocs 主题。命令如下:
cd docs/
conda install sphinx sphinx_rtd_theme -y
# 或者也可以用 pip 安装
# pip install sphinx sphinx_rtd_theme
make html
你也可以直接在线查看 最新文档。
Qlib 处于积极且持续的开发中。我们的计划记录在路线图中,该路线图作为 github 项目 进行管理。
离线模式与在线模式
Qlib 的数据服务器既可以部署为 离线 模式,也可以部署为 在线 模式。默认模式为离线模式。
在 离线 模式下,数据将部署在本地。
而在 在线 模式下,数据将以共享数据服务的形式部署。数据及其缓存将由所有客户端共享。由于缓存命中率更高,数据检索性能有望提升,同时也会减少磁盘空间的占用。在线模式的相关文档可以在 Qlib-Server 中找到。在线模式可以通过 Azure CLI 脚本 自动部署。在线数据服务器的源代码可以在 Qlib-Server 仓库 中找到。
Qlib 数据服务器的性能
数据处理性能对于 AI 技术等数据驱动的方法至关重要。作为面向 AI 的平台,Qlib 提供了数据存储和数据处理的解决方案。为了展示 Qlib 数据服务器的性能,我们将其与其他几种数据存储方案进行了比较。
我们通过完成同一项任务来评估几种存储方案的性能:从一个股票市场的基础 OHLCV 日度数据(2007 年至 2020 年间每天 800 只股票)中创建一个包含 14 个特征/因子的数据集。该任务涉及数据查询和处理。
| HDF5 | MySQL | MongoDB | InfluxDB | Qlib -E -D | Qlib +E -D | Qlib +E +D | |
|---|---|---|---|---|---|---|---|
| 总耗时(1 CPU)(秒) | 184.4±3.7 | 365.3±7.5 | 253.6±6.7 | 368.2±3.6 | 147.0±8.8 | 47.6±1.0 | 7.4±0.3 |
| 总耗时(64 CPU)(秒) | 8.8±0.6 | 4.2±0.2 |
+(-)E表示是否启用(禁用)表达式缓存+(-)D表示是否启用(禁用)数据集缓存
大多数通用数据库加载数据所需的时间过长。深入研究其底层实现后发现,在通用数据库解决方案中,数据需要经过过多的接口层以及不必要的格式转换,这些开销大大降低了数据加载的速度。而 Qlib 的数据以紧凑的格式存储,便于组合成数组用于科学计算。
相关报道
联系我们
- 如果你有任何问题,请在此处创建 issue here 或在 gitter 上留言。
- 如果你想为
Qlib做贡献,请 创建 pull requests。 - 如有其他原因,欢迎通过电子邮件 (qlib@microsoft.com) 联系我们。
- 我们正在招聘新成员(全职员工和实习生),欢迎提交简历!
加入即时通讯讨论群:
| Gitter |
|---|
![]() |
贡献
在 2020 年 9 月我们将 Qlib 作为开源项目发布到 Github 之前,Qlib 曾是我们团队内部的一个项目。遗憾的是,内部的提交历史并未保留。我们团队中的许多成员也为 Qlib 做出了重要贡献,包括王瑞华、张银达、于海苏、王淑宇、庞博晨以及 Dong Zhou。特别感谢 Dong Zhou,正是他开发了 Qlib 的初始版本。
指导
本项目欢迎各位的贡献和建议。
以下是提交拉取请求时的一些
代码规范与开发指南。
参与贡献并不困难。解决一个问题(也许只是回答一下在问题列表或Gitter中提出的问题)、修复或报告一个Bug、改进文档,甚至修正一个拼写错误,都是对Qlib的重要贡献。
例如,如果你想为Qlib的文档或代码做出贡献,可以按照下图中的步骤操作。
如果你不知道如何开始贡献,可以参考以下示例。
| 类型 | 示例 |
|---|---|
| 解决问题 | 回答一个问题;报告或修复一个Bug |
| 文档 | 提升文档质量;修正拼写错误 |
| 功能 | 实现一个请求的功能,比如这个;重构接口 |
| 数据集 | 添加一个数据集 |
| 模型 | 实现一个新的模型,有关贡献模型的一些说明 |
适合初学者的问题已被标记,表明它们是开始贡献的好起点。
你可以在Qlib中通过运行 rg 'TODO|FIXME' qlib 找到一些不完善的地方。
如果你希望成为Qlib的维护者之一,以便做出更多贡献(例如帮助合并PR、处理问题),请通过电子邮件(qlib@microsoft.com)联系我们。我们很乐意协助你提升权限。
许可证
大多数贡献都需要你同意一份贡献者许可协议(CLA),声明你有权且确实授予我们使用你的贡献的权利。详情请访问 https://cla.opensource.microsoft.com。
当你提交拉取请求时,CLA机器人会自动判断你是否需要提供CLA,并相应地标记PR(例如状态检查、评论)。只需按照机器人提供的指示操作即可。对于所有使用我们CLA的仓库,你只需完成一次即可。
本项目已采用微软开源行为准则。更多信息请参阅行为准则常见问题解答,或如有其他问题或意见,请联系opencode@microsoft.com。
版本历史
v0.9.72025/08/15v0.9.62024/12/23v0.9.52024/05/24v0.9.42024/05/07v0.9.32023/07/18v0.9.22023/06/25v0.9.12023/01/29v0.9.02022/12/09v0.8.62022/06/15v0.8.52022/04/24v0.8.42022/03/08v0.8.32022/01/19v0.8.12022/01/15v0.8.02021/12/07v0.8.0a12021/09/30v0.7.22021/09/30v0.7.12021/09/16v0.7.02021/07/11v0.6.22021/02/02v0.6.12020/12/12常见问题
相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。


