☰
PB 分位跑输了“什么都不选“五个估值对照实验
2026/9/28 18:29:13 网站建设 项目流程

数量技术宅团队在CSDN学院推出了量化投资系列课程

欢迎有兴趣系统学习量化投资的同学,点击下方链接报名:

量化投资速成营(入门课程)

Python股票量化投资

Python期货量化投资

Python数字货币量化投资

C++语言CTP期货交易系统开发

数字货币JavaScript语言量化交易系统开发


上一篇写 PE 历史分位数,留了一个尾巴没展开:这个因子在悄悄 缩小你的股票池。

市盈率的分母是净利润。公司一旦亏损,PE 就变成负数或者干脆没有意义, 只能从样本里剔除。而在 A 股,亏损从来不是小概率事件—— 最新一个估值截面上,全市场 5203 只股票里,PE 有效的只有 3624 只, 占 69.7%;而市净率的 PB 有 5149 只有效, 占比 99.0%。整个回测区间平均下来, PE 覆盖 85.1%,PB 覆盖 99.2%—— 按可用股票数算,PB 的池子比 PE 大 17%; 而在最新这一个截面上,差距拉大到 42%。

净资产是存量,几乎不会凭空消失;净利润是流量,说没就没。 所以任何人第一次看到这组数字,都会冒出一个很自然的念头:PB 覆盖更全、样本更大、还不用因为亏损把公司踢出去—— 那它是不是一个更好用的估值因子?

​

图 1 PE 与 PB 的可用股票数:整个回测区间 PB 的池子都更大,缺口随年份拉宽

我把这个念头做成了五个可以检验的方案,跑了 200 个月度截面。 先把结论放在这里:直觉错了。而且错得相当彻底。

一、把"便宜"拆成五个可以检验的问题

"便宜"这两个字太笼统了,笼统到没法做实验。所以我先把它拆开—— 同样是"估值低",至少有五种不同的含义,对应五个方案:

方案定义它想回答的问题
PE 历史分位个股 PE 在其自身过去 N 年中的位置上一轮的老办法,作为参照组
PB 历史分位个股 PB 在其自身过去 N 年中的位置把因子直接换成 PB,会怎样
PB 当期截面分位只在当天全市场内比谁 PB 更低如果去掉时序分位,还剩多少
行业内中性化 PB 分位先算自身历史分位,再在所属行业内排序PB 的毛病是不是行业差异造成的
PE+PB 双分位合成两个分位各占一半权重的均值两个口径一起用会不会更稳

窗口沿用 3 / 5 / 10 / 20 年四档,持股数 10 / 20 / 50 / 100 四档, 月度调仓、等权持有、买卖双边扣费(佣金万 2.5 + 印花税千 1 单边卖出)。

这里有一个容易被忽略的口径问题。 两个方案的股票池规模确实不同——5 年窗口下, PB 组合的中位可用池是 2387 只,PE 是 2077 只,多出约 15%。 如果两组策略都拿"全市场等权"当基准, 那么 PB 多出来的收益(或亏损)里,有一部分只是池子不同造成的, 和因子本身有没有选股能力无关。

所以每个方案我都额外配了一条同池等权基准—— 在该方案自己的可行域内,所有股票等权买入。 超额 = 策略收益 − 同池收益,这才是纯粹的选股能力。下文所有"超额"都指这个口径。

二、总成绩:PB 分位没赢

先看最直接的对比。下表统一取 5 年窗口、持股 100 只、扣费后的结果:

方案年化收益夏普最大回撤超额(同池)IR年化双边换手
PE 历史分位19.01%0.71-35.7%+9.20%0.8312.4 倍
PB 历史分位6.70%0.30-45.4%-2.92%-0.3113.6 倍
行业内中性化 PB 分位7.57%0.32-52.3%-2.05%-0.2513.1 倍
PE+PB 双分位合成14.56%0.57-38.9%+4.77%0.3410.1 倍
PB 当期截面分位9.95%0.42-34.6%+0.15%-0.052.8 倍
全A等权(无因子)9.90%0.40-53.4%——0.6 倍

​

图 2 五个方案的净值曲线(对数刻度)与全A等权对比,2010—2026,已扣费

表里的数字很干净地分成三档:

PE 历史分位 19.01%, 超额+9.20%, IR 0.83——参照组依旧稳健。

PB 历史分位 6.70%,不但跑输 PE,还跑输了"什么都不选"—— 超额-2.92%, IR -0.31。 把它换成等权买入同一批股票,结果反而更好。

双分位合成14.56%, 超额 +4.77%——救回了一大半, 但依然够不着纯 PE。而 PB 截面分位几乎是一条平线, 超额 +0.15%,IR -0.05。

还有一个藏在细节里的规律。把持股数从 100 只降到 10 只,PB 的超额不是变好,而是越来越差:

方案 \ 持股数10 只20 只50 只100 只
PE 历史分位+4.49%+6.57%+8.81%+9.20%
PB 历史分位-5.60%-4.20%-3.47%-2.92%
行业内中性化 PB 分位-2.27%-0.93%-1.82%-2.05%
PE+PB 双分位合成+2.67%+2.64%+3.05%+4.77%
PB 当期截面分位-7.53%-3.63%-0.84%+0.15%

PB 那一行是 -5.60% → -4.20% → -3.47% → -2.92%, 一路往零靠。反过来看 PE,持股越多超额越高。

这个方向上的差异非常说明问题:PB 的亏损不是均匀分布的, 它集中在你最想抓住的那一端——最便宜的那几只股票上。持股越少、越往因子的极端端走,PB 的表现就越糟。

​

图 3 五个方案的风险—收益定位,气泡标签已标注方案名

这个差距跨年份稳定吗?把 2010 年以来的每一年单独拆出来, 统计各方案跑赢"全A等权"的年份数:

方案年度胜率胜出年份平均年度排名(1 = 最好)
PE 历史分位82%14 / 171.94
PB 历史分位41%7 / 174.59
行业内中性化 PB 分位41%7 / 174.41
PE+PB 双分位合成65%11 / 172.59
PB 当期截面分位47%8 / 173.71
全A等权(基准)——3.76

​

图 4 分年度收益率热力图:同一色阶下越红越好

结果很干脆。PE 历史分位 17 年里有 14 年跑赢全A等权, 胜率 82%,平均年度排名 1.94——几乎是常年的第一名。而PB 历史分位只有 7 年跑赢,胜率 41%, 平均排名 4.59,在"5 个方案 + 全A等权"这 6 个对象里垫底。

这不是某一年的运气,而是贯穿整个样本期的结构性差异。一个连"什么都不选"都打不过的因子,无论覆盖度多高,都不该被直接拿来用。

读到这里其实已经可以收尾了:PB 覆盖更全,但它做不出超额收益。 但如果只停在这一句,这篇文章就白写了—— 真正有价值的问题是:为什么?下面三个反常之处,一层层剥开看。

三、反常之一:IC 显著为正,组合却在亏钱

第一个反常来自因子有效性检验。RankIC 衡量的是"因子值排序"与 "下期收益排序"之间的秩相关,是判断因子有没有信息量的标准动作。

结果是这样的(5 年窗口):

方案IC 均值ICIRNW t 值IC>0 占比平均样本数
PE 历史分位0.05280.4868.3167.7%2136
PB 历史分位0.04600.3145.5062.2%2731
行业内中性化 PB 分位0.04410.4267.4266.7%2726
PE+PB 双分位合成0.05900.3966.9963.7%2131
PB 当期截面分位0.03960.2333.7855.2%3055

PB 历史分位的 IC 是 0.0460, t 值 5.50——按任何一本教科书的门槛, 这都算统计上显著。可它对应的组合超额是 -2.92%。

IC 显著为正,钱却没赚到。这不是数据出错,而是"IC"和"组合收益"本来就是两件事: IC 看的是整个截面的相关性,包含了大量中间段股票; 而 TopN 组合只吃最极端的那一小撮。 只要因子的排序能力集中在中间段、在极端端失灵, IC 就会好看,组合却做不出来。

​

图 5 左:各方案 RankIC 均值;右:Newey-West t 值(虚线为 5% 显著性门槛)

第二个线索藏在 IC 的衰减速度里。把持有期从 1 个月拉长到 12 个月, 各方案的 IC 走出了完全不同的形状:

方案1 个月3 个月6 个月12 个月
PE 历史分位0.05280.06630.05700.0495
PB 历史分位0.04600.06050.06330.0846
行业内中性化 PB 分位0.04410.05760.06190.0784
PE+PB 双分位合成0.05900.07830.07430.0830
PB 当期截面分位0.03960.06150.07130.0942

​

图 6 IC 随持有期的变化:PE 在 3 个月见顶后衰减,PB 一路上行

形状的分歧非常刺眼。PE 的 IC 在 3 个月达到峰值 (0.0663),随后一路回落到 12 个月的 0.0495——它是短周期信号, 一个月的调仓间隔正好吃在它的高点上。

PB 恰好相反:IC 从 1 个月的 0.0460 单调爬升到 12 个月的0.0846, 越高越长。它是慢信号,信息在一年尺度上才释放完。 而我的策略每月换仓一次——等于在信号还没长出来的时候就把它卖掉了。

这一点在 PB 截面分位上更极端:IC 从 1 个月的 0.0396 一路涨到 12 个月的 0.0942,是所有方案里最高的。

反常一的小结:PB 不是没有信息,而是信息的时间尺度和月度调仓对不上; 同时它的 ICIR(0.314)明显低于 PE(0.486), 意味着单期信号里的噪声大得多。

四、反常之二:最便宜的那一端,没有区分度

第二个反常来自分层。常规做法是切五层,但五层太粗—— 它恰好会把极端端平均掉。所以我把它切到十层, 从最便宜的 D1 到最贵的 D10。

方案D1 最便宜D2D3D4D5D6D7D8D9D10 最贵
PE 历史分位18.7%14.7%11.8%10.3%8.5%8.6%6.9%5.4%3.7%-0.9%
PB 历史分位9.5%10.5%12.7%9.8%11.4%10.0%7.8%5.6%5.2%0.7%
行业内中性化 PB9.9%11.6%11.8%10.9%10.2%10.2%8.3%6.5%4.9%-0.0%
PE+PB 双分位(10 年)16.4%13.8%10.9%10.7%9.2%7.9%7.2%4.3%0.3%-2.9%

​

图 7 十层分解:PE 逐层下滑,PB 在便宜端横盘

PE 那一行是一条教科书式的斜线: 18.7%, 14.7%, 11.8%, 10.3% … 一路跌到 -0.9%。每一层都比下一层好,毫无含糊。

PB 那一行则完全乱了:9.5%, 10.5%, 12.7%, 9.8% …最便宜的 D1(9.5%)竟然不如 D3 (12.7%),甚至不如 D5(11.4%)。前六层全部挤在 9.5% ~ 12.7% 这个窄带里, 上下起伏全无规律。

把行业中性化的版本(9.9% ~ 11.8%)放进来也一样——前六层几乎是平的。

这就是"IC 好看但组合亏钱"的微观解释。PB 的排序能力几乎全部集中在"贵"的那一端—— D7 到 D10 确实一层比一层差,这部分贡献了 IC; 但投资者真正想买的是 D1、D2,而这一端的 PB 数值高低 和未来收益之间没有稳定关系。IC 是全截面的平均数, 被"贵"的那一半拉正了,钱却只能从"便宜"的那一半去赚。

​

图 8 五层分层热力图:PE 的 G1 是全场唯一的深红块,PB 的 G1/G2 难分高下

五、那把它按行业抹平呢

PB 有一个众所周知的老毛病:它天生带行业属性。 银行、地产、钢铁、建筑的 PB 长期在 1 倍附近, 电子、医药、计算机的 PB 轻易上到 5 倍、10 倍。"PB 低"很可能只是"所属行业本来 PB 就低"的另一种说法。

如果这是根因,那么把每只股票的 PB 分位在它所属行业内重新排序, 应该能把问题解决掉。先看效果:

ICIR 从 0.314 提升到0.426, t 值从 5.50 提到 7.42, 分层的单调性也从 ρ = -0.7 修到 -0.9。信号确实变干净了。

但组合收益呢?超额从 -2.92% 只挪到-2.05%, 改善不到 1 个百分点,依然是负的。 10 年和 20 年窗口下勉强转正(+1.22% / +0.98%),但幅度微弱。

​

图 9 各方案持仓的行业分布对比(取 PB 组合的前十大行业)

结论是:行业差异确实存在,但它不是 PB 失效的主因。把行业抹平能提高信号的统计质量,却改变不了"便宜端没有区分度"这件事。

不过这一节挖出了一个更有意思的东西—— PB 截面分位(方案三)的行业集中度,高得离谱:

方案行业集中度 HHI第一大行业占比前三大合计覆盖行业数
PE 历史分位0.0498医药12.0%25.7%30 个
PB 历史分位0.0508医药12.2%26.3%30 个
行业内中性化 PB 分位0.0606机械11.5%31.1%28 个
PE+PB 双分位合成0.0563医药13.5%27.5%30 个
PB 当期截面分位0.1182银行22.4%52.1%28 个

​

图 10 持仓行业集中度 HHI:PB 截面分位是全场的异类

PB 截面分位的第一大行业是银行, 占 22.4%,前三大行业合计 52.1%(银行 / 房地产 / 钢铁)——超过一半的仓位压在三个行业上。

道理很简单:不做时序分位,只比"今天谁 PB 最低", 答案永远是那批破净的银行、地产和钢铁。它不是在做估值比较,而是在做行业押注。这也解释了为什么它的超额收益几乎是零。

六、两个口径一起用,会更好吗

最自然的想法是:PE 和 PB 各有短板,那就各占一半, 用分位数的均值当作合成因子。这个方案(DUAL)的答案是——好于纯 PB,但不如纯 PE。

为了看清"为什么会这样",我把 PE 分位和 PB 分位各切五档, 交叉出 25 个格子,每个格子单独建一个等权组合:

PE 档 \ PB 档PB-Q1 最便宜PB-Q2PB-Q3PB-Q4PB-Q5 最贵
PE-Q1(最便宜)13.93%19.34%18.23%15.68%15.13%
PE-Q2()9.32%11.13%12.13%11.78%9.64%
PE-Q3()7.74%10.32%9.33%7.20%6.29%
PE-Q4()8.03%8.68%6.96%5.07%3.52%
PE-Q5(最贵)2.05%6.13%5.82%0.76%-4.34%

​

图 11 PE 分位 × PB 分位:25 个双因子组合的年化收益

看最上面那一行——PE 已经帮你挑出了全市场最便宜的一批股票。 在这批股票里,收益最高的格子不是"PB 也最便宜"的 PB-Q1 (13.93%),而是 PB 只排在中间档的 PB-Q2 (19.34%)和 PB-Q3(18.23%)。

这个结果很反直觉,但它一句话解释清楚了合成因子的困境:把 PB 分位加进来,等于给"PE 便宜但 PB 不便宜"的那批股票扣了分, 而它们恰恰是最赚钱的一批。所以双分位合成不是在补充信息,而是在稀释信息。

沿 PE 方向看,每一档都稳定地比下一档好(以 PB-Q2 列为例:19.34% → 11.13% → 10.32% → 8.68% → 6.13%);而沿 PB 方向看,格子值是先升后降的。PE 提供了单调的排序能力,PB 提供的是噪声。

这也解释了方案一(纯 PE)为什么最难被超越—— 不是因为 PE 完美,而是因为它在"A 股 2010—2026"这段样本里, 恰好抓住了最有效的那一维。

七、根因:低 PB 从来不等于便宜

三个反常都指向同一个地方。剩下的问题只有一个:为什么 PB 的低估端会失灵?

第一个线索是全市场估值中枢的漂移。 把每年全市场的中位 PB 排在一起:

年份全市场中位 PB破净股占比(PB < 1)
20104.510.2%
20154.830.4%
20182.505.1%
20202.618.3%
20222.596.8%
20242.0710.4%
20262.826.9%

​

图 12 全市场中位 PB 与破净股占比(2010—2026)

中位 PB 从 2010 年的 4.51 倍 一路降到 2024 年的 2.07 倍, 16 年间几乎腰斩;同期破净股占比从 0.2% 升到 10.4%。

这意味着什么?"某只股票的 PB 处于自身历史低位"这个判断, 被一个更大的力量污染了——全市场的估值锚本身在下移。2015 年 PB 5 倍算便宜,2024 年 PB 5 倍已经很贵。 用固定窗口(比如 5 年)算出来的历史分位, 会把"全市场系统性下移"错误地读成"个股变便宜了"。

第二个线索是最便宜那批股票究竟长什么样。 把 2018 年以来所有处于全市场 PB 最低 10% 的样本身挑出来:

PB 最低 10% 的画像
破净(PB < 1)占比:71.4%| 中位 PB:0.89
前五大行业:房地产、电力及公用事业、银行、交通运输、建筑

PB 最高 10% 的画像
破净占比:0.0%| 中位 PB:10.10
前五大行业:电子、医药、计算机、机械、基础化工

最便宜的 10% 里,超过七成是破净股, 集中在房地产、电力公用、银行、交运、建筑。 而"破净"这件事本身,不是市场算错了,而是市场在给资产质量打折—— 可能收不回来的应收账款、卖不掉的存货、随时可能计提的商誉与减值准备。

这就是 PB 与 PE 最本质的区别。PE 便宜,通常意味着"盈利处于低谷"—— 盈利是流量,低谷之后有周期性的回归。PB 便宜,则常常意味着"资产被怀疑"—— 怀疑一旦被证实,净资产就要往下修,那个"便宜"是假的。

所以在这场对照实验里,PB 分位的失败并不是统计上的偶然。 它同时踩了两个坑:分位基准被全市场估值下移污染, 而极端低值端又系统性聚拢了资产质量存疑的公司。

八、这套结论没有回答的问题

把话说满是不负责任的。以下几点必须交代清楚:

第一,存活偏差。底层行情用的是当前仍在交易的股票池,已经退市、被吸收合并的公司没有进入样本。 这类公司往往正是"低 PB 陷阱"的极端案例, 所以PB 的真实表现很可能比这里更差, 而 PE 的相对优势可能被高估。所有绝对收益都应视为上界。

第二,行业分类是当前快照。本文用的行业归属是当前时点的静态分类,不是历史逐期变更的行业链。 这对"行业内中性化"的结果有轻微的前视影响, 但考虑到 A 股行业分类的调整频率,量级应该有限。

第三,结论有样本边界。2010—2026 这 16 年,A 股恰好经历了估值中枢的系统性下移 (图 10)。PB 分位在这个特定窗口里失效,不等于它在估值中枢稳定或上行的市场里也失效。 因子有效性是路径依赖的。

第四,窗口与持股数是自由度。3/5/10/20 年窗口、10/20/50/100 只持股,一共 16 组参数。 本文报告了全部组合而非只挑最好的,但参数空间本身仍然存在选择性。

第五,估值因子不是纯 alpha。低估值组合天然向金融、地产、公用事业倾斜, 它的收益里有相当一部分是风格暴露的beta, 而不是选股能力。本文用"同池等权"剥离了股票池差异, 但没有做严格的风格中性化。这也是为什么不能因为 PB 跑输就断言"PB 没有信息"—— 更准确的说法是:它不适合以月度调仓、极端端选股的方式来使用。

结语

这次对照实验,我想留下的不是"PB 不行"这个结论,而是三个更耐用的判断:

一、覆盖度不等于有效性。PB 的可用池比 PE 大 17%,样本多了, 但多出来的这部分恰恰是"当期亏损"和"资产存疑"的公司。样本更大,不代表信息更多—— 被剔除的那部分,可能本来就该被剔除。

二、IC 显著和组合赚钱之间隔着一条鸿沟。PB 的 IC 0.0460、t 值 5.50, 统计上无可挑剔,组合超额却是 -2.92%。做因子研究时,一定要回到分层和极端端去看, 只看 IC 会被平均掉最关键的信息。

三、信号的时间尺度必须和调仓频率匹配。PB 的 IC 在 12 个月尺度上最强(0.0846), PE 的 IC 在 3 个月就见顶(0.0663)。一个月换一次仓,注定只能吃短周期信号。如果非要用 PB,正确的问题不是"PB 好不好", 而是"我该多久换一次仓"。

最后一个提醒。这类回测最容易犯的错误, 是拿一个因子的绝对收益和指数比,然后宣布它有效或无效。只有在同一批股票上等权买入、扣掉同样的成本, 差距才真正属于因子本身。本文所有"超额"都按这个口径计算—— 也正是这个口径,让 PB 的问题无处藏身。

风险提示:本文为量化方法的实证记录,所有数据来自历史行情的事后统计, 不构成任何投资建议。历史表现不代表未来收益,因子有效性存在失效风险。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询