PLUS会员

提升信号精准度:预测信号分组过滤的方法

由small_q创建,最终由small_q 被浏览 508 用户

作者:徐耀杰(woshisilvio)

导语

为何要对模型预测score得分进行分组统计?

很多时候,我们会发现StockRanker每天按照score得分排序推送的股票,未必是最好的结果。尤其是一些风格不是很稳定的模型,StockRanker每天出的信号也不是很稳定。今天排名NO.1的股票可能是赚钱的,但是到了第二天变成了排名NO.2的股票赚钱,第一名反而变成了亏钱。甚至有时候第1名的股票赚钱,有时候是最后一名的股票赚钱。在实盘过程中,这种轮动现象还会交替出现。

问题思考

基于这个现象,笔者产生了以下问题:StockRanker根据score得分排序选出来的股票,在长期的回测中,他的赚钱效应到底是属于偶然的结果, 还是有一定的赚钱规律?

策略思路

  1. 输入特征列表,加入未来五日股票的收益因子,计算模型的score得分 IC值,验证模型选股的未来收益。
  2. 在m10自定义python模块中,调整分组对象,对模型的score得分信号进行分段划分。
  3. 求出几个分段区间的并集∪,对股票进行过滤

相关因子

#未来五日股票的收益
return_5_day=(shift(close_0, -5)-shift(open_0, -1))/shift(open_0, -1)
#未来10日股票的收益
#return_10_day=(shift(close_0, -10)-shift(open_0, -1))/shift(open_0, -1)

策略回测

{w:100}{w:100}{w:100}{w:100}量化技巧

接下来,在m10自定义python模块中,可以很方便的调整我们的分组对象, 对模型的score得分信号进行分段划分。

标签

股票排序
评论
  • 运行报错,没找到m10模块,请问一下这个怎么改
  • [点此开通PLUS会员](https://bigquant.com/plus?invitation_code=eq4vmb),享全站课程及课程源码!
  • 本文的m10其实是为m12,已经修改了哈
{link}