`

微软 AI 量化投资平台 Qlib 体验华泰人工智能系列之四十

创建于 更新于

摘要

本报告详细介绍微软开源 AI 量化投资平台 Qlib 的功能与设计,涵盖从数据准备、因子生成、策略构建、模型训练到策略回测及绩效分析的完整流程。报告聚焦港股日频量价因子 LightGBM 选股策略示例,阐述 Qlib 在数据存储、表达式引擎和缓存机制上的创新,以及用户自定义策略组件的方案,展示了实际回测表现及性能优势,认为 Qlib 覆盖量化投资全过程,降低 AI 算法使用门槛,具备推动行业技术发展的潜力。[page::0][page::3][page::4][page::10][page::15][page::18][page::25][page::29]

速读内容


Qlib 平台核心优势与架构 [page::0][page::3][page::25]

  • Qlib 为业内首个 AI 量化投资开源平台,覆盖量化投资全过程,用户免切换工具包或编程语言,降低 AI 算法使用门槛。

- 设计三层架构:基础架构层(数据服务、训练模块等)、量化流程层(因子提取、预测、组合生成、执行)、交互层(分析与可视化)。
  • 工程创新体现在高效数据存储方案、表达式引擎与缓存系统上,提升因子计算速度和数据操作效率。





港股日频量价因子 LightGBM 选股策略完整实操流程 [page::4][page::6][page::8][page::10][page::13][page::14][page::15]

  • 包括 Qlib 安装、官方及用户数据准备与格式转换、因子生成(Alpha158 因子库)、自定义股票池、AI 模型训练(LightGBM)、策略回测参数设置及执行。

- 自定义股票池剔除指数和低价股,提高模型适用性。
  • 模型训练迭代约 71 次,训练耗时约 9 秒,数据处理耗时约 372 秒。









Qlib 回测绩效及策略表现 [page::17][page::18]

  • 使用 LightGBM 训练的港股量价因子选股模型进行了 2020 年 7-11 月回测。

- 预测结果的 IC 和 Rank IC 波动,但整体存在正向预测能力。
  • 策略净值显示整体超额收益,扣费后表现略有下降,2020 年 7-10 月稳定,11 月出现回撤,换手率保持在合理区间。




Qlib 进阶功能:自定义因子、标签、数据预处理及模型 [page::19][page::20][page::21][page::22][page::23]

  • 提供因子库扩展示例,自定义因子库继承 Alpha158 类,支持编写简洁表达式构建新因子(如均线比值、MACD)。

- 可通过修改参数或继承源码定义标签,自定义标签示例包括不同时间窗口涨跌幅,支持不同交易价格(如 vwap)。
  • 多样化的数据预处理模块支持异常值处理、缺失填充、截面标准化等,能灵活组合应用。

- 丰富的内置模型涵盖线性模型、集成学习(LightGBM、XGBoost、Catboost)和神经网络(LSTM、GRU等),也支持用户自定义新模型(以SVR实现为例)。






传统量化策略开发的痛点及 Qlib 改进方案 [page::24][page::25][page::26]

  • 传统量化流程跨平台、跨语言,导致开发复杂且效率低。

- 数据多用 MAT 文件,矩阵运算效率高但跨语言不便;AI 模型训练主要靠 Python。
  • Qlib 实现全流程 Python 平台,集成数据服务、因子计算、模型训练和回测,提供高性能底层架构。

- 通过静态流程、动态建模和分析模块分层设计,提升模型更新和管理效率,并支持多样化投资组合和执行模拟。
  • 工程创新如针对金融因子高效的文件树形存储结构和缓存设计,确保系统整体性能。

深度阅读

华泰证券研究所:《微软 AI 量化投资平台 Qlib 体验》研究报告详尽解读与分析



---

一、元数据与概览


  • 标题: 微软 AI 量化投资平台 Qlib 体验华泰人工智能系列之四十

- 作者及联系方式: 林晓明、李子钰、何康、王晨宇,均为华泰证券研究所研究员
  • 发布日期: 2020年12月(从文中代码版本和时间推断)

- 研究机构: 华泰证券研究所
  • 主题与对象: 以微软开源的AI量化投资平台Qlib为核心,围绕其功能介绍、快速上手港股量价因子LightGBM选股策略、进阶功能、自定义能力、平台特色以及工程创新等进行技术体验和评析。


核心观点总结:


  • Qlib作为业界首个AI量化投资开源平台,覆盖量化投资全过程,统一工具链,降低了使用门槛。

- 其主要优势体现在数据储存、表达式引擎、缓存系统等工程层面的创新,提升了运算性能和策略开发效率,尤其对于量价因子AI选股流程的应用效果突出。
  • 笔者体验中发现,Qlib在“术”(技术实现)层面创新显著,但其核心选股理念仍基于传统因子选股方法论,即“道”层面创新有限。

- 报告提供了一个详实的Qlib快速上手示例(港股日频量价因子LightGBM选股),同时介绍进阶自定义功能。
  • 报告强调Qlib的开源意义,认为该平台有助于降低行业研发成本,推动量化投资技术发展。


---

二、逐节深度解读



2.1 研究导读


  • 回顾2020年9月微软亚洲研究院在arXiv发布论文及开源Qlib,9月至12月间微软官网报道引起热议。

- Qlib意图实现量化投资流程的AI闭环,为金融行业提供通用性技术平台。
  • 报告聚焦实操演示,以港股日频量价因子与机器学习模型LightGBM为例,系统拆解Qlib安装、数据准备、因子生成、模型训练、回测及性能分析。

- 也介绍自定义策略组件(因子、标签、预处理和模型)方法,并结合设计框架、工程创新分析Qlib的价值和改进点。

2.2 快速上手 Qlib - 港股日频量价因子 LightGBM 选股策略



2.2.1 Qlib安装


  • 重点介绍两种安装方式:pip安装(简单,但可能报错)及setup.py安装(较推荐)。

- 特别强调必须安装Microsoft Visual C++ 14.0生成工具,否则编译会失败(示例图表1、2、3)。
  • 在安装中提供应对pip安装缺陷的方法,如手动下载源码包,拷贝tests文件夹解决ModuleNotFoundError。


2.2.2 数据准备


  • 官方提供A股、美股数据示例,采用getdata指令下载,笔者实测效果截图示例(图表4)。

- 支持用户自定义股票池csv数据导入,示例以港股行情csv格式说明(图表5、6、7)。
  • 关键字段必备,如复权价(close)、成交量(volume)、因子(factor)、涨跌幅(change),确保后续计算、回测正常。

- 以dump
all指令将csv格式数据转换为Qlib二进制bin格式,组织为calendar、feature及instruments文件夹,便于高效存取(图表8、9)。

2.2.3 因子生成


  • 使用Qlib内置因子库Alpha158(158个量价因子),因子非固定数据,是生成算法(表达式),支持任意股票池迁移。

- 初始化环境,读取数据(图表10),自定义股票池,通过名称和价格动态筛选过滤(剔除指数、低价股)示例详见图表13。
  • 展示Alpha158因子生成及标签获取(下期收益率),如KMID(日内涨跌幅)、KLEN(日内振幅)等,生成过程约695秒,标签默认为t日信号,对应t+1日开仓,t+2日平仓(图表14、15)。

- 因子特征可查看示例数据,展现部分股票因子值(图表12)。

2.2.4 选股策略构建


  • 导入所需模块,定义股票池和基准指数(恒生指数)。

- 定义因子生成参数datahandlerconfig及训练参数task,任务参数task包含模型配置(LightGBM超参数),以及数据集划分(训练/验证/测试区间)—详见图表19、20及完整参数设置截图(图表21)。
  • 训练模型,调用workflow接口,流程包括数据加载、模型拟合、训练早停,训练耗时约9秒(图表22)。


2.2.5 策略回测


  • 策略采用TopkDropout策略,持仓top50只股票,每日剔除收益最差的5只换入5只。

- 回测参数配置包括资金、交易费用、交易价格、基准指数等(图表23、24)。
  • 通过workflow模块执行信号生成和回测分析,获得预测收益、回撤、换手率等指标(图表25)。


2.2.6 回测及绩效展示


  • 加载回测结果文件,绘制预测IC指标展示日内模型预测有效性(图表27)。

- 绘制策略净值、超额收益曲线、最大回撤和换手率等指标图(图表28)。
  • 回测表现显示选股策略在7-10月期间超额收益稳定,11月经历回撤。


2.3 Qlib进阶功能:自定义策略组件



2.3.1 自定义特征


  • Qlib支持开发者自定义因子库,继承Alpha系列,实现getfeatureconfig接口编写表达式(图表30)。

- 示例定义6个因子,如多周期均线与收盘价比率及MACD,表达式简洁易定制。

2.3.2 自定义标签


  • 标签定义默认根据收益率计算,用户可自定义标签:

- 方法一:修改task参数,替换因子库类(如Alpha158vwap),回测成交价同步修改为vwap(图表31)。
- 方法二:直接继承修改源码中getlabelconfig方法,实现任意收益计算公式(图表32)。

2.3.3 数据预处理方法更换


  • Qlib内置多种预处理方法,涵盖缺失值处理、异常值处理、标准化等(图表33)。

- 训练和预测阶段均支持多步骤组合处理(图表34)。
  • 用户通过修改datahandlerconfig中learnprocessors和inferprocessors配置,自定义预处理链(图表35)。


2.3.4 更换AI模型


  • 支持丰富模型库,包括线性回归、LightGBM、CatBoost、XGBoost、深度神经网络、序列模型(LSTM、GRU等)、图神经网络(GATs)等(图表36)。

- 示例展示Lasso和XGBoost模型参数设置(图表37)。
  • 可自定义模型实现,只需继承Model基类,重写fit和predict方法(图表38)。

- Qlib支持插拔式自定义组件架构,灵活性强。

2.3.5 其他功能与限制


  • 当前支持日频,频率更换需自行准备对应频率数据。

- 数据在线更新功能已内部实现,但未公开。
  • 目前仅支持TopkDropout策略组合构建,自定义策略需开发者继承BaseStrategy实现。

- 自动调参(HTE)和滚动训练功能规划中,尚无稳定开源版本。

2.4 Qlib特色及使用体会



2.4.1 传统量化策略开发困境


  • 传统AI量化研发流程繁琐,跨多平台(MATLAB用于数据存储及因子计算,Python用于AI模型训练,复回MATLAB回测),语言工具切换频繁,造成学习和协同效率低。


2.4.2 Qlib全面覆盖量化投资流程


  • Qlib意在覆盖“原始数据处理→因子计算→AI模型训练→投资组合构造→交易策略执行及分析”完整闭环,整合于Python生态中,大幅简化流程且提升一致性。

- 三层架构:
- 基础架构层:数据服务、模型训练、模型管理等。
- 流程层:信息抽取、预测模型、策略组合生成、订单执行模拟。
- 交互层:预测、组合及执行分析报告。
  • 还提出静态流程、动态建模和分析模块拆解方案,强调动态建模(滚动训练、模型迭代)仍处于开发中。


2.4.3 工程创新


  • 数据存储方案: 采用日期索引+二进制文件树结构,保证高效计算和易用查询,优于MySQL、MongoDB、InfluxDB等传统数据库,且在存储5倍缩减效率上接近科学计算HDF5格式(图表44、45、46)。

- 表达式引擎: 支持用户用简易表达式如均线、布林带、MACD等定义因子,代码清晰且易扩展。
  • 缓存系统: 集成内存与磁盘缓存,内存存储表达式运算中间节点结果,磁盘缓存存储因子和数据组合结果,提升整体运行效率。


2.4.4 使用体会与行业意义


  • Qlib在技术实现层(“术”)表现突出,解决了数据存储与计算性能瓶颈,降低了量价因子选股技术门槛。

- 在理论方法论(“道”)层面仍沿用传统因子选股思路,尚未体现更高级的AI择时或强化学习策略。
  • 对初学者是良好学习平台,经验研究者可深度定制,行业专家期待未来更多进阶功能。

- 更重要的是Qlib开源策略,有助推动行业整体研发效率,促进知识共享与技术进步。

2.5 风险提示


  • 报告中的港股AI选股策略为教学案例,未剔除低价股、流动性差股票,训练与测试期短,未优化参数,故不具备投资价值。

- Qlib仍处开发中,部分功能不完善且存在过拟合风险。
  • AI基于历史数据构建,未来市场行为有可能变异导致策略失效。


---

三、图表深度解读(重点图表分析)



| 图表编号 | 内容描述 | 关键数据与趋势 | 关联文本论述 |
| --- | --- | --- | --- |
| 图表1-3 | Microsoft Visual C++编译工具下载与Qlib安装演示 | 演示Windows环境下依赖安装,解决pip安装潜在错误 | 保障Qlib环境配置正确,保证后续功能能正常运行 |
| 图表4 | Qlib官方数据集下载示例 | 展示下载进度,数据量巨大 | 强调数据准备重要性及难点 |
| 图表5-9 | 用户自定义csv格式港股数据转bin格式过程 | 展示csv文件结构、转换过程及结果文件布局 | Qlib数据存储优化核心步骤 |
| 图表10-12 | 运行环境初始化及数据读取示例 | 演示如何获取交易日历、股票池及特定字段数据 | 支持策略构建的基础性数据操作 |
| 图表13 | 自定义股票池筛选 | 剔除指数及低价股,过滤异常股票 | 数据池质量保障策略有效性基础 |
| 图表14-16 | Alpha158因子生成和标签结构 | 158个因子结构展示,标签定义明晰 | 因子特征是AI模型建模的基石 |
| 图表17-22 | 选股策略构建模块导入及训练 | 详细参数配置和训练过程时间节点 | LightGBM的选股实现细节 |
| 图表23-25 | 策略回测参数、代码及执行 | 回测策略细节及信号生成 | 策略效果验证过程 |
| 图表26-28 | 回测结果读取及性能评估 | 展示IC指标、净值曲线及最大回撤 | 实际绩效、风险控制表现 |
| 图表29-38 | 自定义组件源码示例 | 新因子库、自定义标签、预处理、AI模型 | Qlib模块可扩展性的技术体现 |
| 图表39-42 | 传统与Qlib流程对比及模块设计 | 传统跨平台痛点,Qlib三层架构与模块拆解 | 从整体上理解Qlib革命性能 |
| 图表43-47 | Qlib底层架构及数据存储技术对比 | 展示Qlib存储方案结构与性能数据 | 工程创新优化量化投资计算瓶颈 |
| 图表30(自定义因子代码)、37(模型示例)、47(缓存系统图) | 精细代码示例及工作原理示意 | 清晰呈现Qlib实现细节,助力用户理解 | 强化学习、快速开发的技术保障 |

---

四、估值部分



报告为技术评述性质,无传统意义上公司股票估值分析。但有对Qlib的性能和效率进行工程测评,着重分析其在数据存储和平台性能上的领先性。通过与主流数据库及文件格式对比(图表46),展现Qlib对存储空间、数据加载时长、因子计算时间等的显著优势,间接估价其对量化研发效率的贡献。

---

五、风险因素评估


  • 教学案例策略风险提示显著,后续在实际投资中须对低价股、流动性、模型稳定性和过拟合风险做严控。

- Qlib作为开源平台,功能未完备,使用者存在学习成本和技术风险。
  • AI选股基于历史数据,市场结构变动可能导致模型失效。

- 平台技术更新、功能开放的时效不确定。

报告提示用户需理性使用,勿将案例视为投资建议。

---

六、批判性视角与细微差别


  • Qlib核心理念仍偏传统多因子选股AI模型,创新主要体现在技术实现(“术”)层面而非策略思想(“道”)。

- 现有代码及示例局限于日频量价因子选股,强化学习、高频交易、择时等前沿AI功能尚未开源。
  • 高度依赖用户对架构和源码的技术理解,非专业量化或AI人员上手难度较大。

- 数据准备环节存在潜在风险,如复权数据质量、缺失值处理及停牌处理等问题,在代码示例中提醒“坑”点。
  • Qlib对数据存储的创新与性能提升显著,但技术实现相对复杂,需用户具备一定编程和金融知识。


---

七、结论性综合



华泰证券研究所发布的本报告系统介绍了微软AI量化投资平台Qlib的功能架构、工程创新及实操经验,通过港股日频量价因子与LightGBM模型构建AI选股策略的完整流程演示,加深了读者对该平台技术实现和应用路径的理解。报告强调了Qlib覆盖量化投资全过程的“一体化”理念,突破了传统多平台多语言切换的痛点,提升了数据处理和策略开发效率。

尤其值得关注的是,Qlib底层针对因子数据的独特存储架构和表达式引擎设计显著提升了数据读写和计算性能,运行效率优于主流关系型/非关系型数据库,这为大规模量价因子策略开发提供了关键支撑。Qlib缓存系统进一步优化了表达式计算与数据整合过程,降低了重复计算开销,体现出工程层面的深厚积累。

进阶模块支持用户自定义因子库、标签定义、预处理算法及AI模型,使其具备高度可扩展性和灵活性。丰富的内置模型与自主建模机制满足不同策略研发需求,适合不同层次量化与AI研究人员。报告同时理性指出Qlib当下仍以传统因子选股流程为核心,尚未涵盖更先进AI择时或强化学习策略,且部分功能仍处开发或未公开状态。

从风险角度看,本报告使用的港股AI选股案例仅具示范教学性,不建议直接用于实盘交易。用户需注意数据质量、模型过拟合和市场环境变化的潜在风险。

综上,华泰证券研究所认为Qlib作为量化投资领域首个AI开源平台,其技术创新和开放生态对于推动行业数字化转型和提高量化研发效率具有积极意义。对初学者而言,Qlib提供了系统化学习路径及实操范例;对经验丰富者,则是技术创新和模块扩展的宝贵资源。未来,随着功能与动态建模模块的完善,Qlib有望成为引领行业进步的重要力量。

---

参考文献



Yang, X., Liu, W., Zhou, D., Bian, J., & Liu, T. Y. (2020). Qlib: an ai-oriented quantitative investment platform. arXiv.

---

免责声明



本报告所涉及内容仅为研究所观点与案例分享,非投资建议,投资有风险,入市需谨慎。
报告严守相关合规要求,详见附录声明。

---

附录



研究员资质信息,联系方式,合规合规声明,评级说明等详见报告末尾(页码31-33)。

---

以上分析摘录均参照对应页码原文内容进行溯源,确保内容严谨与可追溯。[page::0,1,3-30]

报告