StockRanker中特征的数值为何非常大?

stockranker
return_5
标签: #<Tag:0x00007f61e7e9f700> #<Tag:0x00007f61e7e9f5c0>

(htly) #1

我是采取策略生成器开发的AI策略,我将StockRanker这个算法的可视化绘制出来,结果发现return_5这个特征数值特别大,为8000多,这个数值太大了。

我就怀疑该指标计算出错,于是在文档里查到了return_5的定义,如下:

return_5的定义为:return_5 / return_0

于是我有两个疑问:

  • 可视化中return_5数值为何如此大?
  • 为什么5日收益率的定义不是:close_5 / close_0 - 1

(iQuant) #2

在策略中,因为有如下代码:

# 数据预处理:缺失数据处理,数据规范化,T.get_stock_ranker_default_transforms为StockRanker模型做数据预处理  
m3 = M.transform.v2(
data=m2.data, transforms=T.get_stock_ranker_default_transforms(),
drop_null=True, astype='int32', except_columns=['date', 'instrument'],
clip_lower=0, clip_upper=200000000)

可以看出,特征是经过变换后的,因为StockRanker要求输入的因子值必须为正整数,所以 *10000

你也可以通过平台的代码来查看:

第二个问题是关于return_5的定义,对于StockRanker而言,线性变换并不影响最终结果,所以close_5 / close_1 和close_5 / close_0 - 1 是一样的,不影响模型结果