整合qlib的模型到我们的“积木式”回测框架

今天回归到qlib。

我们的架构从backtrader,到自研;从传统多因子到AI quant机器学习驱动,一直在学习与进化。

传统规则型的量化与机器学习不同。

传统规则型就是onbar,每天去执行规则即可,所以我们有了“算子”积木式的搭建策略。

机器学习型,需要划分训练集、测试集。在训练集在生成模型——类比就是传统里的规则,然后在测试集上回测(qlib是分了三段:train, valid, test,个人觉得,金融数据本来就少,两段就够了)。

按qlib的架构,我们也封装dataset。dataloader加载并生成了所有因子数据。dataset对数据进行相应的标准化,预处理等,然后最主要的一个工作是划分数据集(train, test)。

模型训练其实在回测体系之外的。我们假定模型已经训练完成。

我同样可以整合到我们原有的“积木式”架构中。select_topK_by_ML,机器模型为当天的bar生成pred_score,按pred_score取topK进入调仓。至于仓位多少,是等权还是风险平价,与规则型的类似。

所以,我们的model生成统一的predict界面就好,输入是day_bar的因子数据,输出是每支标的的打分pred_score即可。

model从本地加载,若不存在,触发训练,使用dataset里的数据划分情况,这个时间与回测没有强关联。

qlib使用pytorch实现了大部分前沿的模型,这里值得我们翻一翻源码。

到底是因子重要,还是模型重要呢?

图片

另外一条主线就是强化学习。在系统的实现上,qlib的比较结构化,且代码是易懂的。当然它的模型还是与基础的dataset有比较深的结构耦合。在实现系统的初期,我们可以借鉴“金融机器学习”这样的书上的案件,有DNN, RNN以及强化学习的案例,把它整合成系统的一部分。

从难易度上,keras可能比pytorch还要简洁,但对于tensorflow我在内心是拒绝的。pytorch之上还有fastai, fastnlp这样的框架。

看fastai的示例:图片分类,图片分割,文本分类,表格数据(金融预测可以用),推荐系统。

之前进行过一段时间的机器学习量化,想着还需要把基础、规则型的量化整理明白。现在在规则型的基础上,把机器学习引入进来,二者并不矛盾,可以相互验证。但机器学习终究是未来。

fastai更加对标keras,支持表格型数据,针对AI量化投资,keras/fastai要优先学习,而针对文本,自然语言处理,fastnlp可以看看,fastnlp优点是中国人开发的,有许多中文的物料。

fastai的出品方是fast.ai,机构规模不大,但因为提供大量免费机器学习课程,而名声在外。还有,fast.ai也是美国军方的合作伙伴,研究如何加速人工智能技术的发展。

无论如何,pytorch都是基础,fastnlp的代码看了下不算复杂,做了一些基础工作的封装罢了。fastai的封装程度高一些。

昨天看三体,叶文洁如何起家了,因为遇到了一个继承了45亿美金的,“志同道合”的人。一个有技术有信仰,一个有资金有理想——先不论好与坏。才有了后端的ETO组织。

 

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/104157
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 2024 年 7 月 29 日
下一篇 2024 年 7 月 29 日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注