大数跨境
0
0

因子研究系列之四 -- 市值与行业的中性化

因子研究系列之四 -- 市值与行业的中性化 JoinQuant聚宽
2017-03-03
0
导读:本文给出以BP(账面市值比)为例的因子缩尾处理和对市值与行业中性化的处理实现代码,展现单因子不同分位处在不同处理方法下的表现。

导语:本文给出以BP(账面市值比)为例的因子缩尾处理和对市值与行业中性化的处理实现代码,展现单因子不同分位处在不同处理方法下的表现。


本文是一系列因子研究中的第四篇文章。本系列的文章有:

  1. 【量化课堂】因子研究系列之一 -- 估值和资本结构因子

  2. 【量化课堂】因子研究系列之二 -- 成长因子

  3. 【量化课堂】因子研究系列之三 -- 技术因子

  4. 【量化课堂】因子研究系列之四 -- 市值与行业的中性化

引言


因子系列文章首先展示了不同因子的构建与端点处的股票策略回测结果,本文借助【量化课题】多回测运行和参数分析框架中给出的分析方法和框架,展示对因子按照市值和行业进行标准化和去极值化的方法和回测结果。


单因子的对比


如因子研究系列一~三篇中所示,在单因子策略中我们把股票池中股票按照某个因子从小到大排序,因为我们认为因子指标跟高或更低的股票会取得超额的收益。但很多时候用两支股票的同一因子指标在未经处理的情况下缺乏可比性。一个非常明显的例子就是 BP 值(账面市值比),银行股的 BP 一般平均大于 1 ,而互联网相关服务行业近一年平均 0.1。所以如果只是认为高 BP 就是估值过低,那么就只会买进银行股而不买科技股,但这很明显不是合理的投资思路。同理的,一般大盘股 BP 值都比小盘股要高,但我们并不能根据 BP 的估值方法来断论小市值股票的收益率低于大市值股票,毕竟事实是恰好相反的。


对单个因子进行分析,我们会发现有一些额外的因素影响了该因子的取值,比如在 BP 值的例子中,投资者对不同行业和规模的上市公司的成长预期以及市场的热点影响了 BP 的取值。我们要做的是把受到影响因素相同的股票归为一堆,然后在每一堆上进行中性化和去极值的处理,这样受到影响不同的股票之间就可以进行相互比较。接下来我们就以 BP 值为例介绍具体的处理方法,并可通过回测看出处理后的因子策略更为有效。


市值


首先,我们注意到【量化课题】多回测运行和参数分析框架中给出的 BP 因子分位回测结果中,虽然从十年回测结果上看 BP 因子不同分位回报率还是比较有区分度,但是查看具体的历史走势显得凌乱混杂。下图是对比等权全指为基准的 BP 分位回报率超额收益(2006 年 2 月 1 日到 2016 年 11 月 1 日,两百万,持仓一个月每月月初调整,具体见链接)。

正如上面提到的,对于 BP 因子来说,常见的现象就是其分布在不同行业和不同市值的公司存在差异。下图展现的是从2005年到2016年每年年底按照总市值大小分成三种后每组的 BP 均值,其中 group1 是小市值股票,group2 是中市值,group3 是大市值股票。跨年比较的数据表明 BP 指标跟大盘的变动也挺相似,在牛市和熊市变动间不断转换,牛市平均 BP 低于熊市平均 BP。 同时我们可以看出,三个市值组合的平均 BP 相对排名在不同年份中是有变动的,在早年市场对于大盘股较为追捧,估值高 BP 相对小市值较低。从 2008 年之后,趋势发生了变动,小盘股更被关注,估值相对较高 BP 相对较低。感兴趣的朋友可以从相对变动的排名和 BP 值中挖掘处更多的信息。

以 2016 年为例,2016 年年底的 BP 按照不同的市值分组的分布情况,根据分布情况我们不止能得到均值的信息,而且能够分析出更多内容。根据分布情况我们可以直观的了解到不同市值分组的 BP 一、二、三、四阶矩都不同,反应为均值、方差、峰度和偏度都存在差异。看起来像是对数正态分布,但实际上我们试过对数转换后发现起始看起来离正态分布也差很远,因此没有使用对数值为基础进行随后的处理,而是使用 BP 的原始值。下图是使用默认设置的核函数绘制的不同市值水平 BP 的分布图。

分布的对数处理后效果

我们接下来要在大、中、小市值股票上分别对 BP 因子进行检测,为此应该分别对大、中、小市值的走势有一个评价标准,所以要构建三个分市值上证全股的回测作为基准。具体回测策略如下:按照当天的市值进行排序分三组,每月初进行调仓持有相同金额一个月上月没有停牌的该组内所有股票,从 2006 年 2 月 1 日开始到 2016 年 11 月 1 日,初始资金 2000000。下图我们可以看出三种不同市值股票的变动情况。从图形中三种策略开始区分我们对应到上图中几个组间 BP 相对排序变化的时点,在 2008 年之后开始,与普遍观测较为一致,小市值带来了很高的收益,尤其是相对于中等市值和大市值股票而言。

根据上图的三个回测结果为新基准,我们引入【量化课题】多回测运行和参数分析框架进一步分析。首先给出一个总体的表现汇总,每个市值的不同分位回报率和最大回撤的结果。策略为:按照当天的市值进行排序分三组,在每个总市值分组中再对 BP 按大小分10组,每月初进行调仓持有相同金额一个月上月没有停牌的该组内所有股票,从 2006 年 2 月 1 日开始到 2016 年 11 月 1 日,初始资金 2000000,使用的是上证的股票。下图中 Max_drawdown 和 Annual_return 分别表示最大回撤和年化收益率,group1、group2 和 group3 分别表示小、中和大市值回测结果。我们可以看出各种表现里小市值具有明显高于另外两组的收益,无论从哪一个 BP 分位而言,同时其也具有相对于其他市值分组更小的最大回撤。

结合之前等权的分市值回测结果新基准,超额收益和超额收益的最大回撤率分别如下图所示。其中 Excess_max_drawdown 和 Excess_annual_return 分别表示超额收益率的最大回撤和年化超额收益率,group1、group2 和 group3 分别表示小、中和大市值回测结果。首先,可以看出不同市值水平下,BP 因子还是具有相似的逻辑,BP 因子越大回报率相对较高。其次,高 BP 股票结合新基准对冲之后的超额收益率具有较低的最大回撤,这是我们很高兴看到的。第三,结合不同市值分组的高 BP 因子分位表现,我们可以发现小市值结合 BP 后并没有特别出色的超额收益表现。这说明小市值股票整体具有较好的走势,而小市值中的 BP 因子却不能带来更好的超额收益。相反,在大市值股票中,BP 具有很好的超额收益。

下图的回报率曲线仅展示针对自定义基准超额收益对数轴的图例(超额收益和对数轴的细节请查看【更新说明】新超额收益 和 对数轴)。从上到下分别是小市值、中市值和大市值。


小市值

中市值

大市值

通过三个市值对数轴的超额收益我们可以看出,虽然不同市值最后的年化收益因子分位区分度较为明显趋同,但是具体的时序表现而言,不同市值因子表现差异巨大。BP 本质是估值因子,高 BP 分位策略就是持有 BP 因子较高股票,剔除持仓中 BP 因子较低股票,整体反映了价值投资的逻辑。对数轴超额收益最直观的解读是其数值大于零表示超额收益为正,超额收益对数值变大(变小)表示相对于基准收益差异变大(变小)。那么三个市值的超额对数收益率的表现如下:在大市值中高 BP 策略收益相对于大市值等权收益持续扩大;小市值高 BP 策略对于小市值等权收益的超额收益主要产生于 2011 年之前,后来没有扩大的趋势反倒发生了回撤,并且 BP 最大的小市值股票完全没有产生任何的超额收益;中等市值中大小市值中存在的现象并存。结合时间趋势可以看出,市场早期(2011 年以及之前)对于高 BP 的高额回报存在与大中小市值中,但中小市值的回报更多。这体现了早期市场中对于 BP 估值因子体现的公司价值投资的认可;在 2011 年之后的市场对于 BP 的高额回报更多体现在大市值中,小市值股票体现出了炒作影响,高 BP 策略已经难以带来持续的超过小市值等权带来的平均水平收益了。


行业


单因子结合行业的分析是另一种常见的分析框架。在聚宽平台中,我们分别有证监会行业分类和聚宽的行业分类。我们提取了 2014 年到 2016 年年底各行业的 BP 数据生成了下图,其中每个字母表示我们根据证监会行业分位的首字母把细分行业合并成上级行业后的行业分类(例如 A01 到 A05 五个次级行业归为一个上级行业 A)。这样处理后,我们给出了 14 个一级行业,分别为 A 农业,B 开采,C 制造业,D 能源,E 建筑,F 零售,G 交通运输,H 餐饮住宿,I IT相关,J 金融,K 房产,L 商务租赁,M 研发,N 公共产品,P 教育,R 文化,S 综合。删除没有行业给定的股票(以 2016 年年底为例,删除约占总股票数目的 9%),删除只有一只股票的行业(因为限制在上证上市股票可能最后出现这样的情况),同时删除同时具有两个行业标签的股票。

通过上图可以看出,在对行业区别对待 BP 值这种方法上,确实不同行业的 BP 体现了行业估值逻辑的差异性。简单总结图中的几点:第一,行业的估值相对水平基本上比较稳定,例如无论哪年金融都比别的行业 BP 高,而 IT 相关的行业相对 BP 较低;第二 BP 在不同行业都体现了大盘的波动,普遍大部分行业的 BP 水平在 2015 年都低于该行业 2014 年和 2016 年的行业平均水平;第三点是 BP 不遵守上述两点规律的表现体现了市场的投资风向变动,这同时源于不同行业在当时经济发展和制度政策的条件。


因为行业数量比较多,这里就不分别为每个行业进行分 BP 回测。在后面我们会展示按行业处理后的整体 BP 回测结果。接下来将介绍缩尾和中性化两个处理方法。


缩尾


缩尾和截尾是两种处理极值处指标的方法。所谓的 尾 是指上边分布图中拖拉很长但是每个横轴对应的分布概率又很小的部分。缩尾就是把超过阈值的指标值用阈值替换,比如大于 1.5 的 BP 值在后续处理中转化成 1.5 处理。截尾处理一般是把超过阈值的样本删除,然后在保留的样本中进行处理。


缩尾和截尾一般对应两种阈值生成方法,一种是指定分位,一种是利用概率分布的均值方差处理。分位的方式很直观,当一个指标最大的 1% 和最小的 1% (或其他百分位)被认为属于极值,那么直接设定该值为阈值就可以了。这样的一个阈值选取需要基于既有的经验或习惯。另一种可以称为数据驱动型,就是阈值是由于数据本身的属性生成的而非人为给定,例如均值标准差方法。结合概率论的表述也很好理解,我们使用均值和标准差构建了一个样本值范围,该范围为所有样本中样本在一选定样本的概率(例如本研究中使用均值上下两个标准差的概率选定为 95%)。


我们根据 2016 年底上证股票 BP 均值上下两个标准差进行缩尾处理,即把出现概率小于 5% 的极端值转化为阈值处的指标水平,然后按照市值分组画出处理前后的对比图。由于原始值的分布尾巴明显往右拖,因此缩尾处理后对于右部影响明显,明显把阈值外部分挤向中间。

这两者对于尾的处理除了主要关注的值本身,还有对于样本的影响。即使不结合对于样本分布的影响讨论,样本量本身的变动差异可以看出,断尾处理与缩尾处理相比,减少了备选的可行股票池,具体减少多少根据预设处理参数决定。在实际的单因子策略中缩尾处理如果指定的标准影响的原始值数量不多,处理与不处理得到的结果影响不大,因为按照排序选取,择股只与相对大小有关而与原始值没关系了。此处就是缩尾与截尾对于结果影响的简单例子,如果使用其他比较复杂方法或模型,两者的差别会更加复杂。


中性化


中性化一般的处理方法是把原始值减去均值除以标准差得到,转化后新的分布均值为 0,大于原始值一个标准差的值变为 1,表示与均值一个标准差距离。有的时候研究中给出了中性化、标准化或规范化三个定义,实际上差异主要存在于表述中。简单总结,中性化体现了针对某个标准(例如行业或者市值)规范化/标准化的结果。


转化的意义在于怎么把鸡和鸭一起比,比如说 3 苹果和 2 橘子哪个好?庸俗点转化成人民币标准就可以比了。不同行业(市值)的 BP 水平不一样,但我们假设每个行业最大 BP 的公司可能存在着相同的估值偏低水平,那么标准化就可以实现这样的效果了。上一幅图展现了数据在是否使用缩尾带来的差异,那么下图展现 2016 年年底 BP 数据在缩尾处理后是否对市值行业中心化的差别,使用默认核函数生成分布图。经过转化的图形看起来就比较正态相似了,那么可能每个不同市值组中提取相同 BP 值对应的股票,具有相似的可比性。


行业和市值中性化


首先看一下市值中性化的结果,在此之前先回忆一下不处理市值中性化前 BP 分位回测结果。

对市值中性化处理后 BP 因子策略的分位回测结果显得具有明显区分度,并且在时序变化表现中具有较好的一致趋势。高 BP 策略针对于等权全指策略的超额收益率持续放大。超额收益率的最大回撤也在下面展示了,最小的最大回撤(好拗口,就是第二、三分位的最大回撤)都在 10% 左右,已经还不错了。

不同的行业中性化 BP 分位回测对比等权全指的对数超额回报率。相对于等权全指的,行业中性化的结果和市值中性化的结果都明显好于没有处理的结果,但是行业和市值中性化结果对比而言,不同 BP 回测结果的超额收益率对数表明其区分度更好。反而言之,对于 BP 不能在不处理时具有很好的区分度这一问题,同时包含了市值影响和行业影响:不同市值的 BP 在均值和分布上都有差异,不同行业的估值逻辑导致其 BP 水平具有较大差异。结合对比的回测结果可以看出,市值和行业的 BP 干扰中行业的问题更大。

行业中性处理和市值中性处理的回报率与回撤。

行业中性处理和市值中性处理的超额回报率与超额回报最大回撤。

小结


本文是对于之前调参框架的实用案例,也是对于因子数据处理方法的一个介绍。具体的股票分类和中性标准寻找,需要结合研究的因子而变,因为每个因子受到的影响因素存在差异。本文给出的市值和行业是因子分析中常用的特征指标,但并不是所有因子都这样。当找到合适的标准后,根据上文给出的分析方法,可以进行分组研究并进行中性化处理已得到更加合理科学的结果。


函数和变量说明书

点击『阅读原文』,到JoinQuant社区参与讨论


长按指纹,关注JoinQuant

【声明】内容源于网络
0
0
JoinQuant聚宽
JoinQuant(聚宽)量化交易平台官方账号
内容 249
粉丝 0
JoinQuant聚宽 JoinQuant(聚宽)量化交易平台官方账号
总阅读202
粉丝0
内容249