![]()
上一篇写 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.83
12.4 倍
PB 历史分位6.70%
0.30
-45.4% -2.92%
13.6 倍
行业内中性化 PB 分位7.57%
0.32
-52.3% -2.05%
13.1 倍
PE+PB 双分位合成14.56%
0.57
-38.9% +4.77%
0.34
10.1 倍
PB 当期截面分位9.95%
0.42
-34.6% +0.15%
2.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 / 17
1.94
PB 历史分位41%
7 / 17
4.59
行业内中性化 PB 分位41%
7 / 17
4.41
PE+PB 双分位合成65%
11 / 17
2.59
PB 当期截面分位47%
8 / 17
3.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 均值
ICIR
NW t 值
IC>0 占比
平均样本数
PE 历史分位
8.31
67.7%
2136
PB 历史分位
5.50
62.2%
2731
行业内中性化 PB 分位
7.42
66.7%
2726
PE+PB 双分位合成
6.99
63.7%
2131
PB 当期截面分位
3.78
55.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.0663 0.0570
PB 历史分位
0.0605 0.0633 0.0846行业内中性化 PB 分位
0.0576 0.0619 0.0784PE+PB 双分位合成
0.0783 0.0743 0.0830PB 当期截面分位
0.0615 0.0713 0.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 最便宜
D2
D3
D4
D5
D6
D7
D8
D9
D10 最贵
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%行业内中性化 PB
9.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 历史分位
12.0% 25.7%
30 个
PB 历史分位
12.2% 26.3%
30 个
行业内中性化 PB 分位
机械
11.5% 31.1%
28 个
PE+PB 双分位合成
13.5% 27.5%
30 个
PB 当期截面分位
银行
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-Q2
PB-Q3
PB-Q4
PB-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)
2010
4.51
0.2%2015
4.83
0.4%2018
2.50
5.1%2020
2.61
8.3%2022
2.59
6.8%2024
2.07
10.4%2026
2.82
6.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 的问题无处藏身。
风险提示:本文为量化方法的实证记录,所有数据来自历史行情的事后统计, 不构成任何投资建议。历史表现不代表未来收益,因子有效性存在失效风险。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.