研报&论文

单因子测试之资金流向因子 华泰证券-20180517

由crisvalentine创建,最终由crisvalentine 被浏览 338 用户

摘要

待测因子:流入类、净主动流入类、主力净流入类等

资金流向因子通过委托流数据构建, 反映了股票的微观供求信息。本文通过对资金流向因子进行相关强度分析并结合因子的定义,将Wind五十个资金流向因子分为八类,分别为流入类、流出类、主动净买入类、开盘主动净买入类、尾盘主动净买入类、主力净流入类、开盘主力净流入类以及尾盘主力净流入类,类内因子相关强度较高,类间因子相关强度较低。本文对八类因子进行单因子测试,发现其中四类因子(流入类因子、流出类因子、主力净流入类因子、开盘主力净流入类因子)在选股上存在一定的实用性。

单因子测试框架:分层回测、回归法、因子IC值分析

首先,我们对各资金流向因子依次进行详细的分层模型回测,分析各分层组合的业绩表现和多空组合的表现,判别因子区分度、单调性、稳定性和在不同规模公司、不同一级行业间的业绩强弱。接下来我们使用回归法进行因子测试,对因子收益率序列和回归产生的t值序列进行统计层面上的分析。我们还计算了各因子的IC值序列、IR比率,综合识别有效因子。我们在分层测试中以单边换手率0.2%计算交易成本,更为真实地反应因子选股效果。

单因子分层回测:mfd_sellord表现最好

本文挑选了四类因子中t值、IC值、因子收益率较高的因子作为代表因子,并进行分层测试。2014年1月至2018年3月,在持仓时间为10个交易日的情况下,mfd_buyord(主力流入单数)和mfd_sellord(主力流出单数)在2017年之前表现不错,mfd_buyord的多空组合年化收益率为27.56%,夏普比率为3.53;mfd_sellord的多空组合年化收益率为42.12%,夏普比率为4.43;mfd_volinflowrate_m(主力净流入率)的多空组合年化收益率为12.25%,夏普比率为2.02;mfd_volinflowrate_open_m(开盘主力净流入率)的多空组合年化收益率为14.71%,夏普比率为3.12。

单因子回归法分析和IC值分析:mfd_volinflowrate_open_m表现最好

本文对四个资金流向代表因子进行了回归法分析和IC值分析。2014年1月至2018年3月,在持仓时间为10个交易日的情况下,mfd_buyord因子收益率均值为0.18%,|t|>2占比为70.11%,IR比率为0.58,IC>0占比为72.64%;mfd_sellord因子收益率均值为0.24%, |t|>2占比为74.49%,IR比率为0.69,IC>0占比为75.66%;mfd_volinflowrate_m因子收益率均值为0.75%, |t|>2占比为66.99%,IR比率为0.5,IC>0占比为69.72%;mfd_volinflowrate_open_m因子收益率均值为0.88%, |t|>2占比为67.87%,IR比率为0.78,IC>0占比为81.05%。

因子残差分析:资金流向因子相比传统价量因子具有增量信息

本文将四个资金流向代表因子和三类传统价量因子(动量、换手率、波动率)进行对比。在持仓时间为10个交易日的情况下,动量、波动率类因子在t检验以及因子收益率上表现不如资金流向因子,换手率因子的表现与资金流向因子相近。本文随后将四个资金流向代表因子对三类量价因子做残差分析,其中换手率因子对四个代表因子影响均较大,动量因子对流入和流出因子影响较大,波动率因子则对四个代表因子影响均较小。在剔除了三类量价因子的后,资金流向因子仍然具有传统量价因子中没有的增量信息。

风险提示:单因子测试结果是历史经验的总结,如果市场规律改变,存在失效的可能。资金流向因子持仓时间较短,使用不当可能会造成过高换手率和交易成本。

\

资金流向因子在A股市场实证分析

业界对资金流向因子的传统研究

个股的资金流向来自交易时产生的委托信息。进一步来说,个股的资金流向反映了股票的微观供求信息,根据个股委托流体现出的信息,投资者能够对个股的市场关注及偏好程度有一个大体的了解,从而对投资决策的制定提供一定的帮助。

与传统的基本面因子不同,资金流向因子在数据频率上要高于基本面因子,且有效时间也较短。对于资金流向因子的研究方式有不同做法,业界对于资金流向因子的传统研究基本遵从四个流程:一、定义资金流向指标,构建资金流向类因子计算公式;二、对资金流向因子的有效性、信息含量进行实证分析;三、在实证分析结果的基础上,通过演绎和推理提出解释问题的假说并引入理论模型;四、基于模型构建投资组合并回测。

本文主要工作有:1.本文延续华泰金工单因子测试系列报告的思路和方法,对全部50个Wind资金流向因子进行系统的整理和测试,以求帮助投资者全面了解资金流向因子的选股能力和使用方法。2.本文将资金流向因子与传统的量价类因子(换手率、波动率、动量)进行比较,从增量信息的角度来分析资金流向因子的选股能力。

资金流向因子的选取及测试框架

在本文中,我们将主要针对资金流向类因子进行分析,找出其在二级市场不同行业、不同规模上市公司中的分布规律,并通过分层回测、回归法、计算因子IC值等测试因子有效性。

根据Wind的因子说明,资金流因子具体计算方法遵循以下四个原则:

  1. 算法中根据挂单金额来划分超大单、大单、中单或小单。挂单额小于4万元为小单;挂单额4万元到20万元之间为中单;挂单额20万元至100万元之间为大单;挂单额大于100万元为超大单。
  2. 主动指主动去成交已经存在的对手单;被动是指挂单等待成交。
  3. “主力”指超大单与大单的合计。
  4. 开盘指早盘10:00前,尾盘指午盘2:30后。

本报告中测试的资金流向因子如图表1所示,测试流程如图表2所示。

{w:100} {w:100} {w:100}

资金流向因子的选取及测试框架

与传统的基本面因子不同,资金流向因子作为交易类数据,有比较高的数据频率,因子的有效时间也较短。考虑到频繁调仓带来的高额交易成本,为了在因子有效性与交易成本间取得平衡,本文在单因子测试时采取了10个交易日的持仓周期,在此特地说明。

本文选取的50个资金流向因子数据来源于Wind,为了能够简明地展示因子测试结果,我们将这50个因子分为八类:流入类因子、流出类因子、净主动买入类因子、开盘净主动买入类因子、尾盘净主动买入类因子、主力净流入类因子、开盘主力净流入类因子、尾盘主力净流入类因子。

资金流向因子的行业间差异

资金流向因子在不同行业间存在一定差异。我们选取mfd_buyord(主力流入单数)、mfd_volinflowrate_m(主力净流入率)、mfd_volinflowrate_open_m(开盘主力净流入率)作为资金流向因子的代表,计算它们在2018/03/20收盘时各一级行业的中位数分布规律,如下图所示。可以发现金融业在2018/03/20具有较高的资金流出,并且由于三种资金流向的计算方式各不相同,其在不同行业间的水平存在一定差异。我们认为对上市公司直接进行跨行业比较意义不大,在单因子测试中还是应考虑行业中性处理。

{w:100}上图说明了在同一时间点不同行业间资金流向因子的水平存在一定差异。事实上,随时间变化,同一行业的资金流向因子的绝对大小和与其他行业对比的相对大小也在不断变化中。以mfd_volinflowrate_m(主力净流入率)为例,2017年间每月末各一级行业mfd_volinflowrate_m因子值中位数在所有29个一级行业中的排位变化如下表所示。可以看出,金融业虽长期资金流出较多,但在特定的月末资金流入也排名较高,这一般是由当时的市场环境决定的。

{w:100}

资金流向因子与市值因子的相关性

除去行业对因子存在较大影响外,上市公司的规模也是对各大类因子产生作用的潜在因素。我们在前五篇单因子测试报告中对估值、成长、动量反转、换手率、波动率类因子进行了详细分析,发现市值因子与大部分估值、动量反转、换手率、波动率类因子具有一定相关性,但是与成长类因子间相关性不大。对于本报告中涉及的资金流向类因子,由于大盘股一般资金流较大,所以猜测是正向关系。下面我们将进行详细计算。

我们针对图表1中列出的五十个因子,详细计算了它们在2017年 (在每月最后一个交易日核算)与市值因子之间的相关系数,见上表。经观察发现,部分资金流向类因子确实与市值因子间呈正相关关系,尤其是流入、流出类因子。对于其他因子,其与市值因子的相关性比较小。

{w:100}

资金流向因子间相关性分析

在本章前两个小节中,我们分析了资金流向因子在不同行业的分布差异性及资金流向因子与市值因子的相关性,接下来,我们将计算各资金流向因子之间的相关性。假设因子A和B之间的日度相关系数序列为{Corr^{AB}_i} ,其中{Corr^{AB}_i} 是在第i日日末这一截面上因子A、B在所有个股上的因子暴露度的相关系数,我们构造了一个相关强度指标:

{w:100}我们在八类因子中选取特定因子作为代表(同一类别内因子相关性较高),分别计算代表因子两两之间在20140103至20180320内的相关强度指标,如图表6所示。通过观察可以发现,除了mfd_buyord(主力流入单数)与mfd_sellord(主力流出单数)相关性较强,其余因子间相关性并不显著。如果要组合使用各资金流向因子构建选股模型,需要注意处理多重共线性问题。

{w:100}

单因子测试流程

在多因子系列首篇报告《华泰多因子模型体系初探》(2016.09)中,我们系统地介绍了有效因子识别(即单因子测试)的理论基础和研究思路,在多因子系列第二篇报告《华泰单因子测试之估值类因子》中我们着眼于实践过程,给出了详细的流程操作说明。为避免阅读障碍,我们此处将单因子详细测试流程再复述一遍。

回归法

回归法是一种最常用的测试因子有效性的方法,具体做法是将因子在第T期的暴露度与T+1期的股票收益进行线性回归,所得到的回归系数即为因子在T期的因子收益率,同时还能得到该因子收益率在本期回归中的显著度水平——t值。我们的回归模型为

{w:100}在所有截面期上,我们对因子d进行回归测试,能够得到该因子的因子收益率序列(即所有截面期回归系数𝑋^

𝑇_𝑑构成的序列)和对应的t 值序列。t 值指的是对单个回归系数𝑋^𝑇_𝑑的t检验统计量,描述的是单个变量显著性,t 值的绝对值大于临界值说明该变量是显著的,即该解释变量(T期个股在因子d的暴露度)是真正影响因变量(T + 1期个股收益率)的一个因素。也就是说,在每个截面期上,对于每个因子的回归方程,我们设

测试模型构建方法如下:

{w:100}其中𝑆𝐸(𝑋^𝑇_𝑑)代表回归系数𝑋^𝑇_𝑑的标准差的无偏估计量。一般t 值绝对值大于2 我们就认为本期回归系数𝑋^𝑇_𝑑是显著异于零的(也就是说,本期因子d 对下期收益率具有显著的解释作用)。注意,我们在回归模型中加入了行业因素,能在一定程度上规避行业因素对因子的影响。回归法单因子测试中并未对市值因素的影响进行调整,但是在后续计算因子IC值的部分会做一些调整。

  1. 股票池:全A 股,剔除ST、PT 股票,剔除每个截面期下一交易日停牌的股票。

  2. 回溯区间:2014-01-03 至2018-03-20。

  3. 截面期:每个交易日计算因子暴露度,与下十个交易日窗口的个股超额收益(以沪深

    300 指数为基准)进行回归。

  4. 数据处理方法:

    因子暴露度的计算方法已在图表1 中进行说明,个股收益率均用Wind 后复权收盘价进行计算,个股非交易状态的日期里收益率置为空值;

    标准化:将去极值处理后的因子暴露度序列减去其现在的均值、除以其标准差,得到一个新的近似服从N(0,1)分布的序列,这样做可以让不同因子的暴露度之间具有可比性;

    缺失值处理:对于因子暴露度缺失的股票,我们不将其参与到分层处理。

  5. 回归权重:由于普通最小二乘回归(OLS)可能会夸大小盘股的影响(因为小盘股的估值等因子出现极端值概率较大,且小盘股数目很多,但占全市场的交易量比重较小),并且回归可能存在异方差性,故我们参考Barra 手册,采用加权最小二乘回归(WLS),使用个股流通市值的平方根作为权重,此举也有利于消除异方差性。

  6. 因子评价方法:

t 值序列绝对值平均值——因子显著性的重要判据;

t 值序列绝对值大于2 的占比——判断因子的显著性是否稳定;

因子收益率序列平均值,以及该均值零假设检验的t 值——判断因子收益率序列是否方向一致,并且显著不为零;

t 值序列均值的绝对值除以t 值序列的标准差——结合显著性和波动性,辅助判断因子是否有效、稳健。

因子IC值的计算

因子的IC值是指因子在第T期的暴露度与T+1期的股票收益的相关系数,即

{w:100}测试模型构建方法如下:

  1. 股票池、回溯区间、截面期均与回归法相同。

  2. 因子值在去极值、标准化、去空值处理后,在截面期上用其做因变量对市值因子及行业因子(哑变量)做线性回归,取残差作为因子值的一个替代。这样做可以消除行业因素和市值因素对因子的影响。计算残差序列和T+1期股票收益序列的相关系数作为T期因子IC值。

  3. 因子评价方法:

    IC值序列的均值大小——因子显著性;

    IC值序列的标准差——因子稳定性;

    IR比率(IC值序列均值与标准差的比值)——因子有效性;

    IC值累积曲线——随时间变化效果是否稳定;

    IC值序列大于零的占比——因子作用方向是否稳定。

因子收益率、t值与IC值之间的关系

前两小节分别介绍了用回归法、IC值评价因子有效性的两套思路,那它们之间到底具有怎样的区别和联系呢?为了说明这个问题,我们先介绍一个引理:

图片{w:100}

(r 是股票收益率,X 是因子暴露度,c 是常数项,c 可以理解为市场因子)并且假设我们在计算因子IC 值的时候,不预先对因子暴露度进行市值、行业调整了,就使用原始的因子暴露度X,则本期因子IC 值为𝑐𝑜𝑟𝑟(𝑋, 𝑟),根据引理,因子IC 值的平方就等于单因子测试的回归模型的𝑅^2。

所以,因子IC 值本质上反映的是下期收益率和本期因子暴露度的线性相关程度(𝑅^2的平方根),是使用该因子预测收益率的稳健性(IC 值越大,这个因子的收益越稳定,波动越小);而回归法中计算出的因子收益率本质上是一个斜率,反映的是从该因子可能获得的收益率的大小,这并不能说明任何关于线性拟合优度的信息(也就是说,因子收益率很大时,也可能出现𝑅^2很小的情形);至于回归法中计算出的t 值,在一元线性回归中t 值与𝑅^2反映的信息一致(二者对应关系为,当𝑅^2 = 0时t 值也为0,当𝑅^2 = 1时t 值为无穷大),但是由于我们所采用的回归模型包括了行业变量,所以t 值仅代表被测因子对股票收益的解释能力(而不能代表模型的整体拟合优度)。

总结一下,IC值反映模型整体线性拟合优度,t值反映被测单因子对模型的解释能力是否显著,因子收益率与前两者差别较大,它反映的是可能获得的收益率的大小,而对这个收益是否稳健未知。

事实上,我们在计算因子IC值时也对因子暴露度进行市值、行业预调整了,情况还比上面分析的要复杂一些,但是精髓不变,我们的结论仍然大致正确。

分层模型回测

依照因子值对股票进行打分,构建投资组合回测,是最直观的衡量指标优劣的手段。一般来说,通过回归法和计算因子IC值都无法确定因子的单调性(例如,某因子值排名在中间1/3的个股表现比前1/3和后1/3的个股表现要好),但是分层回测法是可以确定因子单调性的。分层回测法逻辑简单,结果清晰,操作方便,并且具有能区分因子单调性的独特优势,是接受度非常高的一种单因子测试手段。

测试模型构建方法如下:

  1. 股票池、回溯区间都与回归法相同。
  2. 换仓期:在每个十日窗口最后一个交易日核算因子值,在下个十日窗口首个交易日按当日收盘价换仓。
  3. 数据处理方法:不进行任何加工,因子值为空的股票不参与分层。
  4. 分层方法:在每个一级行业内部对所有个股按因子大小进行排序,每个行业内均分成N个分层组合。如图表7所示,黄色方块代表各行业内个股初始权重,可以相等也可以不等(我们直接取相等权重进行测试),分层具体操作方法为N等分行业内个股权重累加值,例如图示行业1中,5只个股初始权重相等(不妨设每只个股权重为0.2),假设我们欲分成3层,则分层组合1在权重累加值1/3处截断,即分层组合1包含个股1和个股2,它们的权重配比为0.2:(1/3-0.2)=3:2,同样推理,分层组合2包含个股2、3、4,配比为(0.4-1/3):0.2:(2/3-0.6)=1:3:1,分层组合4包含个股4、5,配比为2:3。以上方法是用来计算各个一级行业内部个股权重配比的,行业间权重配比与基准组合(我们使用沪深300)相同,也即行业中性。
  5. 评价方法:回测年化收益率、夏普比率、信息比率、最大回撤、胜率等。

{w:100}

单因子测试结果分析

分层模型回测分析方法

在华泰单因子测试系列前两篇报告中,我们用图表结合文字说明的形式,对各个细分因子的分层回测结果一一进行了详细展示。从第三篇报告《华泰单因子测试之动量类因子》开始,我们对报告展示形式加以改进,在维持前两篇测试报告的细致程度的基础上,为了更高效地展示结果,我们会在此处集中说明所有图表的计算细节和分析方法,后面细分因子的测试结果均会使用相同的模板,便于读者速览和对比。

分层测试详细展示图表包括:

  1. 分五层组合回测绩效分析表(20140103~20180320)。组合1~组合5为按该因子从大到小排序构造的行业中性的分层组合。基准组合为行业中性的等权组合,具体来说就是将组合1~组合5合并,一级行业内部个股等权配置,行业权重按当期中证500行业权重配置。多空组合是在假设所有个股可以卖空的基础上,每十日调仓时买入组合1,卖空组合5。回测模型在每个十日窗口最后一个交易日核算因子值,在下个十日窗口首个交易日按当日收盘价调仓(分层组合构建法等更多细节参见上一章“分层模型回测”小节)。
  2. 分五层组合回测净值图。按前面说明的回测方法计算组合1~组合5、基准组合的净值,与沪深300、中证500净值对比作图。
  3. 分五层组合回测,用组合1~组合5的净值除以基准组合净值的示意图。可以更清晰地展示各层组合在不同时期的效果。
  4. 组合1相对中证500日超额收益分布直方图。该直方图以[-0.2%,0.2%]为中心区间,向正负无穷方向保持组距为0.2%延伸,在正负两个方向上均延伸到最后一个频数不为零的组为止(即维持组距一致,组数是根据样本情况自适应调整的)。
  5. 分五层时的多空组合收益图。再重复一下,多空组合是买入组合1、卖空组合5(月度调仓)的一个资产组合。多空组合收益率是由组合1的净值除以组合5的净值近似核算的。
  6. 不同市值区间分层组合回测绩效指标对比图(分十层)。我们将全市场股票按市值排名前1/3,1/3~2/3,后1/3分成三个大类,在这三类股票中分别进行分层测试,基准组合构成方法同前面所述(注意每个大类对应的基准组合并不相同)。
  7. 不同行业间分层组合回测绩效分析表(分五层)。我们在不同一级行业内部都做了分层测试,基准组合为各行业内该因子非空值的个股等权组合(注意每个行业对应的基准组合并不相同)。

注意到基准组合为合并组合1~组合5的结果,因此对于基准组合来说,调仓日的换手率基本等于0(除新增入股票池的股票)。前期报告为月度调仓,换手率对组合净值的影响不大;本文中调仓周期为10日,经粗略估算在分层回测的时间窗口内,调仓会给投资组合1~5带来年化6%至10%左右的交易成本,因此下文中组合1~5的表现不能直接与基准组合进行对比。

由于在构建分层组合时行业内股票等权配置,所以我们选择的沪深300指数是300等权指数(000984.SH),中证500指数是500等权指数(000982.SH)。

流入因子

该类因子为与当前交易日资金流入相关的指标,包括主力流入额、主力流入量、主力流入单数、主力主动买入额、主力主动买入量,注意流入类因子为反向因子(回测因子值为原因子值乘以-1)。mfd_buyord(主力流入单数)在组内的因子收益率、ICIR值排名均较高,因此我们挑选其作为流入类代表因子进行展示。

{w:100} {w:100} {w:100} {w:100} {w:100} {w:100}

流出因子

该类因子的定义为与当前交易日资金流出相关的指标,包括主力流出额、主力流出量、主力流出单数、主力主动卖出额、主力主动卖出量,注意流出类因子为反向因子(回测因子值为原因子值乘以-1)。mfd_sellord(主力流出单数)在组内的因子收益率、ICIR值排名均较高,因此我们挑选其作为流出类代表因子进行展示。

{w:100} {w:100} {w:100} {w:100} {w:100} {w:100} {w:100}

主力净流入因子

该类因子的定义为与当前交易日主力净流入相关的指标,包括主力净流入额、主力净流入率(金额)、主力净流入额占比、主力净流入量、主力净流入率(量)、主力净流入量占比。mfd_volinflowrate_m(主力净流入率)在组内的因子收益率、t值排名均较高,因此我们挑选其作为流入类代表因子进行展示。

{w:100} {w:100} {w:100} {w:100} {w:100} {w:100} {w:100}

开盘主力净流入因子

该类因子的定义为与当前交易日开盘主力净流入相关的指标,包括开盘主力净流入额、开盘主力净流入率(金额)、开盘主力净流入额占比、开盘主力净流入量、开盘主力净流入率(量)、开盘主力净流入量占比。mfd_volinflowrate_open_m(开盘主力净流入率)在组内的因子收益率、t值排名均较高,因此我们挑选其作为流入类代表因子进行展示。

{w:100} {w:100} {w:100} {w:100} {w:100} {w:100} {w:100}

净主动买入因子

该类因子的定义为与当前交易日净主动买入相关的指标,包括净主动买入额、净主动买入量、净主动买入额(全单)、净主动买入率(金额)、净主动买入额占比、净主动买入量(全单)、净主动买入率(量)、净主动买入量占比,注意净主动买入类因子为反向因子(回测因子值为原因子值乘以-1)。

{w:100}观察发现净主动买入类因子的IC值与t值均较低,反映模型整体线性拟合优度较差,被测单因子对模型的解释能力不显著,因此该类因子被我们定义为无效因子,后续步骤略过。

开盘净主动买入因子

该类因子的定义为与当前交易日开盘净主动买入相关的指标,包括开盘净主动买入额、开盘净主动买入率(金额)、开盘净主动买入额占比、开盘净主动买入量、开盘净主动买入率(量)、开盘净主动买入量占比,注意开盘净主动买入类因子为反向因子(回测因子值为原因子值乘以-1)。

观察发现开盘净主动买入类因子的IC值与t值均较低,反映模型整体线性拟合优度较差,被测单因子对模型的解释能力不显著,因此该类因子被我们定义为无效因子,后续步骤略过。

尾盘净主动买入因子

该类因子的定义为与当前交易日尾盘净主动买入相关的指标,包括尾盘净主动买入额、尾盘净主动买入率(金额)、尾盘净主动买入额占比、尾盘净主动买入量、尾盘净主动买入率(量)、尾盘净主动买入量占比,注意尾盘净主动买入类因子为反转因子(回测因子值为原因子值乘以-1)。

{w:100}观察发现尾盘净主动买入类因子的IC值与t值均较低,反映模型整体线性拟合优度较差,被测单因子对模型的解释能力不显著,因此该类因子被我们定义为无效因子,后续步骤略过。

尾盘主力净流入因子

该类因子的定义为与当前交易日尾盘主力净流入相关的指标,包括尾盘主力净流入额、尾盘主力净流入率(金额)、尾盘主力净流入额占比、尾盘主力净流入量、尾盘主力净流入率(量)、尾盘主力净流入量占比。

{w:100}观察发现尾盘主力净流入类因子的IC值与t值均较低,反映模型整体线性拟合优度较差,被测单因子对模型的解释能力不显著,因此该类因子被我们定义为无效因子,后续步骤略过。

因子收益率和IC值对比分析

上一节中,我们选择性展示了四个资金流向类因子分层回测的结果,本节我们将展示这四类因子中代表因子的因子收益率和IC值对比分析。

值得注意的是,我们此处计算的因子IC值并不是因子原始暴露度和下期收益的相关系数,而是“经过市值和行业调整的”因子暴露度和下期收益的相关系数(具体计算方法详见第二章“单因子测试流程”的第二小节“因子IC值的计算”),所以因子IC值的计算结果和回归测试结果并不是完全一致的(回归模型中包含行业哑变量而不包含市值相关解释变量)。

图表48中统一展示了4个资金流向因子的回归测试结果。图表49和图表50展示了4个资金流向因子累积收益率曲线。

{w:100} {w:100}图表51中统一展示了4个资金流向因子的IC测试结果。图表52和图表53展示了4个资金流向因子累积IC值曲线。

{w:100} {w:100}上面的图表可以看出,流入类因子mfd_buyord(主力流入单数)与流出类因子mfd_sellord(主力流出单数)在2017年之前表现较好,2017年之后回撤较大,mfd_sellord的表现要比mfd_buyord更好;主力净流入类因子mfd_volinflowrate_m(主力净流入率)与开盘主力净流入类因子mfd_volinflowrate_open_m(开盘主力净流入率)表现比较平稳,2015年牛市期间因子收益率和IC值较大。取假设检验H:因子收益率序列均值显著异于0。则假设检验H对应的t值在图表48最后一列,所有列举出的四个资金流向因子都明显通过该假设检验。

资金流向因子与传统量价因子的对比

同样作为市场交易类数据,资金流向因子与换手率、动量反转、波动率类因子间可能存在一定的关系。我们首先通过回归测试和IC值测试对比传统价量因子和资金流向因子。接下来,为了考察资金流向因子带来的增量信息,我们分别对三类量价因子做回归,取残差进行后续测试。

回归测试和IC值测试

图表55和图表56分别展示了资金流向因子和三种传统量价因子的回归测试结果和IC值测试结果(持仓周期为10个交易日)。因子说明如下:

{w:100} {w:100} {w:100}可以看出在较短的持仓周期内(10个交易日),波动率因子和部分动量反转因子在回归测试和IC测试上的表现不如资金流向因子,换手率因子的表现与资金流向因子相近。

因子残差分层测试与回归分析

接下来,为了考察资金流向因子带来的增量信息,我们将资金流向因子分别对三类量价因子做回归,取残差进行后续测试。由于回归方程中的被解释项资金流向因子是日频因子,作为解释项的三类量价因子也必须为日频数据。参考《华泰单因子测试之换手率类因子》和《华泰单因子测试之波动率类因子》以及本文中图表55、图表56展示的结果,我们选取了5日平均换手率(turnover)、20日动量反转(return)、20日波动率(std)作为量价因子的代表。

流入因子

因子说明:

mfd_buyord:主力流入单数因子。

mfd_buyord_turnover:主力流入单数因子与换手率因子回归取残差所得因子。

mfd_buyord_return:主力流入单数因子与动量因子回归取残差所得因子。

mfd_buyord_std:主力流入单数因子与波动率因子回归取残差所得因子。

从分层回测结果看,mfd_buyord因子对于三类量价因子残差的表现均差于原mfd_buyord因子,其中对换手率残差的表现差异最大,说明该因子包含了较多换手率的信息,这也和流入类因子的市场意义相一致。从回归法结果看,三类残差的回归结果与原因子相差不大,说明mfd_buyord因子相对量价因子存在一定的增量信息。

{w:100} {w:100} {w:100}

流出因子

因子说明:

mfd_sellord:主力流出单数因子。

mfd_sellord_turnover:主力流出单数因子与换手率因子回归取残差所得因子。

mfd_sellord_return:主力流出单数因子与动量因子回归取残差所得因子。

mfd_sellord_std:主力流出单数因子与波动率因子回归取残差所得因子。

从分层回测结果看,mfd_sellord因子对于三类量价因子残差的表现均差于原mfd_sellord因子,其中对动量残差的表现差异最大。从回归法结果看, 三类残差的回归结果与原因子相差不大,说明mfd_sellord因子相对量价因子存在一定的增量信息。

{w:100} {w:100} {w:100}

主力净流入因子

因子说明:

mfd_volinflowrate_m:主力净流入率因子。

mfd_volinflowrate_m_turnover:主力净流入率因子与换手率因子回归取残差所得因子。

mfd_volinflowrate_m_return:主力净流入率因子与动量因子回归取残差所得因子。

mfd_volinflowrate_m_std:主力净流入率因子与波动率因子回归取残差所得因子。

从分层回测结果看,mfd_volinflowrate_m因子对动量及波动率因子的残差与原因子表现相差不大,说明mfd_volinflowrate_m因子与动量及波动率因子不存在较大关系;对换手率因子残差的表现则远不如原因子。回归法的结果与分层回测结果相一致。

{w:100} {w:100} {w:100}

开盘主力净流入因子

因子说明:

mfd_volinflowrate_open_m:开盘主力净流入率因子。

mfd_volinflowrate_open_m_turnover:开盘主力净流入率因子与换手率因子回归取残差所得因子。

mfd_volinflowrate_open_m_return:开盘主力净流入率因子与动量因子回归取残差所得因子。

mfd_volinflowrate_open_m_std:开盘主力净流入率因子与波动率因子回归取残差所得因子。

从分层回测结果看,mfd_volinflowrate_open_m因子对动量及波动率因子的残差与原因子表现相差不大,说明mfd_volinflowrate_open_m因子与动量及波动率因子不存在较大关系;对换手率因子残差的表现则远不如原因子。回归法的结果与分层回测结果相一致。

{w:100} {w:100} {w:100}

总结和展望

  1. 本文通过对资金流向因子进行相关强度分析并结合因子的定义,将Wind五十个资金流向因子分为八类,分别为流入类、流出类、主动净买入类、开盘主动净买入类、尾盘主动净买入类、主力净流入类、开盘主力净流入类以及尾盘主力净流入类,类内因子相关强度较高,类间因子相关强度较低。本文对八类因子进行单因子测试,发现其中四类因子(流入类因子、流出类因子、主力净流入类因子、开盘主力净流入类因子)在选股上存在一定的实用性。
  2. 本文挑选了四类因子中t值、IC值、因子收益率较高的因子(主力流入单数mfd_buyord、主力流出单数mfd_sellord、主力净流入率mfd_volinflowrate_m、开盘主力净流入率mfd_volinflowrate_open_m)作为代表因子,并进行分层测试。2014年1月至2018年3月,在持仓时间为10个交易日的情况下,mfd_buyord(主力流入单数)和mfd_sellord(主力流出单数)在2017年之前表现不错,mfd_buyord的多空组合年化收益率为27.56%,夏普比率为3.53;mfd_sellord的多空组合年化收益率为42.12%,夏普比率为4.43;mfd_volinflowrate_m(主力净流入率)的多空组合年化收益率为12.25%,夏普比率为2.02;mfd_volinflowrate_open_m(开盘主力净流入率)的多空组合年化收益率为14.71%,夏普比率为3.12。
  3. 本文对四个资金流向代表因子进行了回归法分析和IC值分析。2014年1月至2018年3月,在持仓时间为10个交易日的情况下,mfd_buyord因子收益率均值为0.18%,|t|>2占比为70.11%,IR比率为0.58,IC>0占比为72.64%;mfd_sellord因子收益率均值为0.24%, |t|>2占比为74.49%,IR比率为0.69,IC>0占比为75.66%;mfd_volinflowrate_m因子收益率均值为0.75%, |t|>2占比为66.99%,IR比率为0.5,IC>0占比为69.72%;mfd_volinflowrate_open_m因子收益率均值为0.88%, |t|>2占比为67.87%,IR比率为0.78,IC>0占比为81.05%。
  4. 本文将四个资金流向代表因子和三类传统价量因子(动量、换手率、波动率)进行对比。在持仓时间为10个交易日的情况下,动量、波动率类因子在t检验以及因子收益率上表现不如资金流向因子,换手率因子的表现与资金流向因子相近。本文随后将四个资金流向代表因子对三类量价因子做残差分析,其中换手率因子对四个代表因子影响均较大,动量因子对流入和流出因子影响较大,波动率因子则对四个代表因子影响均较小。在剔除了三类量价因子的后,资金流向因子仍然具有传统量价因子中没有的增量信息。
  5. 资金流向因子通过委托流数据构建,委托流数据依然有很大的挖掘价值,本文是一个初步探索,后续计划开展以下工作:(1)对资金流向因子的持仓时间进行更多测试(不限于持仓10个交易日)。(2)分析表现较好的资金流向因子(如mfd_sellord)对委托流数据的使用逻辑,借助机器学习和海量数据处理的手段,对委托流数据进行深度挖掘,以求找到更加稳健的Alpha因子。

\

标签

单因子模型
评论
  • 1. 主力流入单数mfd_buyord、主力流出单数mfd_sellord、主力净流入率mfd_volinflowrate_m、开盘主力净流入率mfd_volinflowrate_open_m \ **这几个因子如何计算?** \
{link}