【宽客学院】StockRaker模型结果的解读


(iQuant) #1

本文从模型训练和模型预测两部分对StockRanker的结果做了详细介绍,希望大家可以对StockRanker有更深入的了解。


作者:bigquant
阅读时间:5分钟
本文由BigQuant宽客学院推出,难度标签:☆☆

通过BigQuant AI策略详解,我们已经对StockRanker有了一个基本介绍。接下来我们在 模型训练模型预测 这两步详细介绍StockRanker模型的返回结果,以便于能够更好地开发AI策略。关于StockRanker算法原理,感兴趣的朋友可以参考list wise learning to rank

首先我们新建一个可视化AI模板策略并运行。

模型训练结果查看:

当我们完成模型训练以后,可以看到输出如下一个图表

  • 特征权重
     
    特征权重是StockRanker模型基于各个特征对模型贡献度的一个数量型评估指标,因此我们可以通过特征得分来进行特征的选择、组合、删除等工作。

通过运行m6.features_gains.read()也可以得到特征得分结果的DataSource,读出来的结果为DataFrame格式。
image

Feature gains 表示的是特征在模型中的重要度。值越大表示越重要。可以参考梯度提升相关的feature importance相关介绍资料参考链接1参考链接2

  • 可视化模型
     
    这一步,我们可以将模型的各个决策树细节绘制出来,便于查看。

模型评价指标NDCG

将训练集缺失值处理后的数据传给StockRanker模型训练模块的测试数据集接口,如下图所示

image

此时运行后会得到在训练集数据上每棵树的NDCG得分随迭代次数的变化

可以根据得分是否收敛以及得分高低来判断模型在训练集上的拟合好坏。

如果想查看验证集上的NDCG,则需要模仿训练集数据在验证集分支上构建标注并与因子数据合并后构成验证集数据传给模型进行评价,实现方式如下图所示:

模型预测结果查看
可以看到模型预测模块编号为m8,当我们完成模型训练以后,插入代码单元,并输入"m8.",会出现自动补全功能提示。可以看到模型预测模块有很多属性和方法。

image

  • 预测数据的起、止日期

image

  • 股票排序结果
     
    image
     
    股票排序结果直接用来开发交易策略,输出每个交易日股票的得分情况,股票得分越高,表明该股票越值得买入。从图中可以看出,2015年1月5日,最值得买入的股票为‘300391.SZA’。

最后,直观检验模型效果的方式就是使用模型预测值构建策略进行回测,在查找原因时可以通过模型评价指标在训练集和测试集的差异来辅助判断模型是否足够稳健。

小结:本文从模型训练、模型评价和模型预测这三方面详细介绍StockRanker模型的返回结果,希望可以帮助大家对AI量化策略进行更好的理解。


   本文由BigQuant宽客学院推出,版权归BigQuant所有,转载请注明出处。



StockRanker排序