我点开 Qlib 的 README,先看到那句:
from exploring ideas to implementing productions。
有点大。
量化项目很多都卡在这儿。研究是一套脚本,回测又是一套,上线再重新缝一遍。缝到最后,策略还没跑,文件夹已经乱了。
Qlib 想干的事,就是把这些断开的地方接起来。
它现在 GitHub 上 40.9k Star,微软开源的。
我第一眼反而不是看模型列表。
是看数据层。
官方做过一个对比,同一类特征构建任务,1CPU 下,HDF5 大概要 184.4 秒。Qlib 开了表达式缓存和数据缓存后,压到 7.4 秒。
这个数字挺硬。
量化研究里,很多想法不是死在模型上,是死在“跑一遍太慢”。
你改一个特征,等半天。
再改一个窗口,又等半天。
最后人就懒了。
Qlib 先把这个地方处理掉,后面才谈得上研究流程。
它有个 qrun。
看名字就知道,不是那种特别花的东西。配置文件写好,数据集构建、模型训练、回测、评估,一路跑下去。
这点对做实验的人挺省事。
不是说少写几行代码。
是少了一堆“临时脚本”。
train_v2.py,backtest_final.py,report_new_new.py。
这种东西大家都见过。
模型这块,Qlib 没只放几个摆样子的 baseline。
LightGBM、MLP、LSTM 这些有。
Transformer、Localformer、TRA 这类量化论文里经常被拿来对比的,也能在仓库和文档里看到。
我倒不觉得模型列表是重点。
模型可以换。
麻烦的是,换完以后,数据、训练、回测、报告还能不能接着跑。
再往后,Qlib 还做了 QlibRL。
组合构建、订单执行这类问题,本来就不是一次预测完就结束。它更像连续动作,一步错,后面跟着变。
这个方向很难写得漂亮。
也很难演示得漂亮。
但它确实是量化系统绕不开的一块。
README 里还有一个点我会多看两眼:concept drift。
市场会变。
这句话大家都知道,但很多项目写起来像市场永远不变。Qlib 至少把这个问题摆在文档里,提到用自适应 concept drift 技术处理市场动态。
量化模型最怕的不是第一天分数低。
是跑着跑着,突然不认识市场了。
当然,上手前还有个小坑。
官方数据集入口现在是临时关闭状态,文档里给了社区维护的数据源替代。
所以别指望 pip 装完立刻满血跑起来。
还是要翻文档,配数据,看路径,改配置。
有点麻烦。
但 Qlib 这个项目,我会把它当成 AI 量化投研系统的一个样本看。不是只看某个模型,也不是只看回测曲线。
而是看它怎么把研究、回测、评估、执行这些东西放到一条线上。
GitHub 地址: https://github.com/microsoft/qlib
