【宽客学院】StockRanker结果解读

stockranker
ai
宽客学院
标签: #<Tag:0x00007f5bea21cc60> #<Tag:0x00007f5bea21cb20> #<Tag:0x00007f5bea21c9e0>

(iQuant) #1

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


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

通过BigQuant AI策略详解,我们已经对StockRanker有了一个基本介绍。接下来我们在 模型训练模型预测 这两步详细介绍StockRanker模型的返回结果,以便于能够更好地开发AI策略。

模型训练

代码部分:

# StockRanker机器学习训练
m5=M.stock_ranker_train.v3(training_ds=m4.data, features=conf.features)

结果查看:

当我们完成模型训练以后,根据策略研究平台的自动补全功能,就可以查看模型的一些结果(属性和方法)。

  • 模型ID
     

     
    直接输入 m5.model_id接可以输出模型的ID。这个ID在平台上具有唯一性和全局性,只要记住该ID就可以在其他策略里面正常使用,策略开发就非常灵活。

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

    如图所示,直接输入m5.features_gains可以得到特征得分结果,不过类型为内置的DataSource,因此需要通过read_df读出来,读出来的结果为DataFrame格式。

  • 可视化模型
     
    这一步,我们可以将模型的各个细节绘制出来,便于查看。详情可以参考:StockRanker模型可视化

模型预测

代码部分:

# 测试集为17年1月到七月的100只股票数据
# 特征抽取
n1 = M.general_feature_extractor.v5(
        instruments=D.instruments[:100],
        start_date='2017-01-01', end_date='2017-07-31',
        model_id=m5.model_id)
# 特征转换
n2 = M.transform.v2(
        data=n1.data, transforms=T.get_stock_ranker_default_transforms(),
        drop_null=True, astype='int32', except_columns=['date', 'instrument'],
        clip_lower=0, clip_upper=200000000)
# 模型在测试集上进行预测
n3 = M.stock_ranker_predict.v2(model_id=m5.model_id, data=n2.data)

结果查看:

同模型训练一样,一旦我们完成模型预测以后,根据平台的代码自动补全功能,我们就可以查看模型预测结果。

  • 股票排序结果
     

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

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


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



对标注与StockRanker的疑问
【宽客学院】回测数据深入分析
无需代码构造您自己的衍生因子
[量化学堂-新手专区]BigQuant回测机制
求助:机器学习固定某些条件 & 结果查看
(diytvgy) #2

请问预测出来的得分结果是有上下限的吗?股票得分越高,表明该股票越值得买入,如果当天的最高分数是0.8,是不是还值得买入?
从这个问题我是想问,这个分数评分的依据什么。。。


(iQuant) #3

您好。股票得分只有相对意义,反映的是股票排序的结果。该值的数值没有意义,不能断定是否值得买入。

这个评分的依据是基于股票的最新因子数据,在已经得到的模型下进行预测,得出的一个模型预测结果。


(woody) #4

如果用了 M.stock_ranker_train_rolling 这个方法, 如何查看呀?


(iQuant) #5

滚动训练的使用可以参考:滚动训练


(a20180322) #6

这个特征得分越高说明因子越有效吗?[
quote=“iQuant, post:1, topic:1084”]
如图所示,直接输入m5.features_gains可以得到特征得分结果,不过类型为内置的DataSource,因此需要通过read_df读出来,读出来的结果为DataFrame格式。
[/quote]


(a20180322) #7

用可视化默认参数选股,今年1月2日选出的股为002606和300462表现一般,而当日表现较好的福建水您盘龙药业等股得分均不高,请问如何进一步分析原因


(达达) #8

您好 这个是根据您输入的因子进行训练投票的结果,因子不同或者漏掉适合当前市场的因子,那么投票的结果是有不同的。因子需要您自己考虑,这个问题就相当于为什么没有每天用同一个方法抓到涨停,市场不存在圣杯。滚动训练可以适当调整策略以匹配最新的市场状态。


(a20180322) #9

请问是否能针对当天涨停的股票进行分析,机器学习自动抽取涨停股票具备的共同因子


(treasuresss) #10

请问stockranker里面封装的是什么算法,有相关文档吗


(ypf007) #11

我也想知道


(Edisonfang) #12

我之前也问过这个问题,当时那个客服跟我说可以看一下GBDT和排序算法


(iQuant) #13

算法原理:list wise learning to rank