潜在结果框架:因果推断的基石
说实话,刚接触因果推断那会儿,我也被各种术语搞得头晕。什么潜在结果、处理效应、SUTVA……听着就像天书。但后来我发现,这玩意儿说白了就一个问题:如果当初做了不同的选择,结果会怎样?
在量化投资里,这个问题太常见了。比如:
- 如果某只股票我买了,现在收益多少?
- 如果某个因子我用了,回测结果会更好吗?
- 如果市场那天没出黑天鹅,我的策略是不是就赚钱了?
这些问题,潜在结果框架都能帮你回答。它是因果推断的数学基础,也是我们做事件驱动投资的底层逻辑。
核心思想:每个个体(股票、交易、策略)都有两个潜在结果——一个是在处理状态下的结果,一个是在控制状态下的结果。但我们只能观察到其中一个。
潜在结果定义
先给个正式定义。假设我们有一个二元处理变量 \( T \),\( T=1 \) 表示接受了处理(比如买了某只股票),\( T=0 \) 表示没有接受处理(没买)。
对于每个个体 \( i \),我们定义两个潜在结果:
- \( Y_i(1) \):个体 \( i \) 在接受处理时的结果
- \( Y_i(0) \):个体 \( i \) 在没有接受处理时的结果
注意,这两个结果是潜在的,不是实际观察到的。实际观察到的结果 \( Y_i \) 是:
Y_i = T_i * Y_i(1) + (1 - T_i) * Y_i(0)
说白了,你只能看到你实际选择的那条路的结果。另一条路的结果,永远是个谜。
我在做因子回测时遇到过这种情况。比如我想知道「高动量因子」对收益的影响。对于某只股票,我观察到了它在高动量状态下的收益,但我永远不知道如果它当时是低动量,收益会是多少。这就是潜在结果框架要解决的核心问题——缺失数据问题。
个体处理效应
个体处理效应(ITE)是最直观的概念。对于个体 \( i \):
ITE_i = Y_i(1) - Y_i(0)
这就是「如果处理了,比没处理多赚了多少」。
举个例子。假设某只股票:
- 如果我在它出财报前买入(处理),收益是 +5%
- 如果我没买(控制),收益是 -1%(因为市场整体下跌)
那么个体处理效应就是 5% - (-1%) = 6%。也就是说,买入这个操作给我带来了 6% 的额外收益。
个人经验:我在做事件驱动策略时,经常用 ITE 来评估每个事件对个股的影响。但要注意,ITE 是理论值,现实中我们永远无法同时观察到两个结果。所以,我们只能通过统计方法来估计它。
平均处理效应
既然个体处理效应无法直接观测,我们就退而求其次,看平均效果。平均处理效应(ATE)就是所有个体处理效应的平均值:
ATE = E[Y(1) - Y(0)]
在投资中,ATE 回答的是:「如果对所有股票都做这个操作,平均能赚多少?」
比如,我想知道「财报超预期」这个事件对股价的平均影响。我收集了历史上所有财报超预期的股票,计算它们发布后的平均收益,再减去如果没有超预期的平均收益(通过对照组估计),就得到了 ATE。
我记得有一次做因子有效性检验,我计算了某个因子的 ATE,发现它居然是负的。当时我差点把这个因子扔了。后来仔细一看,原来是样本选择偏差——我用的数据里,高因子值的股票恰好都是小盘股,而小盘股那段时间表现不好。这就是 ATE 的局限性:它假设处理是随机分配的,但现实中往往不是。
条件平均处理效应
ATE 是个全局平均,但现实中,不同群体的处理效应可能完全不同。这时候就需要条件平均处理效应(CATE):
CATE(x) = E[Y(1) - Y(0) | X = x]
其中 \( X \) 是协变量,比如市值、行业、波动率等。
说白了,CATE 就是「在某个特定条件下,处理效应的平均值」。
举个例子。同样是「财报超预期」这个事件:
- 对于大盘股,CATE 可能是 +2%
- 对于小盘股,CATE 可能是 +5%
- 对于科技股,CATE 可能是 +3%
- 对于消费股,CATE 可能是 +1%
你看,不同条件下的效应差别很大。如果只看 ATE,你可能会错过这些细节。
避坑指南:我曾经在构建多因子模型时,直接用 ATE 来评估每个因子的重要性。结果模型在回测中表现很好,实盘却一塌糊涂。后来发现,是因为 ATE 掩盖了不同市场环境下的异质性。改用 CATE 后,模型才真正稳定下来。
SUTVA假设
SUTVA(Stable Unit Treatment Value Assumption)是潜在结果框架的核心假设,也是最容易出问题的地方。它包含两个部分:
- 个体之间无干扰:一个个体的处理状态不影响另一个个体的结果
- 处理版本唯一:每个处理状态只有一种版本
在投资中,这两个假设经常被违反。
个体之间无干扰:比如,我买入某只股票,可能会影响其他投资者的行为,从而影响其他股票的价格。这就是「市场冲击效应」。在量化交易中,大单交易尤其容易违反这个假设。
处理版本唯一:比如,「买入」这个操作,在不同时间点、不同市场环境下,效果可能完全不同。你不能简单地把所有「买入」都视为同一种处理。
注意:SUTVA 假设在投资中几乎总是被违反的。市场是联动的,个体之间必然存在干扰。所以,我们在做因果推断时,要特别小心这个假设。我个人的习惯是:先用敏感性分析检验 SUTVA 的稳健性,如果发现严重违反,就改用更复杂的模型(比如空间计量模型)。
知识体系总览
下面这张图总结了本章的核心逻辑:
这张图展示了潜在结果框架的四个核心概念和它们之间的关系。从最底层的潜在结果定义出发,逐步上升到个体处理效应、平均处理效应,再到条件平均处理效应。而 SUTVA 假设则是整个框架的基石,没有它,所有推断都不成立。
小结
潜在结果框架是因果推断的起点,也是我们做事件驱动投资的理论基础。记住几个关键点:
- 每个个体都有两个潜在结果,但我们只能观察一个
- 个体处理效应是理想值,现实中无法直接观测
- 平均处理效应给出全局平均,但可能掩盖异质性
- 条件平均处理效应更精细,能捕捉不同条件下的差异
- SUTVA 假设很重要,但在投资中经常被违反,需要小心处理
下一章,我们会深入讨论如何在实际中估计这些效应,以及如何处理 SUTVA 假设被违反的情况。嗯,到时候我会分享一些我在实盘中踩过的坑,希望对你有帮助。