ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

A股盈利质量因子实战:ROE与毛利率的正确用法与避坑指南

A股盈利质量因子实战:ROE与毛利率的正确用法与避坑指南 如果只看教科书盈利与质量因子是A股最容易理解、也最容易被错误使用的因子ROE选出的都是好公司毛利率体现了生意本质可一旦直接拿它们去排序选股票结果往往不如想象中那么美好。我刚开始做量化时跑的第一个单因子就是ROE回测结果差点让我放弃整个方向。后来经过大量复盘才明白不是这个因子不能用而是我用错了位置也忽略了A股的一些特殊定价规则。这一篇就专门聊清楚ROE和毛利率在A股到底能不能带来超额收益背后的来源是什么以及哪些坑会让因子在一段时间内彻底失效。如果你是刚开始接触基本面量化的人这一篇基本可以当作一张避坑地图如果你已经做了几年因子研究里面的行业中性化、数据对齐和拥挤度监控也许能帮你把现有的盈利质量模型再打磨一层。1. 为什么盈利因子在A股经常被骂无效1.1 我第一次跑ROE因子时得到的矛盾结论先说那次让我印象深刻的回测。数据用的是全A股剔除ST后按最新年报ROE从高到低分成五组等权持有一年调一次仓时间从2013年回测到2019年。结果最高ROE组合的年化收益明显低于最低ROE组合多空曲线一路向下我当时的第一个念头是A股根本不认基本面。但打开持仓就发现问题了最低ROE组里躺着大量ST、连年亏损的小市值壳资源股它们靠借壳预期、题材炒作和超跌反弹贡献了收益最高ROE组则集中在银行、白酒、家电和部分周期品上要么被当作防御品种长期低估要么在周期高点拿到漂亮报表后开始走弱。这个矛盾结论真正揭示的是直接按ROE绝对值分组会让因子同时受到市值、行业、壳价值、事件驱动等多重因素的污染。很多人把这种回测结果解读为盈利因子在A股无效其实更多是数据处理和分组设计的问题。后来我在高ROE组内再叠加估值约束或者在行业内部分组进行中性化超额收益的方向就变得稳定多了。从那以后我形成了一条原则在A股做盈利因子第一课不是找指标而是先学会排除干扰。1.2 好公司不涨垃圾公司乱涨背后的市场结构原因为什么A股会出现这种好公司不涨、垃圾公司乱涨的阶段性现象从量化角度看盈利因子真正要捕捉的是市场对公司盈利预期的系统性低估但A股定价逻辑里短期资金更愿意为高弹性、高想象空间、事件催化的公司付钱而不是为稳定的ROE付钱。高ROE公司往往已经获得了大量机构关注价值被研究得比较充分预期差反而小而亏损或者微利的公司一旦出现催化剂价格弹性极大。这不是说盈利因子没有用而是说它的超额收益来源主要来自预期差和风险补偿不是公司好就涨这么简单。同时A股的壳价值周期会严重干扰单因子回测。在壳资源被热炒的阶段低盈利、小市值公司存在隐含的重组期权会系统性跑赢高盈利大市值公司。如果直接用全市场分组回测盈利因子多空收益很容易被这层期权溢价打穿。处理方式通常是两条一是在股票池层面剔除极小市值和ST类股票把定价逻辑不同的标的先分开二是在行业内或者市值分组内做中性化单独考察盈利因子在可比公司之间的区分能力。明白这一点就能理解为什么有些研究报告里盈利因子IC时正时负很多时候不是因子本身失效而是没控制好对照组。2. 把ROE从一个数拆成一段可验证的历史2.1 单期ROE的硬伤偶然与周期ROE净利润/净资产这个公式看起来非常直观但单期ROE是个高噪声指标。一家公司可以在某一年靠变卖资产、政府补贴、一次性投资收益或者行业景气顶点把净利润做到历史最高ROE冲得极其亮眼第二年这些因素消失ROE立刻回落。如果你用最新一期ROE去选股很容易买在盈利高点也就是常说的价值陷阱。举个典型例子强周期行业里的航运、养殖、资源品景气高点时ROE可以超过30%低点时可能变成负值把它当作稳定质量因子去评价结果肯定是追高。另一个问题是会计利润的可操纵性。应收账款挂账、关联交易、折旧摊销政策调整、商誉减值节奏都会影响净利润进而影响ROE。A股历史上相当一部分高ROE故事最后被证明是纸面富贵。所以我不建议任何人用单一报告期的ROE作为买入依据至少要看三到五年的历史序列。更稳妥的做法是把ROE的水平和稳定性两个维度分开看待水平证明赚钱能力稳定性证明这种能力可复制。只有稳定复制的ROE才配叫质量因子。2.2 用杜邦三步拆解判断盈利质量杜邦分解是拆解ROE最经典的工具ROE销售净利率×总资产周转率×权益乘数。同样都是15%的ROE背后可能是完全不同的生意。第一种靠高净利率比如品牌消费品、高端软件、部分医药模式好壁垒高盈利可持续性强第二种靠高周转比如连锁零售、快销制造考验管理效率和供应链能力也能持续但对经营的精细度要求很高第三种靠高杠杆比如银行、地产、部分重资产企业ROE高但脆弱一旦资产质量恶化或者利率环境变化盈利会快速坍塌。质量因子的本意应该是给第一类和第二类更高的质量评分对第三类打折处理。我自己的数据处理习惯是先把金融行业单独拎出来不和其他行业一起比较。对非金融企业用最新年报做杜邦拆解如果权益乘数超过一定水平比如3以上我会在打分时额外扣分除非公司属于公用事业类的高负债刚需行业。更重要的是看净利率的构成扣除非经常性损益后的净利率是否依然高如果剔除非经常性收益后ROE大幅缩水说明主营业务盈利能力被打折了。这样的公司即使ROE很高也不应该算作高质量盈利应该从因子组合里弱化。2.3 ROE连续性与稳定性的筛选阈值落实到具体筛选我常用下面这套规则不一定适合所有人但可以作为起点。首先是连续三年ROE不低于8%到10%最新报告期ROE-TTM不低于行业三分之一分位其次看ROE的稳定性用过去12个季度ROE序列的标准差除以均值这个变异系数我一般要求小于0.5如果小于0.3更理想最后看趋势最近一个报告期的ROE-TTM比四季度前高至少1个百分点。这三道筛子的逻辑是连续达标证明不是单年运气稳定证明不是周期因素趋势向上说明当前盈利还在改善通道里而不是已经在景气顶部。不过要特别强调阈值不是固定的。不同板块、不同市值区间的盈利分布差异很大比如成长型科技公司ROE普遍低于成熟消费公司如果全市场统一用15%划线最后选出来的组合会非常集中在传统白马板块行业风险极大。我一般会先做行业内分位处理再叠加绝对ROE门槛这样可以兼顾本行业里是否优秀和放到全市场是否合格两个维度。如果你用的是量化平台直接在因子值计算时按行业分组做标准化后面打分会省很多事。3. 毛利率因子的正确用法行业中性化与边际变化3.1 毛利率水平、行业壁垒与生意模式毛利率是一个比ROE更容易理解生意本质的指标。营业收入减去营业成本后的毛利体现的是公司对上游供应商和下游客户的定价权也体现了产品或者服务的不可替代性。高毛利率至少说明一件事这家公司可以赚到超过行业平均的钱通常对应品牌、技术、专利、网络效应或者牌照等壁垒。低毛利率也未必是坏事比如薄利多销的零售和制造业靠规模效应和高效运营一样能产生不错的投资回报。因此毛利率因子不应该被理解为毛利越高越好而是要看它在同行业中的相对位置以及变化方向。在A股毛利率还有一个信息含量很高的场景新上市公司或刚转型的公司经常用毛利率作为包装故事的核心指标。有些公司毛利率高得离谱但经营现金流常年为负销售费用和应收账款增速异常这种高毛利率往往是财务压力转移到未来造成的。所以当我看到某只股票毛利率连续多年很高时第一反应不是赞美而是去核对它的现金含量和应收账款只有毛利率高、现金流匹配、资产减值风险低的组合才能被纳入质量因子范畴。这是很多初学者容易忽略的一点。3.2 跨行业比较毛利率没有意义如果直接把全市场的毛利率放一起排序你会发现头部清一色是软件、白酒、医药、传媒类公司尾部则基本是大宗商品、建筑、零售和航运这其实是行业分类的镜像而不是个股质量的区分。白酒和软件的高毛利是好生意建筑和零售的低毛利也是行业属性毛利率因子必须在行业内部做相对比较才有意义。我常用的做法是在申万一级行业下计算过去四期毛利率的行业分位或Z-score再用这个标准化值作为选股信号。对二级行业样本量不够时可以用一种半衰加权给近期数据更高权重。行业中性化还涉及行业分类本身的前视偏差。A股的行业分类每年都会调整直接使用最新版行业分类做历史回测会引入未来信息让回测结果虚高。正确做法是使用每个调仓日当时生效的行业分类或者至少在回测时采用静态的历史行业分类文件。这个细节看起来不起眼但我在实际复现很多公开策略时发现超额收益的差异往往就来自这类数据口径。如果平台没有提供历史行业分类可以用该公司在调仓日所属的申万行业近似并在上线前单独做敏感性测试。3.3 毛利率拐点信号同比与环比怎么用相比毛利率的绝对水平我更重视毛利率的边际变化因为股价对未来变化定价的速度通常比对当前存量定价更敏感。常用两个信号一个是最新报告期毛利率相对去年同期的同比变化另一个是最新单季毛利率相对上一报告期单季毛利率的环比变化。如果两者同时为正说明毛利率处于改善通道如果同比大幅下降但环比已经企稳回升通常是左侧信号需要等其他基本面数据确认后再纳入。毛利率拐点对企业盈利的放大效应在固定成本较高的行业中尤其明显比如半导体制造、化工、航空营收小幅增长就可能带来毛利率大幅跳升。实际操作中还需要对毛利率做平滑处理避免单季数据非经常性扰动。我一般先计算连续四个季度毛利率的滚动平均值再计算这个滚动平均值相对前四季度滚动平均值的变化量作为毛利率趋势因子。这个因子的好处是减少了季节性干扰且调仓频率不需要太高比较适合做月度或者季度调仓。需要注意的是如果一家公司的营收基数很小单季成本稍有波动就可能让毛利率忽上忽下这类样本要么设置最小营收门槛要么在分位计算时用市值或营收加权减少小票的影响。3.4 毛利率陷阱重资产折旧与会计估计高毛利率也会骗人。最常见的套路是把本该费用化的支出资本化或者通过调整折旧摊销政策降低当期成本从而抬高毛利率。还有一种情况是改变收入确认方式把以后年度的收入提前确认收入多了成本分摊下去毛利率自然好看。我见过一些制造业公司毛利率明显高于同行但仔细看固定资产周转率逐年下行经营现金流与净利润背离最后只能靠商誉减值或存货跌价准备一次性出清。所以毛利率因子必须和资产减值、现金流量类指标捆绑使用单独拿来做选股很容易踩雷。另外要注意会计项目调整对毛利率可比性的影响。比如运输成本原来计入销售费用后来按新收入准则改计入营业成本毛利率会出现系统性下移但公司的实际盈利能力并没有变化。如果只是简单做历史序列比较可能误判为公司竞争力恶化。遇到这种会计政策变更需要通过附注识别并调整口径或者在行业中性化时把同类公司放在一起让系统性的口径变化相互抵消。这也是为什么我坚持在财务数据标准化这个环节投入时间它比找新因子的边际收益高得多。4. 质量因子组合的排雷清单从财务造假到数据陷阱4.1 一票否决项质量因子组合的第一道工序不是选股而是排雷。我通常会设置几个一票否决条件ST/*ST股票不碰因为连续亏损和退市风险会改变整个收益分布上市不满一年的次新股不碰因为次新股定价受供求关系影响太大财务数据也可能存在上市前美化财报被出具非标准审计意见的公司不碰净资产为负或者最新总市值过低、流动性太差的公司不碰。这些条件在回测阶段很容易被忽略但它们对实盘的影响远大于因子本身参数的调整。继续往下还有几个在A股特别值得加入的财务排雷项商誉占净资产比例过高的公司要警惕并购暴雷后的一次性减值应收账款和存货增速持续大幅高于营收增速的公司要担心利润含金量大股东质押比例异常高的公司要综合考虑治理风险。一票否决不宜设置太多太严否则样本量会被压缩到无法做行业分散。我自己的原则是先做硬性排雷再加打分硬性排雷的目的是控制尾部风险而不是提高收益。4.2 现金流与应计利润利润表可以化妆现金难造假在所有质量指标里我最看重的一个交叉验证指标是经营现金流与净利润的关系。净利润是权责发生制下的产物收入确认、减值、坏账计提都有主观空间经营现金流则是真金白银的流入流出虽然也有腾挪空间但造假成本高得多。最简单的做法是计算经营现金流净额/净利润如果长期大于1说明赚到的利润基本变成了现金盈利含金量高如果持续小于0.5利润大多停留在应收账款或者存货里这种盈利质量要打问号。在打分模型里我会给这个比值一个不小的权重。更学术一点的做法是看应计利润。应计利润可以简单理解为净利润减去经营现金流的部分再用总资产标准化。应计利润高说明利润中非现金的比例高后续发生反转和暴雷的概率也更高。A股散户占比较高对应计项的错误定价尤其明显这也是为什么很多量化团队把应计异常作为质量因子里的独立维度。我自己的筛选经验是经营现金流/净利润连续三年低于0.5的公司直接排除比单纯看某一期指标稳健很多因为连续偏离说明不是偶发的结算周期问题。4.3 财报滞后性和时点数据这个坑值得单独说因为我见过太多初学者的回测结果漂亮得惊人最后发现是未来函数。A股财报披露有明确的时间窗一季报在4月底前中报在8月底前三季报在10月底前年报在次年4月底前。你在某个调仓日能看到的最新财报并不一定是最新报告期的财报尤其是每年4月和10月很多公司还没来得及披露如果你直接使用报告期的财务字段等于偷看了未来数据。正确的做法是使用平台里的实际公告日期或者数据截止日字段确保因子值只依赖当时已经公开的信息。我在修正这类问题后很多单因子的IC会下降但真实性大幅提升。建议你回测完第一件事不是看收益而是看调仓时的平均财报滞后天数如果滞后天数接近零说明你的数据大概率用了未来函数。另一个检查方法是把每年4月底、8月底、10月底的调仓单独拆开看如果某些时点的超额收益异常地高要警惕是否在报告期与公告期之间多用了信息。财报数据对齐这件事决定了整个策略回测能不能转化到实盘怎么强调都不过分。5. 盈利质量因子到底赚的是什么钱回测与归因5.1 不同时间段的表现差异没有任何因子能永远跑赢盈利质量因子也一样。我按不同年份去滚动测算这段历史一个比较粗的印象是2017年到2020年A股对高ROE、高毛利率的白马股给出了极高溢价盈利因子多空收益非常可观这与外资流入、核心资产逻辑、机构占比提升都有关系而2013到2015年市场主线是并购重组和中小创高盈利组合反而成为跑输对象因为资金愿意为成长故事买单而不是为当下的报表买单2021年以后盈利因子的表现明显分化高ROE且低估值、高现金流的细分方向依然有超额但单纯买高ROE白马已经不再有效。这说明盈利因子的超额收益来源并不是市场永远奖励好学生而是市场在特定阶段的定价偏差当机构资金主导、投资者更关注盈利确定性的阶段质量因子容易获得超额收益当增量资金偏好主题和故事、流动性宽松推动小票炒作时盈利因子会阶段性失效甚至反向。所以使用这个因子的正确姿势不是满仓押注而是把它作为组合构建的底层质量筛选器与估值、成长、动量等其他因子配合使用。理解收益来源才能真正理解什么时候该重仓什么时候该收手。5.2 市值、行业与估值暴露一个值得认真做的检验是盈利因子的超额收益有多少来自市值和行业而不是盈利本身。高ROE公司天然偏向食品饮料、医药、银行、家电等行业这些行业在过去几年有明显超额收益如果组合没有做行业中性化你以为是挣了盈利因子的钱实际可能只是挣了行业贝塔的钱。我自己的做法是在构建多空组合或者分组回测时把行业、市值作为控制变量做分层检验先在每个行业内做盈利因子选股再合并组合比较中性化前后的收益差。这一步能帮你看清因子真正的边际贡献。估值同样需要剥离。高ROE和低PB、低PE之间相关性很高质量因子常常和估值因子纠缠在一起。一个经典案例是2019到2020年高ROE的好公司估值不断抬升最后超额收益大部分来自估值扩张而不是盈利增长。如果只回测盈利因子而不控制估值你无法判断未来当估值不再扩张时因子还能不能提供同类回报。我在实践中的做法是先做市值行业中性化再在盈利质量分层内匹配估值水平观察每一层盈利因子的单调性。只有估值匹配后依然有区分度的部分才更像真正的质量超额。5.3 拥挤度与因子失效信号经验教训告诉我任何一个因子被市场广泛认知后超额收益都会衰减。盈利质量因子这几年已经成为了公开话题高ROE、高毛利率几乎写进了很多机构教材这意味着它的拥挤度在上升。跟踪拥挤度有一些实用的代理指标盈利因子多空组合的滚动IR是否持续下行高盈利股票的估值分位是否已经很高同类型基本面基金的持仓重合度是否越来越大因子多头组合的6个月动量是否由估值扩张带动而不是盈利上修带动。这些信号不需要很复杂但对调仓节奏有实际参考价值。我自己的应对方式是把盈利因子拆成水平和变化两部分当水平因子拥挤、估值偏高时适当提高变化类因子的权重比如毛利率趋势、ROE改善幅度把质量因子和低估值、低换手等反向指标组合让组合不会完全暴露在某一种风格上。如果滚动分析显示盈利因子已经连续一年以上IC为负并且不是市场风格环境导致我会认为因子可能进入了长期失效的阶段这时候应该降低相关权重而不是继续加码。质量因子应该是组合里的压舱石而不是单边下注的武器。6. 一套可落地的盈利质量打分模型示例6.1 打分规则与阈值理论讲完给一套可以拿去做测试的示例模型。它不追求最优参数目的是把上面的思路串起来。股票池先做基础过滤剔除ST、上市不满一年、净资产为负、非标准审计意见的股票然后剔除金融行业单独处理。对剩余股票按以下表格打分。所有财务指标都使用调仓日已经公告的最新数据行业分位在当前申万一级行业内部计算。总分100建议入选门槛设到70分以上并观察不同门槛下的样本数量变化避免筛出太少股票导致风险集中。打分规则可以这样设计维度指标得分规则ROE水平ROE-TTM的行业分位前20%得25分20%-40%得15分40%-60%得8分后40%得0分ROE持续性连续三年ROE不低于10%满足得10分不满足得0分ROE稳定性过去12个季度ROE变异系数小于0.3得10分0.3-0.6得5分大于0.6得0分毛利率水平最新毛利率行业分位前30%得20分30%-70%得10分后30%得2分毛利率趋势最新毛利率高于去年同期提升得10分持平得5分下降得0分现金含量经营现金流/净利润大于0.8得15分0.5-0.8得8分低于0.5得0分这些权重并不神圣你可以根据行业属性调整但最好别让某一项独大。比如在制造业模型里毛利率趋势的权重可能应该更高在消费行业模型里ROE的绝对水平和稳定性更关键。加总后按分数排序再结合估值、动量等因子做二次筛选比直接用单一分数买股票更稳健。6.2 调仓与交易成本控制组合构建上我建议以季度调仓为主。财务指标变化较慢月度调仓增加的换手成本往往超过超额收益本身尤其在A股这样印花税和滑点都不低的市场。比较自然的调仓点是每年4月底、8月底、10月底的财报披露窗口结束之后这样每次换仓时都能吃到最新已经公开的财报信息。实盘买入价用调仓信号发出后次日或第三天的VWAP做假设回测时也要设置双边千分之三左右的交易成本再加上止损和单票上限。很多策略在理想条件下看着很美一加交易成本就变平庸所以回测阶段宁可严格一些。分散度方面如果全市场选股建议组合至少持有30到50只股票单票权重上限不超过5%单一行业暴露不超过20%。质量因子天然会把组合向消费、医药、高端制造方向倾斜如果不做行业约束超额收益的波动会很大。如果你更倾向集中持有前20只高得分股票那就要做好承受更大回撤的准备并且对个股的基本面要有比因子模型更深的判断。对大多数普通投资者分散持有并定期再平衡比集中押注稳健得多。6.3 持续跟踪的失效信号模型上线不是工作的结束后面才是真正花时间的部分。我会在每次调仓后记录组合的滚动RankIC、多头年化超额、相对基准的回撤、行业暴露和换手率。如果过去12期RankIC均值降到0.03以下或者滚动IR低于0.2我会降低组合中质量因子的权重叠加估值因子重新选择。如果高盈利股票整体的PE分位冲到历史80%以上而盈利预测并没有同步上修我会认为因子处于透支状态宁愿等待估值消化再入场。另一个容易被忽略的信号是模型持仓的同质化。当越来越多公开策略都筛选出相近的股票池时因子的拥挤度会快速上升之前的超额收益可能会变成踩踏。我的建议是每半年做一次因子衰减测试把当前参数放到最近一年的滚动窗口里观察如果因子收益明显低于历史均值就及时调整同时保留一个不含质量因子的对照组策略用来判断是多赚了还是只是市场整体上涨。质量因子最大的价值在于提供下限而不是制造奇迹守住这条底线长期就能省掉很多在市场风格切换中被迫割肉的痛苦。最后再讲一点个人体会。我早期做盈利质量因子时总想把它调成一把只赢不亏的利器后来发现它更像一个安全气囊平时感受不到存在但在市场下跌、风格剧变的时候它决定了你是先出局还是能扛过去。ROE和毛利率不是万能的它们会在某些市场阶段明显失效但没有它们你的组合就没有基本的质量锚。如果能把行业中性化、财报公告时间对齐、现金流验证这三件事做扎实这套方法在A股长期是能带来真实增量信息的。不要迷信某个神奇阈值重点是把逻辑和数据口径搞对剩下的就是持续跟踪和耐心修正。
返回列表