微软 AI 量化投资平台 Qlib 体验

这篇具有很好参考价值的文章主要介绍了微软 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 仍在开发中,部分功能未加完善和验证,使用存在风险。
人工智能挖掘市场规律是对历史的总结,市场规律在未来可能失效。人工
智能技术存在过拟合风险。

正文目录
研究导读 ........................................................................................................................... 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

图表 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 年 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)从工程实现角度,对因子数据储存、因子计算等环节提
出创新解决方案,提升运算性能和开发效率,或能解决量化投资研究中的部分痛点。

快速上手 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

setup.py 安装
Qlib 官方给出的 setup.py 安装方式如下。首先安装或更新 numpy 和 cython 库,在命令行
运行 pip install numpy 和 pip install --upgrade cython 即可。
接下来的安装分两种情况:
1. 若已安装 git 并完成环境配置,在命令行运行下列指令即可:
git clone https://github.com/microsoft/qlib.git && cd qlib
python setup.py install
2. 若未安装 git,可在 GitHub 下载 zip 源码包(https://github.com/microsoft/qlib),解压
缩至任意路径,如笔者放在 C:/Users/username/anaconda3/Lib/site-packages/qlib,
确保 setup.py 文件在该路径下,随后在该路径下启动命令行,运行如下指令即可:
python setup.py install
Qlib 的 setup.py 安装方式将自动安装包含开发版在内的最新版。例如笔者在 2020 年 12
月 14 日安装的版本为 0.6.1.dev0。笔者办公网络环境不支持 git 安装,故采用上述第二种
方式,命令行安装过程如下图。
图表3: setup.py 安装 Qlib文章来源地址https://www.toymoban.com/news/detail-464836.html

到了这里,关于微软 AI 量化投资平台 Qlib 体验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微软的人工智能 Copilot 到底有多强大?带你来体验一下

    本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每个工作日都有文章更新。 说实话,这是一篇我早就应该写的文章,我也不知道为什么我能拖这么久。 但好像从来也没有读者朋友们催我写过这类文章,这为我的拖更提供了很好的理由

    2023年04月24日
    浏览(48)
  • 【头歌平台】人工智能-深度学习初体验

    第一题 神经网络中也有神经元,这些神经元也会与其他神经元相连接,这样就形成了神经网络,而且这种网络我们称之为 全连接网络 。如下图所示( 方块表示神经元 ): 从图可以看出,神经网络由一层一层的神经元所构成的,并且不同的层有不同的名字。其中 输入层 表示用

    2024年02月08日
    浏览(50)
  • 文心一言APP官网:一站式人工智能体验平台

    大家好,小发猫降ai今天来聊聊文心一言APP官网:一站式人工智能体验平台,希望能给大家提供一点参考。降ai辅写 以下是针对论文AI辅写率高的情况,提供一些修改建议和技巧,可以借助此类工具: 还有: 文心一言APP官网:一站式人工智能体验平台 在当今数字化时代,人工

    2024年03月14日
    浏览(55)
  • 0基础可报名!微软AI-900人工智能基础认证

    微软AI-900 AI人工智能基础认证 AI900证证书样板 01 Microsoft 认证:Azure AI 基础知识 掌握 AI 基础知识可帮助你快速开启职业生涯,并准备好更深入地了解 Azure 提供的其他技术机会。人工智能 (AI) 使那些昨天看起来还像是科幻小说的可能性有机会成为现实。使用 AI,可以在医疗保

    2024年04月10日
    浏览(41)
  • 量化投资 离散时间随机过程

    状态域和事件域 第一句话不知道怎么理解: The uncertainty is about the realization of state of nature in a state space Ω Omega Ω . Ω Omega Ω :状态空间,其子集叫做事件; F t mathcal{F}_t F t ​ :包括在 t t t 时刻可观测到的所有事件; F ( ω ) t mathcal{F}(omega)_t F ( ω ) t ​ 是某个状态 ω ome

    2024年02月06日
    浏览(38)
  • 【入门笔记】量化投资是什么?

    量化投资是指通过数量化方式及计算机程序化发出买卖指令,以获取稳定收益为目的的 交易方式 。即借助现代 统计学、数学的方法 ,利用 计算机技术 从海量历史数据中寻找能够带来超额收益的多种“大概率” 策略和规律并在此基础上,综合归纳成 因子模型程序,最终纪

    2023年04月08日
    浏览(32)
  • 百度AI 人工智能可以申请体验了,附登录方式

    百度发布了一款名为“文心一言”的知识增强大语言 AI 模型, 它基于百度飞桨深度学习平台和文心知识增强大模型,旨在帮助人们从大量信息中挑选所需内容,获取灵感和知识,以使生活和工作更加便捷。该模型具有强大的中文语料库,可用于文学创作、文案创作、多模态

    2024年02月15日
    浏览(53)
  • 微软推出的ai声音生成神器VALL-E,如何体验,使用?

    VALL-E是一款由微软推出的ai声音生成工具,与一般ai声音生成工具不同的是VALL-E 可以模仿说话者的情绪和语气来进行语音,显得更加智能有趣。 VALL-E (valle-demo.github.io) 微软最近发布了一款名为 VALL-E 的人工智能工具,只需 3 秒音频即可模仿人说话。 该工具经过 60000 小时英语语

    2024年02月11日
    浏览(36)
  • 如何利用ChatGPT学习量化投资?

    引言 最近,ChatGPT持续火了很长时间,占领各大热点和头版头条,成为A股开年以来最大的热点之一。ChatGPT是OpenAI开发的一种语言生成模型,可以理解为智能问答机器人。最近围绕量化投资在上面试了很多问题,大部分回答还是很靠谱的,某些时候给的答案是瞎掰的。给定条件

    2024年01月24日
    浏览(40)
  • 微软 Copilot Pro 的推出,为用户带来了前所未有的 AI 体验!

       ChatGPT狂飙160天,世界已经不是之前的样子。 新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 ​  发布在https://it.weoknow.com 现在,新注册的用户可以享受一个月的免费使用权,这是探索和利用这项强大的人工智能技术的绝佳机会。 以下是

    2024年03月22日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包