因子研究现状
前五章把因子投资的"武器库"交到了你手上;这一章要泼几盆必要的冷水。学术界挖出的 400 多个因子里,大部分可能只是统计运气——理解 p-hacking 与多重假设检验,你才有能力分辨真假。接着我们换一副眼镜:用行为金融学和投资者情绪解释因子为什么存在,用三类检验判断一个异象到底是风险补偿、错误定价还是数据窥探,正视因子在样本外的衰减,最后评估机器学习这件新武器的真实成色。读完本章,你对任何一篇"新因子"研究都该有一套完整的审查流程。
6.1p-hacking 与"因子动物园"
2011 年,时任美国金融协会主席的 John Cochrane 在演讲中挖苦道:从前人们以为 CAPM 能解释预期收益截面差异的 100%,现在人们认为它几乎什么都解释不了,取而代之的是一座解释截面差异的"因子动物园"(factor zoo)。学术界发表的"显著"因子已超过 400 个。真的有这么多独立的收益驱动力吗?显然没有。那么这些因子是怎么被"挖"出来的?回答这个问题,要从统计检验最基础也最容易被误解的概念——p 值——说起。
p 值到底是什么
先假定"因子其实不赚钱",问:纯靠运气,做出比眼前这份成绩更极端的成绩,概率有多大?这个概率就是 p 值。
设原假设 $H_0$ 为"因子预期收益为零"。在样本中观测到收益(或其 t 统计量)取值为 $x$,则 p 值是在 $H_0$ 成立的前提下,随机变量取到比 $x$ 更极端数值的条件概率(Fisher 1925)。按"极端"的方向分三种:右尾 $p=\operatorname{prob}(X \ge x \mid H_0)$;左尾 $p=\operatorname{prob}(X \le x \mid H_0)$;双尾 $p = 2\min\{\operatorname{prob}(X \ge x \mid H_0),\ \operatorname{prob}(X \le x \mid H_0)\}$。检验因子收益通常用双尾。
p 值越小,说明"眼前的成绩纯属运气"这件事越难以置信,人们越倾向拒绝 $H_0$。但注意:足够低的 p 值只是"因子有效"的必要条件,远不是充分条件。
Harvey(2017)出过一道测验:假设检验"小董事会公司跑赢大董事会公司",得到 p < 0.01。下面哪些说法对?(1)我们证明了 $H_0$ 是错的;(2)我们求出了 $H_0$ 为真的概率;(3)我们证明了小董事会公司确实跑赢;(4)我们求出了备择假设为真的概率。答案:全错。p 值既不证明任何假设,也不是任何假设为真的概率——它只是 $H_0$ 之下数据出现的条件概率。美国统计协会(Wasserstein and Lazar 2016)为此专门发布六条准则,核心就两句:p 值不表示原假设为真的概率;科学结论不应只看 p 值是否越过某个阈值。
发表偏差:为什么人人追逐超低 p 值
动机链条很直白:p 值越低 → 因子越"显著" → 论文越吸引眼球 → 引用越多 → 期刊影响因子越高。于是期刊偏爱低 p 值的文章,学者偏爱挖低 p 值的因子。这就形成了发表偏差(publication bias):只有"显著"的结果被写出来、发出来,"不显著"的结果被丢进抽屉——尽管从推动学科的角度看,"确认某因子无效"与"发现某因子有效"同样有价值。
Harvey et al.(2016)统计了 1963—2012 年顶级期刊上 316 个因子的 t 值分布,发现一个耐人寻味的现象:t 值落在 2.0~2.57 的文章数与落在 2.57~3.14 的文章数几乎一样多。理论上,p≈0.002 的因子应当比 p≈0.01 的因子稀有得多,两组数量却不相上下——这只能说明发表环节在按显著性筛选。金融学属于"软科学":用哪段样本、哪个市场、月度还是年度再平衡、如何剔除异常值……每一步都有自由裁量空间。在追逐低 p 值的氛围下,这些"研究者自由度"全都会悄悄偏向让结果显著的那一边。
不断换变量、换样本、换处理方法,直到"试"出一个足够显著的结果为止——先有结果,再补假设。
科学研究的正序是"先有假设、再用数据检验";p-hacking 把顺序反了过来:对着同一份历史数据反复尝试,直到找到显著的因子。这样得到的"发现"本质上是样本内过拟合(in-sample overfitting)的产物,与真实规律无关。它可以是有意的数据操纵,也可以是无意的——研究者甚至意识不到自己丢弃了多少个不显著的尝试。而每一次被丢弃的尝试,都在悄悄改变"显著"二字的含义,这正是下面要讲的多重假设检验问题。
多重假设检验:显著性是如何被稀释的
街上随机拦一个人,让他猜 20 次抛硬币,他全猜对了——你会认为他有异能,因为单个人做到这件事的概率只有百万分之一。但如果让三亿人同时玩这个游戏,20 轮之后大约还剩 250 人全对($3\times10^8 \times 0.5^{20} \approx 286$)。这 250 人没有任何异能,他们只是三亿次尝试里注定会出现的幸运儿。挖因子同理:检验一个因子得到 t = 2.0,可以说它在 5% 水平下显著;但如果背后试过 100 个因子再挑出 t 最高的那个,哪怕全部因子都是纯噪声,"最显著者 t 超过 2"的概率也高达 99%。
用同一份数据同时检验很多个假设时,"5% 显著"的门槛会被尝试次数冲垮——试得越多,纯运气蒙混过关的假因子越多。
用同样的历史数据挖成百上千个因子,就是一场大规模多重假设检验。若仍按单次检验的 t > 2.0 标准评判,必然产生大量伪发现(false discoveries)。多重检验校正的核心目标,就是把伪发现出现的概率压回可控范围——代价是单个因子必须拿出远高于 2.0 的 t 值才算数。
下面的模拟器直观展示这一点:我们生成 N 个纯噪声策略(真实收益全为零),统计其中 |t| > 1.96 的"显著"因子个数。拖动滑杆增加尝试次数,看看"因子动物园"是怎么建成的。
怎么给伪发现"设闸"?统计学的思路是:先定义一个描述第一类错误(Type I error,错误拒绝原假设)的总量指标,再设计算法把它控制在给定水平之下。把一次多重检验的结果整理成下表(共检验 $S$ 个因子,拒绝了 $R$ 个原假设):
| 真实情况 \ 检验结论 | 被拒绝(判为"显著") | 未被拒绝 | 合计 |
|---|---|---|---|
| $H_0$ 为真(因子无效) | $F_1$(伪发现) | 正确接受 | $S_0$ |
| $H_0$ 为假(因子有效) | $T_1$(真发现) | 漏检(第二类错误) | $S_1$ |
| 合计 | $R = F_1 + T_1$ | $S - R$ | $S$ |
不同校正方法的区别,就在于选择控制 $F_1$ 的哪个统计量。主流有三类。
FWER 有多严格?反过来看不校正的后果就明白了。若做 $N$ 个独立检验、每个都用 5% 门槛,则至少出一个伪发现的概率为 $1-(1-0.05)^N$:
把这些工具用到因子研究上,结论相当冷峻。Harvey et al.(2016)对 316 个已发表因子做 FDR 控制后主张:新因子的 t 值门槛应从 2.0 提高到 3.0,且按此标准估计已发表因子中伪发现比例约 27%。他们同时承认 3.0 仍偏保守——因为已发表因子只是"试过的因子"的冰山一角,大量不显著的尝试从未见诸文字。Chordia et al.(2020)用模拟方法推断"研究过的因子全集"的统计特征,给出更严的答案:时序回归 t 值至少 3.8、Fama–MacBeth 回归 t 值至少 3.4,才谈得上真实有效。类似地,Harvey and Liu(2015)估算了策略夏普比率的"多重检验折扣",业界"实盘夏普打五折"的经验法则可视为其粗糙版本。
先验的重要性:贝叶斯视角
提高 t 门槛是"一刀切"的防御。更根本的问题是:p 值回答不了"因子为真的概率",而这恰恰取决于一个 p 值之外的量——真因子在候选池里的基础比率(base rate),也就是先验。同样是"10 连对",出自音乐家分辨莫扎特与海顿(先验极高,结果只是确认常识)、出自老妇人分辨奶茶的冲泡顺序(先验存疑,结果足以扭转判断)、还是出自自称酒后能预知未来的酒馆老板(先验约等于零,结果只能算运气),结论截然不同。数据相同,先验不同,后验就不同。
假设候选池里 10% 是真因子($\pi=0.1$,对挖因子而言已相当乐观),检验功效 $\beta_p=0.5$,门槛 t > 2($\alpha_s=0.05$)。代入:$\operatorname{prob}(\text{真} \mid t>2) = \dfrac{0.1\times 0.5}{0.1\times 0.5 + 0.9\times 0.05} = \dfrac{0.050}{0.095} \approx 52.6\%$。也就是说,一个通过了"5% 显著"检验的因子,是真是假几乎是抛硬币。若基础比率降到 1%(更接近大海捞针式挖掘的现实),真货占比会掉到一成以下——这正是章末练习 6.4 要你算的。
Harvey(2017)把这一思想工程化,提出贝叶斯化 p 值(Bayesianized p-value):用原始检验结果计算"最小贝叶斯因子",再与先验结合得到后验概率,直接回答 $\operatorname{prob}(H_0 \mid D)$。
Harvey(2017)用三类先验重审知名因子。(1)"悦耳股票代码"因子(代码好听的股票收益更高,Head et al. 2009):原始 p 值低至 0.0079,但先验概率只给 2%,算出贝叶斯化 p 值 0.588——有近六成概率是假货,直接出局。(2)Fama–French 五因子模型中的盈利与规模因子(先验 20%):贝叶斯化 p 值分别约 0.05 与 0.12,盈利因子勉强站住,规模因子存疑。(3)市场因子(有理论支撑,先验 50%):贝叶斯化 p 值约 0.035,依然显著。同样的数据,先验把"统计显著"翻译成了截然不同的投资结论。
- p 值 = $\operatorname{prob}(D\mid H_0)$,永远不是 $\operatorname{prob}(H_0\mid D)$;低 p 值只是因子有效的必要条件。
- 发表偏差 + 研究者自由度 = p-hacking:"先有结果再编假设",产物是样本内过拟合。
- 多重检验之下 t>2 形同虚设:控制 FWER(Bonferroni/Holm,严格)或 FDR(BH/BHY,温和)后,可信门槛升至 t≈3.0(Harvey et al. 2016)甚至 3.4~3.8(Chordia et al. 2020)。
- 发现的可信度取决于先验:真因子基础比率低时,"5% 显著"的发现大半是假货;贝叶斯化 p 值把这层账算明白。
- 比样本内显著性更重要的,是因子背后有没有站得住的经济学解释——这是 6.3~6.5 节的主题。
6.2从"因子动物园"到"因子大战"
6.1 节讲的是挖单个因子的乱象;这一节把镜头拉到多因子模型层面。一个好的多因子模型本该回答两个问题:资产收益背后的驱动有哪些?每个驱动的经济学原因是什么?但 Fama–French 三因子之后,新模型的发表越来越像一场竞技:谁能在样本内解释更多异象,谁就赢。本书作者把这种以"解释异象个数"论英雄的比拼称为"因子大战"——解释异象当然是模型的重要任务,但它不应是唯一标准。
形同意不同:两个投资因子的路线之争
因子大战最有戏剧性的战场,是 Fama–French 五因子模型(FF5)与 Hou–Xue–Zhang 四因子模型(HXZ,q-factor)里那对"孪生"投资因子。两者用的变量几乎相同——最近一个财年的总资产变化率——但理论出发点完全不同:
| HXZ q-factor(Hou et al. 2015) | FF5(Fama and French 2015) | |
|---|---|---|
| 理论来源 | 实体投资经济学(q 理论) | 股息贴现模型 |
| 推导结论 | 预期收益与过去的投资负相关(控制盈利后) | 预期收益与未来的预期投资负相关 |
| 落地做法 | 直接用历史总资产变化率;市值 × ROE × 投资 2×3×3 三重排序,控制盈利的影响 | 用历史投资作未来预期投资的朴素代理;市值 × 投资 2×3 双重排序 |
Hou et al.(2019b,Which factors?)从理论和实证两头攻击 FF5 的逻辑。理论一击最狠:多因子模型关心的是未来单期预期收益,而股息贴现模型推导时用的是长期平均收益。把估值恒等式改写成单期形式,符号就翻转了。一期展开的估值恒等式为:
"变量一样,因子就一样"——错。同名同变量的两个因子,可能出发理论相反、排序方式不同、溢价高低有别。读论文时务必追问三件事:变量是什么?理论上为什么它定价?投资组合怎么构造?三者任何一处不同,都是不同的因子。这也是"因子动物园"里大量重复计数的来源。
q5 模型:给 q-factor 加上预期投资增长
Hou et al.(2020)把 HXZ 四因子扩展成五因子,即 q5 模型(Hou–Mo–Xue–Zhang)。动机来自 Cochrane(1991):控制当期投资与预期盈利后,预期投资增长率与预期收益正相关。数学上,把原来"资产一期折旧完毕"的两期模型扩展为多期(折旧率 $\delta \lt 1$),由投资的第一性原理——边际成本等于折现的边际收益——可写出投资收益率:
战况与冷思考
| 年份 | 参战模型 | 比武方式与结果 |
|---|---|---|
| 2015 | HXZ q-factor(Hou et al. 2015) | 用约 80 个异象作测试资产,胜 FF3 与 Carhart 四因子 |
| 2017 | Stambaugh–Yuan 四因子(行为出发) | 照例与旧模型对比,照例获胜 |
| 2018/2020 | Daniel–Hirshleifer–Sun 三因子(行为出发) | 提出长、短两个时间尺度的行为因子;被质疑不含规模因子 |
| 2020/2021 | q5(Hou et al. 2020) | Hou et al.(2019b)实证中解释异象最多,现阶段"最强" |
| 2018 | Fama–French(2018,Choosing factors) | 拒绝互搏,改用"模型因子可构成的最大夏普比率平方"自比 CAPM/FF3/FF5/FF6 |
DHS 三因子不含规模因子曾被当作缺点,本书作者却认为这恰是优点:行为金融学理论推不出规模因子,硬塞进去反而有数据窥探之嫌——只有把"解释更多异象"当唯一目标的人,才会得出"应该加"的结论。另一边,Fama and French(2018)在自家模型比较中表达了对因子大战的担忧:CAPM、CCAPM 虽被数据拒绝,但它们在风险与收益之间建立了理论联系;而实证多因子模型若缺乏理论,就会退化成"以提升事后有效前沿切点组合夏普比率为目标的数据挖掘"。定价因子的本分是解释收益的共同运动,必须与协方差矩阵挂钩(Pukthuanthong et al. 2019)——仅仅比谁解释的异象多,离这个本分已经很远。
- "因子大战":新模型以样本内解释异象个数论胜负,离"理解市场"的初衷渐行渐远。
- FF5 与 HXZ 的投资因子变量相同、理论相反;单期估值恒等式(式 6.8)支持 HXZ 的解读,FF5 是"负负得正"。
- q5 = HXZ 四因子 + 预期投资增长因子,源自多期 q 理论(式 6.9),是现阶段解释力最强的模型。
- 用不同理论可以推出相反结论、都能讲通故事——这本身就是警钟:对着历史数据讲故事不等于接近真相。
6.3用行为金融学解释异象和因子
传统金融学的大厦立在两块基石上:投资者持有理性预期(及时处理全部信息、按贝叶斯法则更新信念),并按期望效用最大化做决策。行为金融学(behavioral finance)对这两块基石逐一发难:预期会系统性出偏(预期偏差)、大脑处理不完全部信息(认知限制)、面对不确定性的偏好也并不理性(风险偏好偏差)。半个世纪下来,它已从"异端"变成解释异象与因子的主流视角之一:因子未必代表系统性风险,也可能捕捉了错误定价的共同来源——例如全市场的投资者情绪(Hirshleifer and Jiang 2010,Kozak et al. 2018)。第 4 章的 Stambaugh–Yuan 与 DHS 模型正是这条思路的产物。
行为金融学的知识体系可以画成两大支柱:套利限制回答"错误定价为什么消不掉";心理学(预期偏差、风险偏好偏差、认知限制三部分)回答"错误定价从哪来"。下面依次展开。
支柱一:套利限制
就算你确信价格错了,纠正它的交易又贵、又险、还可能在你破产之后才被证明正确——所以错误定价能长期存在。
有效市场的辩护逻辑是:非理性交易者制造的错价会立刻被理性套利者赚走并抹平。20 世纪 90 年代,行为金融学正面击破了这条逻辑:套利者想利用错价,必须直面三重障碍,任何一重都可能让"理论上无风险"的套利变成实实在在的亏损,于是套利注定是不充分的。
- 基本面风险:想买入被噪声抛售砸低的股票,就得同时做空一只基本面完全相同的股票来对冲——而完美替代品不存在。留下的基本面敞口一旦爆出坏消息,套利者照样亏。
- 噪声交易者风险(noise trader risk,De Long et al. 1990;Shleifer and Vishny 1997):错价在回归之前完全可能先变得更离谱。套利者多用别人的钱(资管产品),而出资人只看短期净值:错价加深 → 策略浮亏 → 资金赎回 → 被迫在最错的价格上平仓。"市场保持非理性的时间,可以长过你保持不破产的时间"——这层职业风险让理性资本天然胆小。
- 实施成本:建仓的手续费、价差、冲击成本,尤其是做空约束——券源稀缺、融券费高昂甚至根本无券可融(A 股尤甚);还有一层常被忽略的成本:内在价值本身难以确定,找到错误定价就要花钱。
Shiller 在《非理性繁荣》里举过阪神大地震的例子:1995 年 1 月 17 日日本神户发生 7.3 级强震,6400 余人遇难、直接损失约千亿美元。东京股市当天却只是轻微下跌,直到一周后的 1 月 23 日,日经指数才补跌 5.6%,震后十日累计跌约 8%——"价格迅速反映全部信息"无从谈起。更奇怪的是同一天伦敦、巴黎、法兰克福跌 1.4%~2.2%,巴西、阿根廷跌约 3%——这些国家并没有地震。信息传播有快慢、解读因人而异、反应夹杂情绪,这才是真实市场。
"噪声交易者"(noise trader)由 Shiller(1984)建模、经 Fischer Black(1986)著名的主席演讲 Noise 定名:噪声交易者把噪声当成信息去交易——客观上不交易对他们更有利,但他们照样交易,或许因为误把噪声当信息,或许只是喜欢交易。Black 的另一句话是本节的题眼:"噪声让市场变得不够有效,但也常常阻止我们利用这种无效性。"
支柱二(上):预期中的偏差
套利限制解释了错价为何消不掉;接下来的心理学偏差解释错价从哪冒出来。先看扭曲"预期"的四个主角——它们也是解释动量、反转、PEAD 等异象的核心零件。
人对自己判断的信心,系统性地高于判断的实际准确率;并且绝大多数人都觉得自己比平均水平强。
两个经典证据:让受试者对某地加油站数量给出"90% 置信区间",真值落在区间内的频率只有 50% 左右——区间给得太窄,即对自己的估计过度自信;对 600 名基金经理的调研中 74% 认为自己优于同行——若无偏差应接近 50%。过度自信解释了市场上巨大的成交量:两人先验相同、看到同一条新息,却都认为自己的解读更对,分歧由此而生,交易随之发生(Eyster et al. 2019);越自信的人交易越频繁(Grinblatt and Keloharju 2009)。在异象层面,Daniel et al.(1998, 2001)用"对私有信息过度自信 + 自我归因"解释动量与长期反转:深入研究后重仓买入 → 短期只认同印证自己观点的公共信息(确认偏误)→ 价格被推过头 → 基本面证伪后回落。
人靠"像不像"下判断,忽视基础比率、又把几个样本当规律,于是把最近的涨跌和增长一路线性外推到未来。
代表性启发法(representativeness heuristic,Tversky and Kahneman 1974)带来两类错误。其一,忽视先验概率:一段"害羞、有条理、注重细节"的描述让人立刻猜"图书管理员",尽管现实中农民多得多——人们只看 $\operatorname{prob}(\text{描述}\mid\text{职业})$ 的相似度,忘了职业本身的基础比率(这与 6.1 节的贝叶斯教训一体两面)。其二,小数定律信仰(law of small numbers,Tversky and Kahneman 1971):相信十来个样本就能代表总体规律,"大数据告诉你节后是涨是跌"式的分析即属此类。
两者叠加,就得到过度外推(over-extrapolation):预测未来时给近期数据过高的正权重。收益率外推——最近涨的还会涨、最近跌的还会跌;基本面外推——近期现金流高增长的公司会一直高增长。外推的尽头是失望:增长不及预期 → 恐慌抛售 → 长期反转与价值异象。La Porta(1996)发现分析师的长期盈利预测同样过度外推:预期增长率最高的股票,未来实际收益反而更低(Bordalo et al. 2019 做了拓展)。
观点一旦形成就不愿改,新证据来了也只肯一点点让步——于是好消息要花很长时间才能走完它该走的价格。
保守主义的心理根源之一是沉没成本:为当前结论投入越多,越不肯推翻它。经典实验:飞机项目已花掉 90% 预算时得知对手造出了更好更便宜的产品,80% 的人选择把最后 10% 花完;同样的 100 万美元若是"新提案",80% 的人选择不投——钱是一样的钱,差别只在有没有沉没成本。投资经理拒绝承认原方案错误、死扛亏损头寸,是同一机制。
在定价上,保守主义制造反应不足(underreaction):超预期的盈利消息出现时,投资者宁可相信先验、对利好将信将疑,价格只走一半;随着后续利好不断确认,价格才慢慢补涨。Barberis, Shleifer and Vishny(1998)的投资者情绪模型正是用"保守主义(反应不足 → 动量)+ 代表性(过度外推 → 长期反转)"这一对矛盾的组合,统一解释了动量与反转两大异象。Hong and Stein(1999)给出另一条路径:市场里有信息传播缓慢的基本面交易者(反应不足)与追涨杀跌的动量交易者(放大成过度反应),二者互动产生"短期动量 + 长期反转"。
预期偏差家族还有几位配角,简记如下。乐观主义与控制幻觉:2008 年 2 月仍有 91% 的分析师看多;连对几次硬币就自觉是"天选之人"。自利偏差:站在公司立场审阅问题报告的审计师,比站在投资人立场的多 31% 认为报告没问题。确认偏误(confirmation bias):四卡片实验里,多数人翻"A 和 4"找支持证据,正确做法是翻"A 和 7"找否定证据;亏损中的交易者疯狂搜集"利好"以说服自己扛单,同理。锚定效应(anchoring):幸运转盘的随机数、手机号后四位都能把估计拉向"锚";Li and Yu(2012)发现指数距 52 周高点的距离度量反应不足、距历史高点的距离度量反应过度,两者叠加可预测道指走势。可得性启发法(availability heuristic):以 r 开头的单词好想、r 在第三位的难想,于是误以为前者更多;投资者追逐新闻热股、单日暴涨股(Barber and Odean 2008),分析师在扩张期给出更乐观的长期预测(Lee et al. 2008),都是"容易想起 = 重要"的错觉。
支柱二(中):风险偏好中的偏差——前景理论
人评估一个赌局时,不看最终财富,而看相对参考点的盈亏;亏 100 的痛远大于赚 100 的爽;而且会放大小概率事件的分量。
Kahneman and Tversky(1979)研究的问题是:面对若干个不确定的"选项"(prospect,比如不同的股票或博弈),人到底怎么打分、怎么选。设某选项以概率 $p$ 得到结果 $x$、以概率 $q$ 得到结果 $y$(记作 $(x,p;\,y,q)$),前景理论给它的主观价值为 $V = \pi(p)\,v(x) + \pi(q)\,v(y)$(式 6.12)——形式上像期望效用,但两处被系统性"扭曲":效用函数换成了价值函数 $v(\cdot)$,概率换成了决策权重 $\pi(\cdot)$。这两处扭曲正是它解释异象的全部弹药。Kahneman 因此获 2002 年诺贝尔经济学奖。
1979 年版前景理论只允许两个非零结果、且只有定性结论。Tversky and Kahneman(1992)的累积前景理论(cumulative prospect theory)补齐了这两点:允许 $m$ 个亏损结果与 $n$ 个盈利结果 $x_{-m} \lt \cdots \lt x_0 = 0 \lt \cdots \lt x_n$,总价值为 $V=\sum_i \pi_i\,v(x_i)$(式 6.14),其中决策权重 $\pi_i$ 不再直接作用于单个概率,而是累积分布的差:对盈利端 $\pi_i = w^{+}(p_i+\cdots+p_n) - w^{+}(p_{i+1}+\cdots+p_n)$,亏损端对称地用 $w^{-}$ 从左尾累积。直觉:一个结果的权重取决于它把"至少这么好(坏)"的概率改变了多少,于是被放大的是两侧尾部——这正是"彩票股"故事的数学基础。顺带一提,权重之和 $\sum_i \pi_i$ 一般不等于 1,这不影响理论的使用。风险偏好偏差的另一要素是模糊厌恶(ambiguity aversion,Ellsberg 1961 悖论):人们宁选概率已知的赌局,也不选分布未知的赌局,即讨厌"连不确定性本身都不确定";投资中表现为只买熟悉的标的,却常在自以为熟悉的领域栽得更狠。
赚钱的股票拿不住、急着落袋为安;亏钱的股票舍不得卖、总想扛回本——卖盈守亏。
由 Shefrin and Statman(1985)命名,是前景理论价值函数的直接推论(Barberis and Xiong 2009;Ingersoll and Jin 2013):盈利端凹——浮盈时风险厌恶,倾向锁定收益卖出;亏损端凸 + 损失厌恶——浮亏时风险寻求,宁愿继续赌也不愿实现损失。加总到市场层面:浮盈的股票被非理性地过度卖出,价格被压低于应有水平(未来收益更高);浮亏的股票被非理性地死拿,价格降不下来(未来收益更低)。于是"浮盈浮亏状态"本身就能预测收益。学术界用未实现盈利(capital gain overhang,CGO)度量一只股票持有者的平均浮盈程度,并用它改造了一批异象:Frazzini(2006)发现"浮盈 + 好消息"与"浮亏 + 坏消息"两种组合里处置效应与有限注意力同向叠加,据此强化了 PEAD;Wang et al.(2017)发现波动率与收益的关系随 CGO 翻转——浮亏者借高波动股翻本(高估 → 负相关),浮盈者抛售高波动股(低估 → 正相关),这为低波动异象提供了行为解释;An et al.(2020)发现浮亏状态下人们更偏爱彩票股,偏度异象在浮亏股票中更强。
支柱二(下):认知限制
大脑带宽有限,只能处理最显眼的那部分信息——没上头条的重大消息,就像没发生过一样。
认知限制(cognitive constraints,又称有限理性)把"人脑处理能力有限"作为约束条件放进决策问题:人们求的是约束下的次优解。最重要的表现是有限注意力。经典案例(Huberman and Regev 2001):1998 年 5 月 3 日《纽约时报》头版报道 EntreMed 公司的抗癌技术突破,次日股价暴涨 330%——但同样的内容半年前就登过《自然》杂志和多家主流媒体(包括《纽约时报》自己),当时股价纹丝不动。信息没变,变的是聚光灯。DellaVigna and Pollet(2007)则发现市场对人口结构信息反应不足:出生率激增利好数年后的玩具公司,理性投资者应立即定价,实际上价格要等到需求真正兑现才动,据此构建的策略能获得超额收益。
认知限制的另一表现是分类思维(categorical thinking):为省脑力,投资者把上千只股票装进"价值股""成长股""小盘股"等抽屉,按抽屉而非个股基本面做判断,制造出与基本面无关的类内共同运动。证据:股票被纳入标普 500 后,在基本面相关性没有提高的情况下,与其他成份股的收益相关性显著上升(Barberis et al. 2005;Boyer 2011)。
把偏差装配成异象:一张对照表
上面这些心理零件如何组装出第 3、5 章见过的各个异象?下表是本节的总装图:
| 异象 | 行为机制 | 代表文献与逻辑链 |
|---|---|---|
| 动量 | 保守主义 → 反应不足;过度自信 + 自我归因;信息缓慢扩散 | BSV 1998:利好被将信将疑,价格慢慢补涨;DHS 1998:对私有信息过度自信,短期只认印证性证据;HS 1999:基本面交易者消息传得慢,动量交易者顺势放大 |
| 长期反转 / 价值 | 代表性偏差 → 过度外推 | 连串利好后把高增长外推到未来,价格冲过头;增长证伪 → 抛售回落。La Porta 1996:分析师预期增长最高的股票未来收益最低 |
| PEAD(盈余惯性) | 有限注意力 → 反应不足 | 财报信息未被即时消化,公告后价格继续漂移;周五公告(注意力更差)与多家同日公告时更显著(DellaVigna and Pollet 2009;Hirshleifer et al. 2009) |
| 偏度 / 彩票股 / IPO | 概率加权 → 高估右尾 | Barberis and Huang 2008:右偏股票被当彩票追捧、价格被推高、未来收益更低;Green and Hwang 2012:IPO 首日暴涨后长期跑输 |
| 特质波动率(IVOL)/ 低波动 | 概率加权 + 处置效应(CGO 状态依赖) | Boyer et al. 2010:低特质波动与未来低特质偏度相关,彩票偏好压低高波动股收益;Wang et al. 2017:浮亏者借高波动股翻本,风险收益关系随 CGO 翻转 |
| 动量(另一条路) | 处置效应 → 价格对信息反应打折 | 浮盈股被过度卖出压住涨势、浮亏股被死拿托住跌势——价格总比"该到的位置"慢半拍,赢家继续涨、输家继续跌(练习 6.5 要求你完整推演) |
| 前景理论价值异象 | 价值函数 + 权重函数整体 | Barberis et al. 2016:用过去 60 个月收益算出每只股票的"前景理论价值",做多低值端、做空高值端,在美国及全球 46 个市场中大多显著;Barberis et al. 2019 的动态模型可解释动量、IVOL、偏度、盈利、PEAD 等 22 个异象中的大部分,但解释不了市值、价值、反转等 |
"行为解释 = 白捡的钱"——不成立。行为偏差给出错误定价的来源,套利限制决定它能否被你吃到。异象多空组合的空头端往往集中在小盘、高波动、难做空的股票上(6.4 节会看到证据),恰恰是套利限制最重的角落。看懂了行为故事却忽略执行成本,纸面 α 会在实盘里蒸发(6.6 节)。
行为有效市场:两个假说的分家
"价格等于价值"和"市场难以战胜"是两回事:前者常常不成立,后者依然成立——价格可以错,但你未必赚得到纠错的钱。
有效市场假说要求价格瞬间、正确地反映全部信息,股价走势应是一级级的"台阶"——显然与现实不符;但"战胜市场极难"又是人尽皆知的事实。Statman(2018)指出,矛盾源于有效市场假说其实捆绑了两层含义:"价格等于价值"假说与"市场难以战胜"假说。行为金融学的两大支柱恰好各拆一层:心理偏差 + 套利限制使价格可以持续偏离价值——第一层不成立;而对只有公开信息的普通投资者,错价照样赚不到(套利限制对你我同样生效),且认知偏差还批量制造自以为能赢的噪声交易者——第二层依然成立。注意逻辑方向:"价格等于价值"能推出"没有免费午餐",但从"没有免费午餐"反推"价格等于价值"是逆命题错误。Black(1986)一句话总结:噪声让市场不够有效,但也常常阻止人们利用这种无效性。
- 行为金融学 = 套利限制(错价为何消不掉:基本面风险、噪声交易者风险、实施成本/做空约束)+ 心理学(错价从哪来)。
- 预期偏差四主角:过度自信、代表性→过度外推、保守主义→反应不足、有限注意力(属认知限制)——分别对应动量、反转/价值、PEAD 等异象。
- 前景理论三件套:参考点依赖、损失厌恶(κ≈2.25)、敏感度递减(c≈0.88)+ 概率加权放大尾部(γ≈0.61);推论包括处置效应与彩票股异象。
- 处置效应让价格对信息"慢半拍",既能强化 PEAD,也是动量的一条行为成因。
- 行为有效市场:价格≠价值 与 市场难战胜 可以同时成立——别把"看懂错价"当成"能赚到错价"。
6.4投资者情绪
6.3 节的偏差是"单兵作战":一篇论文通常只研究一种偏差与收益的关系。但真实市场里,千万投资者的各种偏差交织在一起、此消彼长。有没有一个总量指标,能概括这些偏差对定价的综合影响?有——投资者情绪(investor sentiment)。
先看它为什么必要。资产定价的基本公式(第 2 章 GMM 部分出现过):
全体投资者对未来预期的系统性偏乐观或偏悲观程度——市场整体的"体温"。
一种典型定义:投资者情绪是投资者对未来预期的系统性偏差。情绪高涨时,对个股和市场的预期与需求整体偏高;低迷时反之。两个要素:(1)它源自各种行为偏差的汇集;(2)它是加总指标,刻画全体投资者的综合预期偏差。相关研究分两支:一支把情绪当作动量、反转等截面异象的理论根源(6.3 节已详述);另一支把情绪当作类似经济周期的时序状态变量,考察它对市场整体收益与异象表现的预测能力——本节聚焦后者。
怎么度量:Baker–Wurgler 情绪指数
情绪看不见摸不着,度量只能靠代理变量。Baker and Wurgler(2006)是这一领域的集大成者:他们选了六个各自带噪声、但都与情绪相关的市场指标,用主成分分析(PCA)提取公共成分——思路是"每个代理指标 = 真实情绪 + 各自的噪声",取第一主成分能把噪声对冲掉、留下公共的情绪信号。
| 细分指标 | 载荷符号 | 为什么与情绪相关 |
|---|---|---|
| 封闭式基金折价率(CEFD) | − | 封基折价深且各基金折价高度同步("封闭式基金折价之谜",Lee et al. 1991);散户悲观时折价加深——折价越大、情绪越低 |
| 市场换手率(TURN,去趋势后) | + | 存在卖空约束时,乐观者才入场交易,高换手代表高情绪(Baker and Stein 2004) |
| IPO 数量(NIPO) | + | 情绪高涨时估值贵,企业扎堆上市圈钱(Ibbotson et al. 1994) |
| IPO 首日平均收益(RIPO) | + | 打新的疯狂程度直接反映投机热情 |
| 新发行中股权融资占比(S) | + | 管理层择机在股票贵时发股、便宜时发债;高股权占比预示低未来收益(Baker and Wurgler 2000) |
| 股利溢价(PD−ND) | − | 分红股稳健、不分红股多为成长/投机股;情绪高涨时后者被追捧,分红股相对折价——股利溢价与情绪负相关 |
情绪高涨时,异象更强——尤其是空头端
拿到指数就可以做检验:按 $\mathrm{SENT}^{\perp}$ 把样本月份分成情绪高涨与低迷两组,比较各异象在两种状态下的表现。逻辑预期是:乐观投资者偏好年轻、小市值、高波动、不分红的投机性股票;情绪高涨时这类股票被买得过贵,未来收益走低。Baker and Wurgler(2006)用美股数据证实了这一点:规模、上市年龄、波动率、盈利、分红、成长与困境等异象的多空收益都能被情绪显著预测(研发类异象是少数例外)。
Stambaugh, Yu and Yuan(2012)把检验做得更细:对 11 个知名异象,分别考察多头端、空头端与多空组合在两种情绪状态下的表现,并用预测性回归控制常规因子:
这种预测力是不是伪回归?Stambaugh et al.(2014)用安慰剂检验回答:按情绪指数的自相关性(AR(1) 系数 0.988)生成 200 万条随机序列,代替真实情绪跑同样的回归。平均每 28500 条随机序列才有一条能同时与 11 个异象多空收益显著正相关;再加上"与空头端显著负相关"的条件,要 105000 条才出一条。真实情绪的预测力不大可能是运气。跨市场证据:Baker, Wurgler and Yuan(2012)为六个发达市场构建国家与全球情绪指数,发现全球情绪显著负向预测各国市场收益,且情绪高涨时"难估值、难套利"的股票未来收益更低——与美股结论一致。
情绪与市场整体
情绪还改变市场层面的风险–收益关系。Yu and Yuan(2011)发现:情绪低迷期,市场呈现教科书式的"高风险高收益";情绪高涨期,风险与预期收益脱钩——大量对风险不敏感的噪声资金入场,把风险补偿抹平了。用利率、市盈率、剩余消费比率等其他状态变量划分市场则观察不到这种差异,可见这是情绪特有的效应。延伸研究:Huang et al.(2018)用新闻文本情绪研究股、债、商品、地产、货币五类资产,发现情绪影响会跨资产传导;Jiang et al.(2019)从公司公告与电话会议文本提取管理者情绪(manager sentiment),它负向预测市场收益、与投资者情绪互补,控制它之后 BW 指数对异象的预测力明显减弱。
- 价格波动远大于基本面波动(Shiller 1981),情绪是解释"多出来的波动"的主要候选人。
- BW 指数 = 六个代理变量(封基折价、换手率、IPO 数量与首日收益、股权融资占比、股利溢价)的第一主成分,载荷符号全部符合理论;再对宏观变量正交化。
- 情绪高涨预示异象更赚钱,且几乎全部由空头端贡献——高估 + 做空约束是错误定价最难纠正的组合。
- 情绪低迷时市场"风险换收益"成立,高涨时失效。
- 度量在进化:PLS 情绪指数、管理者情绪、跨资产文本情绪都在补 BW 的短板。
6.5风险补偿、错误定价还是数据窥探
一个异象在样本内显著,背后无非三种原因:风险补偿(收益是承担某种系统性风险的报酬)、错误定价(价格错了且套利限制让它错着)、数据窥探(它压根就是运气)。区分三者不是学究趣味:风险补偿型可以长期持有赚溢价,错误定价型要抢在纠错之前、并警惕拥挤,数据窥探型必须直接扔掉。三类解释各有一套检验设计,汇总如下,随后逐一拆解。
| 假说 | 可检验含义 | 典型检验设计 |
|---|---|---|
| 风险补偿 | 高收益端承担更高风险;β 比特征本身更能预测收益;收益与宏观状态联动 | 常识核查;β vs 特征赛马;宏观事件窗口/衰退期表现 |
| 错误定价 | 组合构建后收益渐进兑现;业绩公告窗口收益集中;能预测未来基本面;在注意力低、套利成本高的股票中更强 | 公告窗口交叉项回归;SUE 预测性回归;按注意力/套利成本代理变量分组的双重排序或 FM 回归 |
| 数据窥探 | 只在原样本、原市场成立 | 前/后样本外数据复制;跨市场复制;多重检验校正后的 t 门槛 |
检验风险补偿
(1)常识核查。不算正式检验,却最锋利:风险解释要求"赚得多的一端更危险"。以 PEAD 为例——风险解释意味着刚发布盈利好消息的公司比发布坏消息的公司风险更高,这违背常识,基本可以排除。
(2)β 与特征赛马。若变量 X 之所以预测收益,是因为它代理了某种系统性风险暴露,那么用 X 构建因子模拟组合、再算每只股票对该组合的 β,这个 β 应比 X 本身更能预测收益。实证反复打脸:Daniel and Titman(1997)发现 BM 特征本身比"对价值因子的 β"预测力强得多;Hirshleifer et al.(2012)在应计利润上发现同样格局——特征赢、β 输,风险解释难以成立(回忆第 2 章:这正是"特征 vs 协方差"之争)。
(3)宏观状态联动。风险溢价应与宏观风险的兑现窗口挂钩:Savor and Wilson(2013, 2014)发现宏观数据发布日的市场超额收益约为平日的 10 倍、且这些日子里 CAPM 表现更好;照此逻辑,风险型异象应在宏观信息日更赚、在衰退期大亏。Lakonishok et al.(1994)用 Fama–MacBeth 收益序列按经济周期分段检验价值因子:衰退期表现与平时无异、有时更好——价值溢价的风险解释被削弱。
检验错误定价
(1)业绩公告窗口。若异象源自错价,财报是纠错的集中时刻——异象收益应集中在公告窗口内兑现;若源自风险,收益应均匀分布在所有交易日。Engelberg et al.(2018)的设计:用日收益对"异象变量 × 公告窗口哑变量"的交叉项做混合回归(加时间固定效应与常规控制变量),交叉项系数显著大于异象变量主效应即支持错价。他们检验了美股 97 个异象:公告窗口内的异象收益约是平日的 6 倍——错误定价的有力证据。
(3)注意力与套利成本的截面。错价应该在"最容易错、最难纠"的股票里最严重。有限注意力不可直接观测,代理变量包括:小市值、分析师覆盖少、媒体报道少、机构持股低;套利成本的代理变量包括:特质波动率高(对冲难,Pontiff 2006;Stambaugh et al. 2015)、负面新闻多、机构持股低。检验用两板斧:条件双重排序——先按代理变量分组、组内再按异象变量排序,比较各组异象收益;或 Fama–MacBeth 回归加"异象变量 × 代理变量哑变量"交叉项。若注意力更低、套利成本更高的组中异象显著更强(交叉项显著),支持错价解释。
检验数据窥探
数据窥探的唯一解药是没被挖过的数据:时间上的样本外、空间上的其他市场。Harvey et al.(2016)直言:条件允许时,全新样本外数据是排除假因子的最好办法(他们那篇论文的标题 …and the Cross-Section of Expected Returns 本身就是对"××× and the cross-section of expected returns"式挖因子论文的嘲讽)。
Linnainmaa and Roberts(2018)干了一件笨功夫的大事:多数会计类异象的样本始于 1963 年(Compustat 数据库创建于 1962 年),他们用 Moody's 工业与铁路手册手工重建了 1926—1963 年的财务数据,为 36 个会计异象造出前样本外(pre-sample)数据;论文样本终点到 2018 年之间则是后样本外(post-sample)。结果:36 个异象在样本内全部显著(无论看原始收益、CAPM-α 还是 FF3-α),而在前样本外三个口径下显著的只剩约 8、8、16 个,后样本外只剩约 1、10、9 个。风险与错价解释都要求异象跨期成立,大面积失效指向同一个词:数据窥探。他们还发现一个微妙证据:前、后样本外期间各异象收益率都呈正相关——后样本外的相关可以用"套利者同时交易已发表异象"解释(McLean and Pontiff 2016),但前样本外时异象根本没被发现、无人交易,正相关只能说明数据窥探连异象间的相关结构(高阶矩)都污染了。
"我用 FF5 调整过 α 了,所以不是数据窥探"——调整基准只能排除"暴露于已知因子",排除不了运气。反过来,"样本外还显著"也只是必要条件:后样本外数据会随时间"用旧",一旦研究者反复用它筛选策略,样本外就变成了新的样本内。防数据窥探没有一劳永逸,只有代价高昂的新数据、更高的 t 门槛(6.1 节)与先验审查的组合拳。
- 三种解释三种命运:风险补偿可长期收租、错误定价要抢时间防拥挤、数据窥探直接扔。
- 风险检验三招:常识核查、β vs 特征赛马(特征常赢 = 风险解释存疑)、宏观状态联动。
- 错价检验三招:公告窗口收益集中(Engelberg et al.:6 倍)、预测未来 SUE(绕开"未知风险"耍赖)、注意力低/套利成本高处更强。
- 数据窥探检验:前/后样本外与跨市场复制;Linnainmaa–Roberts 的 1926—1963 新数据让 36 个会计异象大面积现形。
6.6因子样本外失效风险
就算一个因子通过了 6.5 节的全部审查,把它拿去实盘前还要回答最后一个问题:样本外它还能剩下多少?共识是"一定会缩水",原因有三:曝光让错误定价被套利掉、资金拥挤、交易成本。本节把这三笔账算清楚。
曝光:论文发表之日,就是收益打折之时
McLean and Pontiff(2016)追踪了 97 个已发表的选股变量,把每个因子的历史切成三段:论文使用的样本内、样本终点到发表日之间的样本外(发表前)、以及发表后。结果:样本外收益比样本内平均缩水 26%——这部分是纯粹的统计偏差(样本内过拟合的水分);发表后缩水 58%——比 26% 多出来的约 32 个百分点,就是"发表"本身的代价:论文公之于众,套利资金蜂拥而至,错误定价被交易掉了(publication-informed trading)。注意这个结果的另一面:发表后收益并没有归零——如果因子纯属数据窥探,发表后应该只剩噪声;剩下四成收益说明这批因子里确有真货,只是"知道的人多了就不灵了"。
曝光效应还在"提速"。学术惯例沿袭 Fama–French(1993):财务因子每年 6 月才再平衡,数据严重滞后。Asness and Frazzini(2013)用最新月度价格改造 HML,表现即优于原版。Bowles et al.(2019)用记录"每个财务字段何时更新"的 Compustat Snapshot 数据库重算了一批财务因子:超额收益几乎全部集中在数据更新后的 120 天内(尤以前 30 天为主),之后消失——信息被越来越快地定价,慢吞吞的年度再平衡吃不到肉。A 股券商研究也有对应发现:利用业绩预告与快报提升时效,能显著改善财务因子。
因子拥挤
太多钱同时追一个因子:买入时互相抬价、把未来收益提前吃光;出事时互相踩踏、把回撤放大成危机。
因子表现有周期,"好使"的阶段吸引资金涌入,涌入本身压低未来预期收益;相似指标 + 相近调仓频率进一步同步了大家的持仓。拥挤度与未来收益负相关,于是"怎么量它"成为实务问题。MSCI(Bayraktar et al. 2015;Bonne et al. 2018)总结了五个代理指标(做空持仓量差异因 A 股制度不适用,此处列前四个):
- 估值价差:分别取因子多、空两头组合内估值指标(如 BM)的中位数并求差。资金涌入把多头端买贵,估值价差收窄 = 拥挤加剧。
- 配对相关性:先剔除收益中的系统性成分得到特质收益,再在多、空两头组内分别计算个股特质收益与组内其余股票均值的相关系数并平均。相关性越高,说明资金以"整篮子"方式进出、持仓越集中。
- 因子波动率:资金进出放大因子收益波动;MSCI 用预测的因子波动率与市场波动率之比,以剔除市场整体波动的影响(简化做法:直接用因子历史波动率)。
- 因子反转:股票有 3~5 年中长期反转(De Bondt and Thaler 1985),因子是股票组合、同样有反转——过去三年累计涨太多的因子,透支了未来。
拥挤最凶险的形态是流动性踩踏。2007 年 8 月"量化地震"(Quant Meltdown):美股多家一流量化对冲基金几天内竞相平掉高度相似的头寸,抛压压垮流动性、价格瀑布式下跌,许多长期优秀的基金短时间巨亏(Khandani and Lo 2011)。拥挤不只是收益问题,更是风险问题。
交易成本:纸面收益与净收益
学术论文的因子收益大多不扣交易费用,且默认可以无摩擦做空——两者都系统性高估了可得收益。Kok et al.(2017)指出 BM 类价值策略的回测优势主要来自做空一小撮微型市值成长股,实际根本执行不起。Novy-Marx and Velikov(2016)系统测算了交易成本对因子净收益的侵蚀,并给出三条止血方案:只用交易成本低的股票构建组合;降低再平衡频率;对买卖价差设更严格的约束。Chen and Velikov(2019)用有效价差(effective spread)核算 120 个因子:扣费后样本内月均收益从 0.6% 以上跌到 0.3%,样本外甚至为负;用尽优化交易算法后样本外也只剩约 0.13%。更扎心的是,这 120 个因子的月均收益分布近似均值为零的正态——和随机生成 120 个因子没太大差别。于是他们用经验贝叶斯方法把"发表偏差"修掉:
那因子投资还做不做?Asness(2015)的辩护值得一读:只要因子背后的风险是真实的,承担风险的补偿长期就会存在;只要投资者的"动物精神"(Keynes 1936)不消失,行为偏差制造的错误定价也会一直再生。还有一层现实:知道一个因子 ≠ 懂它 ≠ 敢用它 ≠ 能拿住它——2018—2020 年价值因子连续三年深度回撤,多少"知道"价值溢价的人清仓在黎明前。有充分先验依据的因子,其长期表现依然值得期待;本节的全部警告,是让你对幅度建立理性预期,而非否定方向。另见 Arnott et al.(2019)总结的因子投资三大常见错误,第一条就是把样本内表现非理性外推到样本外。
- McLean–Pontiff:样本外收益 −26%(过拟合水分)、发表后 −58%(再叠加曝光套利);没归零说明真货存在但会贬值。
- 信息定价在提速:财务因子的超额收益集中在数据更新后一百多天内,年度再平衡吃不到。
- 拥挤度四表盘:估值价差、配对相关性、因子波动率、因子反转;拥挤的尾部风险是 2007 式流动性踩踏。
- 交易成本是分水岭:扣费后大批因子样本外收益趋零甚至为负;经验贝叶斯收缩再挤掉运气,幸存者寥寥。
- 实务姿势:低成本股票池、低换手、盯拥挤度、对衰减有预算——把因子当"会折旧的资产"管理。
6.7因子投资难以取代基本面分析
因子投资里相当一部分因子由财务报表指标构建(BM、ROE、应计利润……),称为基本面因子;用它们定量选股的做法被称为基本面量化(quantamental)。随着 Smart Beta 产品把基本面因子批量产品化,"宽客占领华尔街"成了媒体标题。但一个尖锐的问题随之而来:拿几个财务比率排排序,真的能替代 Graham 与 Dodd 传下来的基本面分析吗?以研究盈余操纵闻名的 Richard Sloan(2019,Fundamental analysis redux)给出的答案是:不能。
前者对少数公司挖得极深,后者对几千只股票扫得极浅——一个赌"看得准",一个赌"次数多"。
基本面分析(Graham and Dodd 1934,《证券分析》)通过定量与定性研究估计证券的内在价值(intrinsic value),催生了证券分析师职业与 CFA 体系,20 世纪 70 年代前后主宰华尔街。此后有效市场假说统治了商学院课堂——既然价格已反映信息,读财报就找不到错价——教科书里基本面分析的篇幅从《证券分析》的 15 章缩到 Bodie 等《投资学》的 1 章。另一边,CRSP 数据库(20 世纪 60 年代)让大规模实证成为可能,学术界挖出价值、质量等因子,业界把它们做成风格指数(罗素 1987)与指数基金(先锋 1992),基本面分析被逐步"因子化"。两条路线的差异可以用一个公式说透。
因子化会漏掉什么:BIG5 的故事
Sloan(2019)的招牌案例。Big 5 Sporting Goods(BIG5)是美国西部的体育用品零售商,2017 年 3 月的因子体检堪称完美:高价值、高动量、高质量、小市值四大优点集于一身,被多因子选股体系批量选中,前十大机构股东里有贝莱德、先锋、千禧年。而它的原第一大股东——专注基本面分析的对冲基金 Stadium Capital——却在 2016 年 6 月至 2017 年 3 月间把 13% 的持股全部清空。谁对?基本面分析给出的答案:(1)2016 年的亮眼业绩来自两大竞争对手(The Sports Authority、Sports Chalet)破产带来的"回光返照",电商冲击下的行业下行没有改变,公司自己在财报里都承认了;(2)2016 年大选前的枪支抢购潮一次性抬高了销售额;(3)8.4% 的 ROE 是账面价值被压低造成的虚高——这家衰落行业公司的 PP&E 原始成本 3.2 亿美元,账面净值只剩 0.78 亿,把累计减值加回后 ROE 掉到 3.9%,债务股本比从 0.065 跳到 1.5,"高质量小盘价值股"变成"高杠杆夕阳行业股"。八个因子指标对这一切完全失明。后来 EPS 自 2016 年 Q2 起一路下滑,Stadium Capital 笑到了最后。
这个例子的教训不是"因子没用",而是因子是内在价值的粗糙代理:它读的是报表数字的表面值,读不出数字背后的行业格局、一次性事件与会计失真。对普通投资者,因子化的意义恰恰在于不需要 Stadium Capital 的能力也能分散地赚概率的钱——个别 BIG5 看走眼没关系,三千只股票摊薄后大数定律仍站在你这边。但要明白:广为人知的因子没有"实施成本",按有限套利的逻辑,它们能捕捉的错误定价也注定有限。
让会计学反哺因子
现阶段基本面分析提升因子投资的两条现实路径:用会计知识加工因子,以及识别财务造假排雷。前者举个最简单的例子——杜邦分解:
放眼未来,量化与基本面分析的合流是大势所趋:理想形态不是"几个比率排序",而是用量化手段低成本地复制优秀分析师对报表勾稽关系的解读。在那之前,基于因子的基本面量化只是过渡形态——它无可替代,但也远非基本面分析的完美替身。
- 基本面量化 = 低 IC × 高 BR,基本面分析 = 高 IC × 低 BR(Grinold:IR ≈ IC·√BR),两者是不同的能力圈而非替代关系。
- 因子读表面数字:行业拐点、一次性事件、会计失真都会让"完美因子股"变成陷阱(BIG5)。
- 广为人知的因子没有实施成本,按有限套利逻辑能吃到的错价有限——对因子化的收益要有克制的预期。
- 会计知识的两个用法:分解与改造因子(如 ROA = 利润率 × 周转率)、识别财务造假排雷。
6.8机器学习与因子投资
Gu, Kelly and Xiu(2020,下称 GKX)给"机器学习"下了一个务实的定义:一系列服务于统计预测的高维模型 + 防止过拟合的正则化方法 + 高效筛选大量候选模型的算法。在因子投资场景下,它的核心用途就两个:预测(公司特征 → 个股预期收益的截面关系,或市场整体的时序预测)与特征选择(几百个候选变量里哪些真正重要)。为什么必要?当候选特征成百上千时,排序法(一次只能摆弄两三个变量)和 OLS 回归(维数一高就被噪声淹没)都撑不住了。
线性模型:从 OLS 到惩罚回归
OLS 在高维、低信噪比数据上的病灶:特征多重共线时系数估计方差爆炸;几百个特征几百个参数,700 个月的样本根本喂不饱;最小化样本内残差平方和的目标天然鼓励过拟合,且对肥尾收益率的极端值极其敏感(稳健化的常见做法是把平方损失换成 Huber 损失:误差小于阈值 $\xi$ 时用平方项、超过时改用线性项,即 $h(x;\xi)=x^2$ 若 $|x|\le\xi$,否则 $2\xi|x|-\xi^2$,见式 6.30–6.31)。治高维病的主药是惩罚项:
线性家族的另两位成员。广义线性模型:给特征加高次项(如 Barra 的非线性规模因子 = 市值立方)或样条项,或把因变量离散化——比如只预测"下月能否跑赢指数"的 0/1 变量,用逻辑回归(logistic regression)建模,再或按收益分组做多分类。混合预测(forecast combination):对多个模型的预测取平均。单一模型不会永远对,平均能对冲各自的误差——Rapach et al.(2010)用它显著改善了市场溢价的样本外预测。这个"便宜又稳"的思想在集成学习里还会再现。
非线性模型:树与神经网络
线性模型最大的先天缺陷是难以刻画特征之间的交互——"小市值 + 高动量"的效应未必等于两者之和;手工加交互项会组合爆炸。非线性模型正是为此而生。
| 模型 | 核心思想 | 长处 | 短处 |
|---|---|---|---|
| 回归树 | 按特征依次切分样本(如"市值前 50%?→ 价值前 30%?"),叶节点内取收益均值作预测;L 层的树自动包含 L−1 阶交互 | 天然捕捉交互与非线性;对特征单调变换不敏感;可解释 | 单棵树极易过拟合,必须正则化 |
| 随机森林(bagging) | bootstrap 抽样本 + 随机抽特征,并行种很多棵去相关的树,预测取平均 | 方差大幅下降、几乎免调参、不易过拟合 | 对真正的强信号有平均化稀释 |
| GBDT / XGBoost(boosting) | 串行迭代:每棵新的小树专门拟合前面所有树的残差,弱学习器叠成强学习器(例:第一棵树按市值给某股预测 1.2%,实际 3.0%,第二棵树就用价值特征去解释剩下的 1.8%) | 精度常为表格数据之最;XGBoost 对稀疏数据、正则化有针对性改进 | 超参数多、串行慢、更依赖调参功力 |
| 神经网络 | 输入层 → 若干隐藏层 → 输出层;每个神经元做"线性组合 + 简单非线性激活",层层复合出任意光滑函数的近似 | 表达力最强;所有参数联合训练;GKX 实证中的最佳模型 | 参数量大、黑箱、需 SGD + 大量正则化(早停、批标准化、集成、学习率收缩)伺候 |
树的两种"集体化"对应统计学的两味药:bagging 治方差(并行平均,随机森林),boosting 治偏差(串行纠错,AdaBoost → GBDT → XGBoost)。另一支曾经的主流是支持向量机(SVM):用核函数把特征映射到高维空间做线性分割,等价于原空间的非线性边界,且计算量不随映射维度爆炸——深度学习流行前它是非线性建模的头牌。神经网络方向的后续发展(DFN、RNN、LSTM)在时序建模上各有所长,本书不展开。需要泼的冷水:神经网络与人脑的相似仅止于"简单单元组合出复杂功能"的形式,工作机制完全不同。
模型评估与 GKX 实证
GKX 的实证是这个领域的标杆:美股 1957—2016 共 60 年,94 个公司特征 × (8 个宏观变量 + 1) + 74 个行业哑变量 = 920 个特征,赛 13 个模型——全特征 OLS、三特征 OLS、PLS、PCR、弹性网络、广义线性、随机森林、GBDT,以及 1~5 层隐藏层的神经网络。主要结论:
- 排名:全特征 OLS 一败涂地(大盘股上尤甚);带惩罚的线性模型显著优于 OLS;树模型略优于线性但差距不显著;神经网络最优(三层隐藏层的 NN3 居冠),显著强于线性模型、对树模型的优势不够显著。更深不等于更好——NN4、NN5 反而回落,低信噪比数据喂不饱深网络。
- 幅度:最好的模型对个股月收益的 $R^2_{\mathrm{oos}}$ 也只有 0.4% 左右——机器学习确实提升了预测,但提升是"从几乎为零到零点几个百分点",与图像识别的 99% 准确率是两个世界。别小看它:0.4% 的截面预测力足以支撑可观的多空组合表现,但它离"印钞机"极远。
- 什么特征重要:动量/趋势类与流动性类量价特征贡献最大;线性模型几乎只用趋势类,非线性模型对各类特征的利用更均衡。A 股研究结论类似(非线性 > 惩罚线性 > OLS,DFN 与 XGBoost 表现突出),但最重要的特征换成了交易摩擦/流动性类——与 A 股散户占比高、流动性溢价强的市场结构一致。
PCA 与因子选择:把"找因子"交给数据
前面是有监督学习(给定特征预测收益);无监督学习的代表 PCA 则从另一个方向进攻:也许我们根本不知道真因子是什么,不如把它们当作隐变量从数据里提出来。
三项代表性工作,各解决一个痛点:
- Giglio and Xiu(2019):借道隐性因子空间估计任意可观测因子的溢价,对遗漏变量免疫。实证亮点:动量溢价在传统 FM 回归里随控制变量翻符号,用该方法则稳定合理;对流动性、中介杠杆等不可交易因子也能给出方向正确的溢价。Rapach and Zhou(2019)用稀疏 PCA 从 120 个宏观变量提取可解释的稀疏宏观因子,配合此法构建的四因子模型解释力可比 HXZ 与 FF5。
- IPCA(Kelly et al. 2019):经典 PCA 只能估静态模型;IPCA 把因子暴露参数化为公司特征的函数(特征作暴露的工具变量),让 β 随特征动态变化。实证:六个 IPCA 因子的样本外切点组合夏普比率高达约 4.05,同期"FF5+动量"六因子只有约 1.37;前几个 IPCA 因子可大致对应价值/杠杆、市场、动量、短期反转,可解释性尚可。核心启示:公司特征的动态变化才是理解因子暴露的关键。
- RP-PCA(Lettau and Pelger 2020):经典 PCA 只用二阶矩(协方差),会丢掉"因子必须被定价"的一阶矩信息;RP-PCA 在目标函数里加入均值项,提出的五个因子既解释共同波动又解释截面差异,且有较好的经济学对应。
看到"样本外夏普 4.05"先别上头:统计因子组合通常要在几千只股票上持有大量多空头寸、高频再平衡,卖空约束与交易成本会吃掉大部分纸面优势——可投资性远低于经典因子。PCA 系方法当前的定位是更好的计量工具(估溢价、检验模型),直接产品化仍有距离。
机器学习的问题:为什么金融不是图像识别
- 低信噪比:个股月收益几乎全是噪声,可达的 $R^2_{\mathrm{oos}}$ 以零点几个百分点计。图像识别里信号占绝对主导、可达准确率 99%+;金融里再强的模型也只能把"几乎不可预测"改善成"略微可预测"。
- 样本太小且只有一条路径:最完整的美股月度数据也只有 700 个月左右,而且历史只发生了一次——在同一条价格路径上反复调参,本质上就是 6.1 节的 p-hacking。前向回测(walk-forward)只能防"用到未来数据",防不了"对着这条路径过拟合"。
- 非平稳:图像里猫的定义不会因为你识别了它而改变;市场规律会——被发现的规律引来套利,数据生成过程本身漂移(6.6 节)。训练集越久远,越可能描述一个已不存在的市场。
- 交叉验证失效:金融序列自相关 + 异方差,随机切分会让训练集信息泄漏进测试集。对策:按时间切分并在训练/测试集之间留出隔离带(purging)。
- 回测夏普被系统性高估:给定收益分布,波动率越高的资产在单次回测里越容易"抽到"高夏普;加上多次尝试的选择偏差,需要用平减夏普比率(deflated Sharpe ratio)之类的工具矫正。
- 可解释性:黑箱模型的显著预测力必须回溯到"哪些特征在起作用、经济逻辑是什么"(可用特征重要性/敏感度分析),否则你无法判断它学到的是规律还是巧合——这又回到了先验与经济学故事。
总的判断:机器学习已经证明能有限但真实地改进收益预测与因子研究,它的最佳角色是与经典方法结合——正则化是先验的算法化、集成是稳健性的算法化、PCA 是模型无关的因子提取——而不是取代多因子框架。数据模型终究要靠业务理解落地。
- 机器学习在因子投资中的两大功能:预测(截面/时序)与特征选择。
- 线性药方:Huber 治肥尾,L1/L2 惩罚治高维(Lasso 顺带选特征),PCR/PLS 降维(PLS 以预测为目标,更对路)。
- 非线性药方:树 + bagging(随机森林,治方差)或 boosting(GBDT/XGBoost,治偏差);神经网络表达力最强、GKX 实证最优。
- 评估用 $R^2_{\mathrm{oos}}$(个股预测以零为基准);GKX:最好的模型也只有约 0.4%/月,动量与流动性特征最重要(A 股:交易摩擦类最重要)。
- PCA 家族把因子当隐变量:Giglio–Xiu 免疫遗漏变量,IPCA 让暴露随特征动态化,RP-PCA 补回定价信息。
- 四大顽疾——低信噪比、单路径小样本、非平稳、CV 泄漏——决定了金融 ML 永远不能照搬图像识别的玩法。
本章练习
练习刻意有难度。代码题请准备 Python 环境(numpy 即可,不依赖 scipy/sklearn),先自己写,再看提示,最后对答案。
模拟 505 个候选因子的月收益序列(240 个月):前 5 个是真因子(月均收益 0.5%、月波动 2%,真实 t 约 3.9),其余 500 个是纯噪声。请你:
- 对每个因子计算 t 值与双尾 p 值(用正态近似即可),统计"不做校正、逐个用 5% 门槛"能拒绝多少个、其中多少是假阳性;
- 实现 Bonferroni、Holm、BH(Benjamini–Hochberg,控制 FDR)与 BY(Benjamini–Yekutieli)四种校正,比较各自的真因子检出率与假阳性个数;
- 解释结果:为什么 BY 比 BH 严?哪种方法最适合"从 500 个候选里筛可交易因子"这个场景?
import numpy as np
from math import erf, sqrt
rng = np.random.default_rng(0)
M, T, n_true = 505, 240, 5
mu = np.zeros(M)
mu[:n_true] = 0.005 # 真因子月均收益 0.5%
R = mu + 0.02 * rng.standard_normal((T, M)) # 月度波动 2%
提示
t 值 = 均值 / (标准差/√T)。正态双尾 p 值可用 2*(1-Phi(|t|)),其中 Phi 用 math.erf 拼出来。Holm:p 从小到大排序,第 k 小的用门槛 alpha/(M−k+1),第一次不过即停。BH:找最大的 k 使 p_(k) ≤ k·alpha/M,拒绝前 k 个。BY:把 BH 门槛再除以 c(M)=Σ1/j。
参考答案
import numpy as np
from math import erf, sqrt
rng = np.random.default_rng(0)
M, T, n_true = 505, 240, 5
mu = np.zeros(M)
mu[:n_true] = 0.005
R = mu + 0.02 * rng.standard_normal((T, M))
t = R.mean(0) / (R.std(0, ddof=1) / np.sqrt(T))
p = np.array([2 * (1 - 0.5 * (1 + erf(abs(x) / sqrt(2)))) for x in t])
alpha = 0.05
def report(rej, name):
tp = rej[:n_true].sum(); fp = rej[n_true:].sum()
print(f"{name:12s} 拒绝 {rej.sum():3d} | 检出真因子 {tp}/{n_true} | 假阳性 {fp:3d}")
report(p < alpha, "不校正")
report(p < alpha / M, "Bonferroni")
order = np.argsort(p) # Holm 逐步法
rej = np.zeros(M, bool)
for k, idx in enumerate(order):
if p[idx] <= alpha / (M - k):
rej[idx] = True
else:
break
report(rej, "Holm")
thresh = alpha * np.arange(1, M + 1) / M # BH
below = p[order] <= thresh
rej = np.zeros(M, bool)
if below.any():
rej[order[:below.nonzero()[0].max() + 1]] = True
report(rej, "BH (FDR)")
cM = (1.0 / np.arange(1, M + 1)).sum() # BY
below = p[order] <= thresh / cM
rej = np.zeros(M, bool)
if below.any():
rej[order[:below.nonzero()[0].max() + 1]] = True
report(rej, "BY (FDR)")
典型输出(seed=0):不校正拒绝 29 个(真 5 + 假 24);Bonferroni 与 Holm 各拒绝 4 个(真 4、假 0,漏掉 1 个真因子);BH 拒绝 5 个(真 4、假 1);BY 只拒绝 1 个(真 1、假 0)。解读:真因子 t≈3.9 恰好卡在 Bonferroni 门槛(0.05/505 对应 t≈3.9)附近,所以 FWER 类方法会漏检——这正是"控制 FWER 太严苛、第二类错误飙升"的直观体验。BY 为了在任意相关结构下都成立,门槛再除以 c(M)≈6.8,严到几乎什么都不认。对筛可交易因子而言,BH 类方法通常是更好的折中:允许"发现"里混入可控比例的假货(反正实盘还有下一道检验),换取尽量高的真因子检出率——这也是 Harvey et al.(2016)选择控制 FDR 的原因。
按下面的设定模拟 600 个月的数据:情绪状态是月度留存概率 0.95 的两状态马尔可夫链;某异象多头端月均超额收益恒为 0.3%;空头端在高情绪期为 −1.2%、低情绪期为 −0.1%(错误定价集中在高情绪期的空头端);两端月波动均为 2.5%。请你:
- 分别计算多头、空头、多空组合在高/低情绪期的平均收益,并用 Welch 两样本 t 检验判断"高低情绪期收益差"是否显著;
- 做预测性回归 Rt = a + b·St−1 + e(滞后一期情绪),报告三个组合的 b 与 t(b);
- 回答:为什么第 2 问必须用 St−1 而不是 St?如果情绪链的留存概率降为 0.5,第 2 问的结果会怎样、为什么?
提示
马尔可夫链:逐期抛硬币决定是否维持前一状态。Welch t = (均值差)/√(s₁²/n₁+s₂²/n₂)。预测性回归手写 OLS:X=[1, S[:-1]],y=R[1:],系数协方差 = s²(XᵀX)⁻¹。第 3 问想想"可预测性来自状态的持续性"。
参考答案
import numpy as np
rng = np.random.default_rng(7)
T = 600
S = np.zeros(T); S[0] = 1.0 # 两状态马尔可夫链,留存概率 0.95
for tt in range(1, T):
S[tt] = S[tt-1] if rng.uniform() < 0.95 else 1 - S[tt-1]
alpha_L = 0.003
alpha_S = np.where(S == 1, -0.012, -0.001)
sig = 0.025
long_leg = alpha_L + sig * rng.standard_normal(T)
short_leg = alpha_S + sig * rng.standard_normal(T)
ls = long_leg - short_leg
def mean_by_state(x, name): # (1) 分组均值 + Welch t
hi, lo = x[S == 1], x[S == 0]
se = np.sqrt(hi.var(ddof=1)/len(hi) + lo.var(ddof=1)/len(lo))
print(f"{name} 高情绪 {hi.mean():+.4f} | 低情绪 {lo.mean():+.4f}"
f" | 差 t = {(hi.mean()-lo.mean())/se:+.2f}")
def predreg(y, name): # (2) R_t = a + b S_(t-1) + e
X = np.column_stack([np.ones(T-1), S[:-1]]); yy = y[1:]
coef, *_ = np.linalg.lstsq(X, yy, rcond=None)
resid = yy - X @ coef
cov = resid @ resid / (T-3) * np.linalg.inv(X.T @ X)
print(f"{name} b = {coef[1]:+.4f}, t(b) = {coef[1]/np.sqrt(cov[1,1]):+.2f}")
for f, n in [(long_leg,"多头"), (short_leg,"空头"), (ls,"多空")]:
mean_by_state(f, n)
for f, n in [(long_leg,"多头"), (short_leg,"空头"), (ls,"多空")]:
predreg(f, n)
典型输出(seed=7):多头端高低情绪差不显著(t≈−0.9);空头端高情绪期收益显著更低(差 t≈−4.8);多空组合在高情绪期后显著更赚(预测回归 b>0,t≈2.1;空头端 b≈−0.0086,t≈−4.0)——完整复刻了 Stambaugh et al.(2012)"不对称在空头端"的格局。第 3 问:用 St 是同期相关,不是预测,且实际研究中情绪指标本身由同期市场数据构成,会产生机械相关;预测性必须用事前可得的 St−1。若留存概率降为 0.5,状态失去持续性,St−1 对 St 没有信息,而收益由 St 决定——预测性回归的 b 将退化为不显著:情绪的可预测性来自它的高持续性(BW 指数月度自相关高达 0.988)。
模拟 600 个月、50 个候选特征的截面预测问题:只有前 3 个特征是真信号(系数 0.30/0.20/0.15,单位:月收益%),噪声月波动 3%——先算一下理论可达 R²,感受什么叫金融级信噪比。请你:
- 不用任何库,手写坐标下降求解 Lasso:目标函数为 (1/2n)·RSS + λ·L1;
- 计算 λ 从大到小的正则化路径(warm start),记录变量进入模型的顺序——真信号是最先进来的吗?
- 用前 400 个月训练、后 200 个月验证选出 λ*,报告选中的变量与假发现个数;与全变量 OLS 的"系数绝对值排名"对比。
提示
坐标下降单步:把第 j 列的贡献从残差中加回,算 rho = Xⱼᵀr/n,然后软阈值 β_j = sign(rho)·max(|rho|−λ, 0)(X 已标准化时分母为 1)。λ_max = max|Xᵀy|/n 时全部系数为零,从它开始按对数网格下降。理论可达 R² = 信号方差/(信号方差+噪声方差)。
参考答案
import numpy as np
rng = np.random.default_rng(3)
n, p, n_true = 600, 50, 3
X = rng.standard_normal((n, p))
X = (X - X.mean(0)) / X.std(0)
beta_true = np.zeros(p); beta_true[:n_true] = [0.30, 0.20, 0.15]
y = X @ beta_true + 3.0 * rng.standard_normal(n)
y = y - y.mean()
sig2 = beta_true @ beta_true
print(f"理论可达 R2 = {sig2/(sig2+9.0):.3f}") # 约 0.017
def lasso_cd(X, y, lam, beta0, n_iter=300):
beta = beta0.copy(); r = y - X @ beta; n = len(y)
for _ in range(n_iter):
for j in range(X.shape[1]):
r = r + X[:, j] * beta[j]
rho = X[:, j] @ r / n
beta[j] = np.sign(rho) * max(abs(rho) - lam, 0.0)
r = r - X[:, j] * beta[j]
return beta
lam_max = np.abs(X.T @ y).max() / n
lambdas = lam_max * np.logspace(0, -2.5, 30)
path = np.zeros((len(lambdas), p)); b = np.zeros(p)
entered = []
for i, lam in enumerate(lambdas):
b = lasso_cd(X, y, lam, b); path[i] = b
for j in np.where(b != 0)[0]:
if j not in entered: entered.append(j)
print("进入顺序(前10):", entered[:10], " 真信号=0,1,2")
for i in [9, 19, 29]:
nz = np.where(path[i] != 0)[0]
print(f"lam={lambdas[i]:.4f}: 非零 {len(nz):2d}, 假发现 {(nz >= n_true).sum():2d}")
Xtr, ytr, Xva, yva = X[:400], y[:400], X[400:], y[400:]
best = (None, np.inf, None); b = np.zeros(p)
for lam in lambdas: # 验证集选 lam
b = lasso_cd(Xtr, ytr, lam, b)
mse = ((yva - Xva @ b) ** 2).mean()
if mse < best[1]: best = (lam, mse, b.copy())
sel = np.where(best[2] != 0)[0]
print(f"验证集选 lam={best[0]:.4f}, 选中 {len(sel)} 个: {sel}")
b_ols = np.linalg.lstsq(X, y, rcond=None)[0]
print("OLS |系数| 前5:", np.argsort(-np.abs(b_ols))[:5])
典型输出(seed=3):理论可达 R² 只有 1.7%。进入顺序为 [8, 48, 0, 2, 7, …]——第一个进入模型的竟是噪声变量 8,真信号 0、2 排在其后,最弱的真信号 1 要到第 10 位才进来;λ 放松到偏小后,47 个噪声变量几乎全数涌入(假发现 44 个)。验证集选出的 λ* 很保守:只留下变量 0——没有假发现,但 3 个真信号漏掉 2 个。OLS 的|系数|前五名(15、48、0、8、7)里同样混着一堆噪声。三条教训:(1)低信噪比下"最先显著的未必是真的",正则化路径不能当选因子的排名表;(2)Lasso 用偏差换稳健,代价是漏检弱信号——金融里大多数真信号恰恰都是弱信号;(3)想同时压住假发现和漏检,唯一的办法是更多独立数据或更强先验,算法替代不了 6.1 节的结论。
设候选因子中真因子的基础比率为 1%,检验功效(真因子能做出 t > 2 的概率)为 50%,检验大小为 5%(假因子纯靠运气 t > 2 的概率)。
- 写出并计算"t > 2 的发现中假阳性的占比";
- 求:要让发现中的真货占比过半,基础比率至少要多高?
- 把门槛提高到 t > 3(大小约 0.27%,设功效降为 25%),重算第 1 问。这说明提高 t 门槛的作用机制是什么?它替代得了先验吗?
参考答案
(1) 设 $\pi=0.01$,$\beta_p=0.5$,$\alpha_s=0.05$。由贝叶斯公式,发现中假阳性占比 $$ \operatorname{prob}(\text{假}\mid t>2) = \frac{(1-\pi)\alpha_s}{(1-\pi)\alpha_s + \pi\beta_p} = \frac{0.99\times 0.05}{0.99\times 0.05 + 0.01\times 0.5} = \frac{0.0495}{0.0545} \approx 90.8\%. $$ 挖出的"显著"因子里九成是假货——这就是因子动物园的算术本质。
(2) 令真货占比 $\dfrac{0.5\pi}{0.5\pi + 0.05(1-\pi)} > 0.5$,得 $0.5\pi > 0.05(1-\pi)$,即 $\pi > 1/11 \approx 9.1\%$。也就是说,只有当你的候选池经过先验筛选、每十一个里至少有一个真货时,"5% 显著"才勉强值得相信。
(3) $\operatorname{prob}(\text{假}\mid t>3) = \dfrac{0.99\times 0.0027}{0.99\times 0.0027 + 0.01\times 0.25} = \dfrac{0.00267}{0.00517} \approx 51.7\%$。门槛从 2 提到 3,假货占比从 91% 降到 52%:机制是把"运气项" $\alpha_s$ 压缩了近 20 倍,而功效只损失一半。但注意即便如此,假货仍占一半——若 $\pi$ 再低一个量级,t>3 也救不了。提高门槛与改善先验是乘法关系,不是替代关系:Harvey et al.(2016)的 t>3 是在"承认先验无法精确估计"前提下的工程妥协,而先验审查(有没有经济学机制)才是从根上抬高 $\pi$ 的手段。
(1)用前景理论价值函数的三个性质(参考点依赖、损失厌恶、敏感度递减)完整推导处置效应:说明浮盈与浮亏的投资者各自处在价值函数的哪一段、面对"卖出锁定 vs 继续持有再赌一期"的选择时为什么会做出相反决定。(2)再用处置效应推导动量:说明为什么"卖盈守亏"会让价格对利好与利空都反应不足,从而让过去的赢家/输家在未来继续跑赢/跑输。(3)指出这条逻辑链中最薄弱的一环。
参考答案
(1) 前景理论 → 处置效应。投资者以买入成本为参考点(参考点依赖),把"浮盈/浮亏"而非最终财富当作决策对象。浮盈者位于价值函数右半段:该段是凹的(敏感度递减),继续持有相当于接受一个以当前浮盈为中心的赌局,凹函数下确定的现值优于同均值的赌局——风险厌恶,倾向卖出锁定。浮亏者位于左半段:该段是凸的,且实现亏损要立刻承受损失厌恶放大的痛苦($\kappa\approx 2.25$ 倍),继续持有则保留"回本后痛苦归零"的可能,凸函数下赌局优于确定亏损——风险寻求,倾向死拿。合起来就是"卖盈守亏"的处置效应。
(2) 处置效应 → 动量。考虑一只股票爆出利好、基本价值上升:上涨过程中大量持有者转为浮盈,处置效应触发集中卖出,抛压使价格停在基本价值下方——利好被反应不足,后续价格向价值缓慢爬升,形成正漂移:过去的赢家继续涨。对称地,利空后价格下跌使持有者普遍浮亏,处置效应让他们拒绝卖出,缺少抛压使价格停在基本价值上方——利空同样反应不足,后续继续阴跌:过去的输家继续跌。两端合成动量(这正是 Grinblatt–Han 的 CGO 机制:未实现盈利越极端,价格离价值的缺口越大、未来漂移越强)。
(3) 最薄弱一环。加总环节:个体层面的处置效应要传导成价格层面的反应不足,需要处置效应投资者的持仓规模足够大、且没有被理性套利者的反向交易抵消——即仍然依赖套利限制成立。此外参考点的设定(买入成本?近期高点?)在个体间高度异质,模型对参考点选择很敏感;实证上动量在机构主导、换手极低的市场依然存在,说明处置效应最多是动量的成因之一而非全部。
有人主张:"深度学习既然能把图像识别做到 99% 准确率,砸足够的算力和数据,同样能把股票预测做到接近确定。"请从可达 R² 与有效样本量两个方面系统反驳,并说明这两个约束对"金融 ML 应该怎么做"的三条实践含义。
参考答案
可达 R² 的天花板完全不同。图像识别中标签由像素几乎完全决定:贝叶斯误差接近零,可达准确率的上限本来就在 99% 以上,算法的任务只是逼近它。资产收益中,价格已经吸收了可预测成分的绝大部分——若月收益能被稳定预测出百分之几的 R²,对应的套利资本会立刻进场把它抹掉(可预测性会自我毁灭,这是市场与自然界的本质区别:猫不会因为被识别而改变长相,错价会因为被识别而消失)。实证给出的天花板:GKX 里最好的神经网络对个股月收益的 $R^2_{\mathrm{oos}}$ 只有约 0.4%。就算把模型做到"完美",也只是把 0.4% 提到 1%——上限是市场非有效性的存量,不是算力的函数。
有效样本量差着六七个数量级,且不满足 iid。ImageNet 有上千万张相互独立的标注图片,还能靠数据增广近乎无限扩充;美股月度截面只有约 700 个月,且(i)历史只有一条实现路径,重采样造不出真正的新信息;(ii)截面上几千只股票的收益高度相关,独立信息远少于表面样本数;(iii)数据生成过程非平稳——市场结构、参与者、规则都在变,早年样本对今天可能是负迁移。低信噪比要求更大的样本来分辨信号,金融偏偏只有更小的有效样本:两个约束相乘,决定了"堆数据堆算力"路线在金融失效。
三条实践含义。(1)模型要小、正则要重、先验要硬:参数量必须与几百个有效观测匹配,惩罚项/经济学约束是把先验注入算法的方式(GKX 中浅网络胜过深网络正是此理);(2)评估要按金融规矩来:按时间切分并隔离训练/测试、前向滚动、平减夏普比率、把交易成本算进去——任何随机 K 折交叉验证的金融回测都值得怀疑;(3)目标要现实:追求"微弱但稳定、且能在成本后活下来"的预测优势并靠广度(Grinold 定律)放大,而不是追求单点高精度;模型产出必须回溯出经济学解释,否则按 6.1 节的先验原则,默认当运气处理。