因子投资-20-因子动物园行为金融与机器学习

QUANT RESEARCH NOTE LESSON 20

已发表因子数远超经济机制数:部分是风险补偿,部分是行为与摩擦,部分是同一现象重命名,还有部分只是数据挖掘。机器学习能组合大量非线性特征,却不会自动消除未来函数、选择偏差或解释机制。

类型核心课程
模块研究工程
阅读约 5 分钟
材料10 节 · 1 段代码

本节解决什么问题

已发表因子数远超经济机制数:部分是风险补偿,部分是行为与摩擦,部分是同一现象重命名,还有部分只是数据挖掘。机器学习能组合大量非线性特征,却不会自动消除未来函数、选择偏差或解释机制。

前置知识与学习目标

需要第 03、17、18 讲。学完后能解释 p-hacking、因子动物园、发表衰减、拥挤与套利限制;能区分风险/错误定价;能设计严格时间切分的机器学习研究,并拒绝把预测提升直接写成因果机制。

直觉与手算

若研究者检验 1000 个无效信号,每个用 5% 门槛,独立近似下预期有 50 个“显著”。即使论文只展示其中 3 个,读者也看不到隐藏试验。更高 t 门槛能减少假发现,却不能修复未来数据、不可交易价格或事后选样本。

因子公开后收益下降可能来自两部分:原发现过拟合,或资金学习并套利掉机会。若样本外在发表前已衰减,更像统计偏差;若发表后进一步衰减,拥挤与学习是竞争解释,但日期定义仍需严格。

定义与公式

从动物园到证据等级

  • p-hacking: 根据结果改变变量、样本、参数或报告选择。
  • 多重假设: 同一研究族的错误率随试验数上升。
  • publication decay: 论文样本结束、公开与实施之后的收益衰减。
  • 样本外失效: 未参与发现的数据不再支持效应。
  • 拥挤: 多资金持有相似头寸,入场抬价、退出冲击相关。
  • 套利限制: 卖空、融资、委托代理、模型风险和噪声交易阻止价格立即修复。

因子至少经过:经济假设、点时复现、多重检验、独立样本、发表后、成本容量和机制竞争七关。单个样本内 t 值只过了其中很小一部分。

风险补偿与错误定价

风险解释预测因子在边际效用高、融资紧或宏观坏状态中亏损;错误定价解释预测效应在情绪高、关注低和套利限制强处更大,并在公开与套利后收敛。两者可以共存,状态预测比给平均收益贴标签更有辨识力。

投资者情绪与因子择时

因子择时试图根据估值、宏观、情绪、近期收益或拥挤调整暴露。它新增一层模型与换手,必须使用当时可得预测量,并与“始终持有”“等权多因子”做真正样本外比较。择时失败常来自信号弱、估计误差和拐点交易。

机器学习

机器学习把特征 x 映射为预测:

训练集拟合 θ,验证集选择模型与超参数,最终测试集只能使用一次。面板必须按时间切分,且标准化、缺失填补、特征选择和调参都只在训练窗口拟合。随机打乱股票月份会让未来制度与横截面信息进入训练。

预测 MSE 或 Rank IC 改善不等于经济机制成立;还需特征贡献稳定性、替代机制、成本约束和压力情景。

Python 最小实验

下面造一个结构翻转序列:前 80 期 y≈x,最后 40 期 y≈-x。训练期拟合很好,时间样本外失败。

PYTHON 可复现实验
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import numpy as np

rng = np.random.default_rng(42)
x = rng.normal(size=120)
y = np.empty(120)
y[:80] = x[:80] + rng.normal(0, 0.2, 80)
y[80:] = -x[80:] + rng.normal(0, 0.2, 40)

X_train = np.column_stack([np.ones(80), x[:80]])
coef = np.linalg.lstsq(X_train, y[:80], rcond=None)[0]

def mse(start, end):
pred = coef[0] + coef[1] * x[start:end]
return np.mean((y[start:end] - pred) ** 2)

train_mse = mse(0, 80)
validation_mse = mse(80, 100)
test_mse = mse(100, 120)

assert train_mse < validation_mse
assert train_mse < test_mse
print(coef, train_mse, validation_mse, test_mse)

A 股实现注意事项

注册制、退市、板块扩容、涨跌停、T+1、融券与投资者结构使分布随时间变化;随机交叉验证尤其危险。特征库要保存公告版本与可得时间,微盘和无法成交股票要做容量审计。情绪代理、搜索量和文本数据也有发布延迟、回填和供应商版本。

常见错误与边界

  • 数百特征只报告最优模型;测试集反复调参。
  • 随机打乱时间做交叉验证。
  • 全样本标准化、缺失填补和行业编码。
  • 把特征重要性写成因果。
  • 高 IC 不计算换手、冲击与容量。
  • 因子择时用最终修订宏观数据。
  • 深模型胜线性基准一点就忽略复杂度和稳定性。

原书与论文

原书第 7 章(PDF 文件页 291–377)对应行为、前沿与展望。核心证据:

  • Harvey、Liu、Zhu(2016),多重检验:DOI。
  • McLean、Pontiff(2016),样本外与发表后衰减:DOI。
  • Hou、Xue、Zhang(2020),异象复现:DOI。
  • Gu、Kelly、Xiu(2020),机器学习资产定价:DOI。

练习

  1. 为 200 个相关检验设计 Bonferroni、FDR 与独立测试三套方案。
  2. 列出发现日、样本结束日、发表日和交易实施日。
  3. 用滚动训练/验证/测试替代随机切分。
  4. 比较线性、树模型的 IC、净收益、稳定性和解释成本。
  5. 为情绪或拥挤择时写出会推翻结论的状态预测。

小结与下一步

因子动物园的核心不是“因子太多”,而是隐藏试验和证据等级不清。行为、风险和摩擦需要竞争预测;机器学习扩大函数空间,也扩大过拟合空间。最终研究应以点时数据、严格时间切分、成本容量、样本外和可证伪机制共同约束。


因子投资-20-因子动物园行为金融与机器学习
https://www.polarishaw.top/2026/07/17/因子投资-20-因子动物园行为金融与机器学习/
作者
Polaris
发布于
2026年7月17日
许可协议