提升信号精准度:预测信号分组过滤的方法
由small_q创建,最终由small_q 被浏览 508 用户
作者:徐耀杰(woshisilvio)
导语
为何要对模型预测score得分进行分组统计?
很多时候,我们会发现StockRanker每天按照score得分排序推送的股票,未必是最好的结果。尤其是一些风格不是很稳定的模型,StockRanker每天出的信号也不是很稳定。今天排名NO.1的股票可能是赚钱的,但是到了第二天变成了排名NO.2的股票赚钱,第一名反而变成了亏钱。甚至有时候第1名的股票赚钱,有时候是最后一名的股票赚钱。在实盘过程中,这种轮动现象还会交替出现。
问题思考
基于这个现象,笔者产生了以下问题:StockRanker根据score得分排序选出来的股票,在长期的回测中,他的赚钱效应到底是属于偶然的结果, 还是有一定的赚钱规律?
策略思路
- 输入特征列表,加入未来五日股票的收益因子,计算模型的score得分 IC值,验证模型选股的未来收益。
- 在m10自定义python模块中,调整分组对象,对模型的score得分信号进行分段划分。
- 求出几个分段区间的并集∪,对股票进行过滤
相关因子
#未来五日股票的收益
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)
策略回测
量化技巧
接下来,在m10自定义python模块中,可以很方便的调整我们的分组对象, 对模型的score得分信号进行分段划分。