
价值因子过去十几年的惨状人尽皆知:Fama-French 的 HML 从 2007 年到 2020 年累计回撤超过 50%,“价值投资已死”的讣告写了一轮又一轮。但在给因子收尸之前,值得先检查一下尸体的身份——死掉的可能不是价值投资,而是”账面价值”这个过时的度量。
B/M(账面市值比)诞生于 1980 年代,那时美国上市公司的资产主要是厂房、设备、存货——都老老实实躺在资产负债表上。今天市值最大的公司靠什么赚钱?代码、专利、品牌、用户网络。而会计准则要求:内部产生的研发支出和品牌投入必须当期费用化,不得资本化。微软每年几百亿美元的研发,在账面上留下的资产是零。
结果是账面价值系统性低估知识密集型公司的真实资本存量,B/M 把它们错误地归入”贵”的一端。传统价值因子做空的”贵股票”里,混进了大量其实并不贵、只是资产看不见的公司。这篇文章用 400 只股票 × 20 年的合成面板把这个测量误差的后果完整演示一遍,然后看资本化调整能修复多少。
会计的盲区有多大#
Peters & Taylor (2017) 提出的解决方案已经成为文献标准:把费用化的无形投资加回资产。做法是对研发支出和一部分销售管理费用(SG&A,作为品牌与组织资本的代理)做永续盘存:
研发存量用 15% 折旧率累积研发支出,组织资本用 20% 折旧率累积 30% 的 SG&A。把这个无形资本存量 加回账面权益,得到调整后的 iB/M。
Eisfeldt, Kim & Papanikolaou (2020) 用这个调整重构 HML,发现调整后的价值因子在传统 HML 最惨的 2007-2020 区间依然有正收益——价值溢价没有消失,是账面价值瞎了。经济体的无形密集度越高,这个测量误差越大:美国企业无形投资占比已经超过有形投资,而 1980 年代这个比例不到一半。
合成实验:把测量误差植入数据#
实验的核心思路是构造一个”上帝视角”:每只股票有一个真实的低估程度(真实 V/P),它驱动未来收益;而我们观测到的账面 B/M 是真实 V/P 被无形资产强度污染后的版本:
import numpy as np
rng = np.random.default_rng(7)
N_STOCKS, N_MONTHS = 400, 240 # 20 年月频
# 真实低估程度(对数 V/P): 这是收益的真正驱动
true_vp = rng.normal(0, 0.35, N_STOCKS)
# 无形资产强度: 0(重资产) ~ 1(高研发/品牌)
intang = rng.beta(2, 3, N_STOCKS)
# 账面 B/M = 真实 V/P - 无形污染项 + 会计噪声
# 无形资产被费用化 -> 账面权益被低估 -> B/M 被压低 -> 公司"显得贵"
bm_obs = true_vp - 1.6 * intang + rng.normal(0, 0.15, N_STOCKS)
# 资本化调整: 永续盘存法估计知识资本(带测量误差), 加回账面
iknow = intang * 1.6 + rng.normal(0, 0.10, N_STOCKS)
bm_adj = bm_obs + iknow
# 月度收益: 真实 V/P 每 σ 带来 22bp 月度溢价 + 不可分散的价值因子冲击
PREM = 0.0022
vfac = rng.normal(0, 0.016, N_MONTHS) # 价值因子共同冲击
z = (true_vp - true_vp.mean()) / true_vp.std()
for t in range(N_MONTHS):
rets[t] = beta_i * mkt[t] + (PREM + vfac[t]) * z + idio[t]python关键设定:
- 收益只由真实 V/P 驱动,无形资产强度本身不带溢价。这样任何因子表现差异都纯粹来自信号质量——谁更接近真实 V/P 谁赢。
- 污染系数 1.6:高无形公司的账面 B/M 被压低约 1.6 个对数单位的比例项,对应”研发存量与账面权益同量级”的现实(科技巨头普遍如此)。
- 调整项带测量误差:永续盘存的折旧率、SG&A 里品牌投入的占比都是拍出来的参数,调整不可能完美。噪声标准差 0.10 反映这一点。
- 价值因子有不可分散的共同冲击(月度 σ=1.6%),避免 400 只股票分散化把 Sharpe 推到脱离现实的假读数。
结果一:账面 B/M 在惩罚谁#
先看信号被污染的方向性证据:
- 传统 B/M 定义的”便宜组”(Q5),无形强度均值只有 0.20——全是重资产公司;
- 传统”贵组”(Q1)无形强度均值 0.63——高研发高品牌公司被集体塞进做空腿;
- 全样本均值 0.40,调整后的便宜组无形强度回到 0.39——正好是无偏水平。

右图把污染画得很直白:无形强度越高,账面 B/M(紫色)相对调整后 iB/M(绿色)被压得越低。传统价值因子不是在做多便宜、做空贵,而是在做多重资产、做空知识资本——它把一个行业/商业模式的赌注伪装成了估值赌注。
结果二:信号质量与价值陷阱#
用上帝视角直接给两个信号打分:
| 指标 | 账面 B/M | 调整 iB/M |
|---|---|---|
| 与真实 V/P 的相关系数 | 0.706 | 0.861 |
| 便宜组价值陷阱率* | 11.2% | 3.8% |
*价值陷阱率 = 便宜组里真实 V/P 为负(其实不便宜)的比例。

调整把信号与真实低估的相关从 0.71 抬到 0.86,便宜组里的”假便宜”从九分之一降到二十六分之一。价值陷阱的会计学解释在这里非常具体:一家公司账面 B/M 高,可能因为它真的便宜,也可能因为它没有无形资产可以被低估——一家夕阳行业的重资产公司,账面干干净净,市场给的低价是公允的。账面 B/M 分不清这两种情况,调整后的 iB/M 能分清大半。
结果三:因子收益对比#
20 年月频多空(Q5-Q1,等权,无成本):
| 因子 | 年化收益 | Sharpe | t 值 | MDD |
|---|---|---|---|---|
| 传统 HML | 12.6% | 1.14 | 5.10 | 14.6% |
| 无形调整 iHML | 14.2% | 1.02 | 4.57 | 19.2% |
两个诚实的观察:
年化收益提升 1.6 个百分点——这来自信号质量的改善,便宜组里真便宜的浓度更高。20 年复利下这是 35% 的额外累计收益。
但 Sharpe 没有提升(1.14 → 1.02)。原因值得说透:本实验中价值因子的共同冲击是不可分散的,iHML 对真实 V/P 的暴露更纯粹,意味着它对价值因子共同冲击的暴露也更足——信号更纯的代价是因子风险更集中。调整修复的是”选股正确率”,不是”因子本身的风险收益比”。真实世界里 Eisfeldt et al. 报告的 Sharpe 改善,很大程度来自传统 HML 的做空腿在 2010 年代持续做空科技巨头造成的灾难被修复——那是一个方向性的 regime 押注被纠正,而不仅是噪声被过滤。
实盘落地的四个坑#
坑一:折旧率是最大的自由参数。 研发存量 15%、组织资本 20% 的折旧率来自 BEA 的行业估计,但制药的研发半衰期和软件完全不同。用统一折旧率会在行业间制造新的系统性偏差;按行业设定折旧率,又引入了新的过拟合入口。至少要做折旧率 ±5pp 的敏感性检验,确认结论不翻转。
坑二:SG&A 的 30% 是拍脑袋的经典。 把三成销售管理费用当作组织资本投资,这个比例在文献里从 20% 到 100% 都有人用。SG&A 里混着真正的品牌投入,也混着纯粹的行政开销。对 SG&A 占比高但研发为零的公司(比如零售、消费品),这个参数几乎单独决定它们的因子归属。
坑三:A 股的研发数据 2018 年才可用。 A 股上市公司研发费用单独披露是会计准则修订后才强制的,之前的研发支出混在管理费用里。直接把美股的永续盘存法平移到 A 股,2018 年前的存量估计基本是噪声。且 A 股允许开发阶段支出资本化(与美股 GAAP 不同),部分无形资产已经在账面上,重复加回会反向污染。
坑四:无形调整与质量因子的共线性。 高研发存量的公司往往同时是高毛利、高 ROE 的”质量股”。iHML 相对 HML 的改善,有多少是估值测量的修复、有多少是偷偷混入了质量暴露?必须对质量因子做正交化检验——如果正交化后增量消失,你只是用一种更贵的方式复制了 QMJ。
结论#
价值因子的”死亡”至少有一部分是测量谋杀:账面价值这把尺子在无形经济里失效,把知识资本密集的公司系统性误判为贵。合成实验给出了干净的因果链——污染进入信号(便宜组无形强度 0.20 vs 全样本 0.40),信号质量下降(相关 0.86→0.71),价值陷阱率翻三倍(3.8%→11.2%),因子收益被拖累(14.2%→12.6%)。
资本化调整是修复而非魔法:它提升选股正确率,但不改变价值因子本身的风险属性;它引入的折旧率和 SG&A 占比参数,是新的过拟合入口。对实盘的建议是把 iB/M 当作 B/M 的替代默认项——继续用账面 B/M 需要理由,而不是反过来。
本文实验基于合成数据,污染系数与溢价参数为示意性设定,实证结论请参考 Peters & Taylor (2017)、Eisfeldt, Kim & Papanikolaou (2020)。