前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python量化投资】基于单因子的Alpha预测

【Python量化投资】基于单因子的Alpha预测

作者头像
量化投资与机器学习微信公众号
发布2018-01-29 16:07:03
2.7K0
发布2018-01-29 16:07:03
举报

AlphaHorizon介绍 - 以非流动性因子ILLIQ为例

名称解释:AlphaHorizon是优矿团队实现的基于单因子的Alpha研究和实现一种过程和方法。

AlphaHorizon可以对研究得到的alpha因子做一个比较完整的分析报告,包括alpha因子的回测、IC和换手率等等。需要注意的是,AlphaHorizon的分析和真实的策略交易是不一样的,它仅仅着眼于alpha因子对于收益率的预测方面

数据加载和处理部分AlphaHorizon需要的数据

因子数据

格式为 Series - MultiIndex,MultiIndex包括tradeDate、secID两级

价格数据

格式为DataFrame, index为tradeDate,columns为各个股票的secID;价格即收盘价本文的分析中,使用从09年至今的超过7年数据进行回测。

['2009-01-05', '2009-01-06', '2009-01-07', '2009-01-08', '2009-01-09']1)因子数据加载

2)因子数据处理对因子数据进行截面处理:去极值,标准化

3)价格和行业数据加载此处篇幅较大,细节请参考优矿社区本篇文章。

AlphaHorizon 分析部分1)数据整理通过AlphaHorizon包(可从优矿导入)的get_clean_factor_and_forward_returns函数,将因子和价格数据转成目标格式。得到行业因子分类和前瞻收益率数据,前瞻窗口默认为1、5、10、20,对应于日度、周度、半月度、月度调仓。

2)分位数收益简要分析将股票按照alpha因子分为不同的分位数组合,默认分为5分位,每天计算不同分位数组合内股票的平均超额收益(此处的超额收益为超过市场平均的收益,下同),得到的不同分位数组合内股票的平均超额收益,再取时间序列平均。

作图展示不同分位数组合的日平均超额收益情况,图中的纵轴超额收益的单位为bps(0.0001):

无论前瞻时间窗口,第五分位组合的超额收益均为正,第一分位组合超额收益则为负

从一至五,各个分位数组合超额收益呈现递增趋势

还可以计算最好与最坏的分位数组合的平均超额收益之差,并作为时间序列画出来

做多最好的分位数组合,同时做空最坏的分位数组合;下图给出这一策略的累积收益曲线

3)信息系数分析信息系数衡量的是因子对股票横截面超额收益率的预测能力;计算方式为当期因子值与下期股票收益率之间的秩相关系数;信息系数越接近于1,说明因子的预测效果越好。

对于不同的调仓周期,IC月度平均后作热度图:

图中颜色越红表示IC越大,也即表示因子在这个月表现良好;颜色越绿表示因子在这个月表现不佳;注意,2016年7月之后的绿色是因为没有回测数据而IC为nan可以注意到,2014年11月和12月IC出现显著为绿色的情况,是因为这一段时间小盘股表现明显弱于大盘股,而ILLIQ有小盘股暴露

4)换手率分析计算因子换手率可以展示出因子的时间序列稳定性,侧面反映出使用该因子做策略时候的调仓成本等。

可以看到,该因子月度调仓,其换手大致在40%附近,多头组合换手率略高于空头组合。

5)分行业表现上述的IC和超额收益分析,可以很容易的拓展到分行业的情况

分行业的IC均值作图,可以看到该因子在不同行业里的表现相对来说都比较均衡;不同的颜色代表不同的调仓周期

对于不同的行业,计算用因子分位数选股构建组合得到的平均超额收益;直方图中不同的颜色代表不同的调仓周期

总结性表格对不同调仓周期,以因子值为权重构建多空组合,得到的策略回测结果的统计

本次因子的分析借助优矿量化平台实现。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量化投资与机器学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档