没有合适的资源?快使用搜索试试~ 我知道了~
微软 AI 量化投资平台 Qlib 体验1
需积分: 0 12 下载量 111 浏览量
2022-08-03
20:38:41
上传
评论
收藏 4.71MB PDF 举报
温馨提示
试读
34页
微软 AI 量化投资平台 Qlib 体验1
资源详情
资源评论
资源推荐
免责声明和披露以及分析师声明是报告的一部分,请务必一起阅读。
1
证券研究报告
金工研究/深度研究
2020 年12 月22 日
林晓明
SAC No. S0570516010001
研究员
SFC No. BPY421
0755-82080134
linxiaoming@htsc.com
李子钰
SAC No. S0570519110003
研究员
0755-23987436
liziyu@htsc.com
何康
SAC No. S0570520080004
研究员
021-28972039
hekang@htsc.com
王晨宇
SAC No. S0570119110038
联系人
02138476179
wangchenyu@htsc.com
1《金工: 周频量价选股模型的组合优化实证》
2020.12
2《金工: 行业配置落地:指数增强篇》2020.11
3《金工: 农业板块迎来全新工具型投资产品》
2020.11
微软 AI 量化投资平台 Qlib 体验
华泰人工智能系列之四十
核心观点
本文介绍微软 AI 量化投资平台 Qlib 基础和进阶功能,对比传统量化策略
开发流程和 Qlib 提供的解决方案,提炼 Qlib 特色及优势,并探讨笔者使用
体会。Qlib 于 2020 年 9 月公开初版源码,2020 年 12 月获微软官网报道
并引发热议。我们认为 Qlib 的主要优势在于:1)覆盖量化投资全过程,
用户无需切换工具包或编程语言,降低 AI 算法使用门槛;2)从工程实现
角度,对因子数据储存、因子计算等环节提出创新解决方案,提升运算性
能和开发效率,或能解决量化投资研究中的部分痛点。
笔者使用体会:侧重量价选股,解决部分痛点,开源或推动技术发展
笔者使用 Qlib 的体会是,Qlib 在“术”层面的创新要大于在“道”层面的
创新。Qlib 在宣传中称其为“业内首个 AI 量化投资开源平台”,而就目前
公开的功能看,Qlib 的核心是“量价因子结合 AI 模型选股流程”,在“道”
的层面未脱离传统因子选股方法论。在“术”的层面, Qlib 提出的数据存
储方案、表达式引擎等工程创新一定程度上能够解决研究中的部分痛点。
微软此次的开源尝试能够降低整个行业的学习和研发成本,或能推动量化
投资行业的技术发展。
Qlib 基础功能:以港股日频量价因子 LightGBM 选股策略为例
Qlib 官方推荐的学习素材有 GitHub 文档和在线文档,包含 A 股日频量价
因子 AI 选股策略案例,然而直接学习官方代码的“代入感”不强,并且官
方代码绕过了很多“坑”,但研究者在实际学习使用时可能绕不开这些“坑”。
为了帮助读者快速上手 Qlib,我们参考官方代码,设计新的应用场景,以
港股日频量价因子 LightGBM 选股策略为例,分 Qlib 安装、数据准备、因
子生成、策略构建、结果展示各步骤,讲解 Qlib 基础功能。
Qlib 进阶功能:自定义策略组件
我们以自定义因子、标签、数据预处理方式、AI 模型为例讲解 Qlib 的进阶功
能。AI 选股模型包含因子生成和预处理、模型训练、策略回测等组件,在 Qlib
中这些组件通过工作流 workflow 串联在一起,每个组件均有对应参数控制。
因此最简单的自定义策略方式是直接修改参数。另外,每个组件都有其对应源
码,更灵活的自定义策略方式是修改源码或仿照源码创建新的继承类。
Qlib 特色:覆盖量化投资全过程,拥有多项工程上的创新
Qlib 的设计初衷之一在于覆盖量化投资的全过程,为用户的 AI 算法提供高
性能的底层基础架构,降低 AI 算法的使用门槛,便于金融从业者使用。
Qlib 的“高性能底层基础架构”体现在多项工程上的创新,例如数据存储
方案、表达式引擎和缓存系统。据论文 Qlib: An AI-oriented Quantitative
Investment Platform 测试显示,Qlib 在读取原始数据和生成因子任务上的
性能表现优于传统关系型数据库 MySQL、非关系型数据库 MongoDB、时
序数据库 InfluxDB 和 HDF5。
风险提示:本文的港股 AI 选股策略仅作案例教学使用,不具备实际投资价
值,例如未剔除低价股、低流动性股票,训练集和测试集较短,未进行参
数优化等。Qlib 仍在开发中,部分功能未加完善和验证,使用存在风险。
人工智能挖掘市场规律是对历史的总结,市场规律在未来可能失效。人工
智能技术存在过拟合风险。
相关研究
金工研究/深度研究 | 2020 年 12 月 22 日
免责声明和披露以及分析师声明是报告的一部分,请务必一起阅读。
2
正文目录
研究导读 ........................................................................................................................... 4
快速上手 Qlib:以港股日频量价因子 AI 选股策略为例 ..................................................... 5
Qlib 安装 .................................................................................................................... 5
安装 Microsoft C++生成工具 ............................................................................. 5
setup.py 安装 ..................................................................................................... 6
数据准备 .................................................................................................................... 7
get_data 下载官方数据 ...................................................................................... 7
dump_all 转换用户数据格式 .............................................................................. 7
港股日频量价因子生成 .............................................................................................. 9
初始化运行环境和原始数据读取 ........................................................................ 9
自定义股票池 ................................................................................................... 11
Alpha158 因子库 ............................................................................................. 11
LightGBM 选股策略构建 ......................................................................................... 13
选股策略回测 .......................................................................................................... 16
回测和绩效分析结果展示 ........................................................................................ 18
Qlib 进阶:自定义策略组件 ............................................................................................ 20
自定义特征 .............................................................................................................. 20
自定义标签 .............................................................................................................. 21
更换数据预处理方法 ................................................................................................ 21
更换 AI 模型 ............................................................................................................ 23
其它功能 .................................................................................................................. 24
Qlib 特色及使用体会 ....................................................................................................... 25
Qlib 覆盖量化投资全过程 ........................................................................................ 25
传统量化投资策略开发 .................................................................................... 25
Qlib 的改进 ...................................................................................................... 26
工程创新:数据存储设计,表达式引擎,缓存系统 ................................................ 27
数据存储方案 ................................................................................................... 28
表达式引擎 ...................................................................................................... 29
缓存系统 .......................................................................................................... 30
使用体会:侧重量价选股,解决部分痛点,开源或推动技术发展 ........................... 30
参考文献 .................................................................................................................. 30
风险提示 .................................................................................................................. 31
图表目录
图表 1: Microsoft C++生成工具下载 .............................................................................. 5
图表 2: Microsoft C++生成工具安装 .............................................................................. 6
图表 3: setup.py 安装 Qlib ............................................................................................. 6
图表 4: get_data 下载官方数据...................................................................................... 7
图表 5: dump_all 转换前的 csv 文件 .............................................................................. 7
图表 6: 港股行情 csv 数据(以腾讯控股 0700 HK 为例) ............................................. 8
图表 7: csv 数据字段说明 .............................................................................................. 8
金工研究/深度研究 | 2020 年 12 月 22 日
免责声明和披露以及分析师声明是报告的一部分,请务必一起阅读。
3
图表 8: dump_all 转换用户数据格式 .............................................................................. 9
图表 9: dump_all 转换后的 bin 和 txt 文件 ..................................................................... 9
图表 10: 初始化运行环境 ............................................................................................. 10
图表 11: 获取交易日期和全部股票代码 ....................................................................... 10
图表 12: 获取指定股票指定日期指定字段数据 ............................................................ 10
图表 13: 自定义股票池................................................................................................. 11
图表 14: 生成 Alpha158 特征(当期因子)和标签(下期收益) ................................ 12
图表 15: 获取 Alpha158 因子库标签(下期收益) ...................................................... 12
图表 16: 获取 Alpha158 因子库特征(当期因子) ...................................................... 13
图表 17: 导入 Qlib 模块代码 ........................................................................................ 14
图表 18: 定义股票池和基准指数代码 ........................................................................... 14
图表 19: 模型训练参数 task 的 AI 模型参数 model ...................................................... 14
图表 20: 模型训练参数 task 的 AI 模型参数 dataset .................................................... 15
图表 21: 因子生成参数 data_handler_config 和模型训练参数 task 设置代码.............. 15
图表 22: 模型训练代码................................................................................................. 16
图表 23: 策略回测参数 port_analysis_config ............................................................... 16
图表 24: 选股策略回测参数设置代码 ........................................................................... 17
图表 25: 选股策略回测代码 ......................................................................................... 17
图表 26: 回测和绩效分析结果读取代码 ....................................................................... 18
图表 27: AI 模型预测结果 IC 和 Rank IC ..................................................................... 18
图表 28: 策略净值、超额收益净值、最大回撤和换手率 .............................................. 19
图表 29: 各组件参数及对应源码所在路径.................................................................... 20
图表 30: 自定义特征代码 ............................................................................................. 20
图表 31: 通过设置参数自定义标签代码 ....................................................................... 21
图表 32: 通过修改因子库源码自定义标签代码 ............................................................ 21
图表 33: Qlib 内置数据预处理方法(qlib.data.dataset.processor)............................ 22
图表 34: Alpha158 和 Alpha360 因子库默认预处理方式 ............................................. 22
图表 35: 自定义数据预处理代码 .................................................................................. 22
图表 36: Qlib 内置 AI 模型(qlib.contrib.model)........................................................ 23
图表 37: 通过设置参数自定义 AI 模型代码 .................................................................. 23
图表 38: 通过创建新 Model 子类(如 SVR 支持向量回归)自定义 AI 模型代码 ......... 24
图表 39: 某团队人工智能选股模型开发流程 ................................................................ 25
图表 40: Qlib 提供的人工智能选股模型开发解决方案 ................................................. 26
图表 41: Qlib 的三层框架:基础架构层、量化投资流程层和交互层 ............................ 26
图表 42: Qlib 各模块的另一种拆解:静态流程、动态建模和分析模块 ........................ 27
图表 43: Qlib 高性能底层基础架构 .............................................................................. 28
图表 44: 不同因子数据存储方案的长处和短板 ............................................................ 28
图表 45: Qlib 数据存储方案 ......................................................................................... 29
图表 46: 不同因子数据存储方案下的性能比较 ............................................................ 29
图表 47: Qlib 缓存系统 ................................................................................................ 30
金工研究/深度研究 | 2020 年 12 月 22 日
免责声明和披露以及分析师声明是报告的一部分,请务必一起阅读。
4
研究导读
2020 年 9 月,微软亚洲研究院在学术论文预印本平台 arXiv 发布论文 Qlib: An AI-oriented
Quantitative Investment Platform,公开其开发的业内首个 AI 量化投资开源平台 Qlib,并
在代码托管平台 GitHub 上开放源代码。2020 年 12 月,微软亚洲研究院在官网报道该消
息,一石激起千层浪。微软称 Qlib“通过创建一个通用的技术平台,帮助实现量化投资流
程的 AI 闭环”。
AI 量化投资开源平台对于量化投资领域的意义不凡。一套标准化的代码能提升整个行业的
研究效率,避免重复造轮子;代码开源使得研究者能够学习业内同行的先进经验,并根据
实际需求自由修改和添加功能。投资者关心的问题是,Qlib 是否如宣传得那么强大?Qlib
包含哪些功能,有哪些使用场景?Qlib 解决了传统量化策略开发流程中的哪些痛点?Qlib
的实际使用体验如何?
带着上述问题,笔者将从实操层面一探究竟。本文第一部分以港股日频量价因子 LightGBM
选股策略为例,带领读者快速上手 Qlib。第二部分深入讲解如何自定义策略中的各个组件,
如自定义因子、标签、数据预处理方式、AI 模型等环节。第三部分结合 Qlib 论文,介绍
Qlib 的特色以及相比传统量化策略开发流程的改进之处,最后谈谈笔者的使用体会。
我们认为,Qlib 的主要优势在于:1)覆盖量化投资全过程,用户无需切换工具包或编程
语言,降低 AI 算法使用门槛;2)从工程实现角度,对因子数据储存、因子计算等环节提
出创新解决方案,提升运算性能和开发效率,或能解决量化投资研究中的部分痛点。
金工研究/深度研究 | 2020 年 12 月 22 日
免责声明和披露以及分析师声明是报告的一部分,请务必一起阅读。
5
快速上手 Qlib:以港股日频量价因子 AI 选股策略为例
Qlib 官方推荐的学习素材有 GitHub 文档(https://github.com/microsoft/qlib)和在线文档
(https://qlib.readthedocs.io/en/latest/index.html)。学习素材包含 A 股日频量价因子 AI
选股策略案例。然而直接学习官方代码的“代入感”不强,并且官方代码绕过了很多“坑”,
但研究者在实际学习使用时可能绕不开这些“坑”。为了帮助读者快速上手 Qlib,我们参
考官方代码,设计新的应用场景,以港股日频量价因子 AI 选股策略为例,分 Qlib 安装、
数据准备、因子生成、策略构建、结果展示各步骤,讲解 Qlib 使用方法。
Qlib 安装
Qlib 安装是读者容易遇到的第一个“坑”。首先推荐在 Python 3.7 及更新版的 Python 环
境下安装。Qlib 官方提供 1)pip 和 2)setup.py 两种安装方式。其中 pip 安装较为简单,
在命令行直接运行 pip install pyqlib 即可,将自动安装最新的 Qlib 稳定版。不过笔者经
Windows 和 Mac 系统下测试,更推荐 setup.py 方式。具体安装步骤如下。
安装 Microsoft C++生成工具
Qlib 运行依赖 Microsoft Visual C++ 14.0,否则安装过程中会报如下错误:
error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio":
https://visualstudio.microsoft.com/downloads/
注意这里仅安装运行组件(Microsoft Visual C++ Redistributable)无法解决此问题,需要
安装完整版 Microsoft Visual Studio 或者参考报错信息安装 Microsoft C++生成工具。生成
工具的下载链接为:https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/
图表1: Microsoft C++生成工具下载
资料来源:微软官网,华泰证券研究所
安装生成工具过程中,需要点选部分选项,参考微软官方建议链接及下图:
https://docs.microsoft.com/en-us/answers/questions/136595/error-microsoft-visual-c-14
0-or-greater-is-require.html
剩余33页未读,继续阅读
滕扬Lance
- 粉丝: 20
- 资源: 304
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于知识图谱的推荐算法-KGCN实现python源码+运行说明.zip
- 学生信息管理系统-数据库课程设计报告.docx
- STM32烟雾检测程序 DHT11温湿度采集 ESP8266WIFI传输数据 1602液显
- 基于知识图谱的推荐算法-KARN的实现python源码+运行说明.zip
- 学生信息管理系统-数据库课程设计报告.docx
- 基于知识图谱的推荐算法-CKE的实现python源码+运行说明.zip
- 基于知识图谱的推荐算法-CKAN实现python源码+运行说明.zip
- 基于stm32f103C8T6智能台灯设计与制作
- 基于知识图谱的推荐算法-AGRE的实现python源码+运行说明.zip
- 卷积神经网络 卷积神经网络 卷积神经网络卷积神经网络.txt卷积神经网络.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0