隔夜与日内收益拆分:同一只股票的两副面孔
把一天的收益按『收盘到次日开盘』和『开盘到收盘』切成两段,会发现同一只股票戴着两副面孔:隔夜段延续、日内段反转,两股力量方向完全相反却都能赚钱。这不是站内那篇讲权益溢价集中在隔夜的时间序列拆解,而是 Lou-Polk-Skouras (2019, JFE) 的『拔河』横截面视角——散户情绪在隔夜发酵、机构资金在日内逆向承接。本文在植入动量 β=0.055、反转 β=0.042 的 200 股×5 年合成面板上完整复现 Fama-MacBeth 检验:隔夜动量斜率 0.045(t=9.9)、日内反转斜率 -0.042(t=-10.7)、五分组隔夜段单调递增而日内段单调递减;隔夜动量多空年化 12.9%(Sharpe 1.47)、日内反转多空年化 10.4%(Sharpe 1.33)、合并策略 Sharpe 1.56。用 β×成本热力图画出这类日换手策略的生死线,附完整 Python 与四类真实陷阱(中高阶)。
大多数人算收益只看一个数:今天涨了多少。但如果你把这一天从中间切开——收盘到次日开盘(隔夜段)和开盘到收盘(日内段)——同一只股票会露出两副截然不同的面孔。更反直觉的是:这两段收益不仅统计性质不同,它们对同一个信号的反应方向完全相反。
结论先放这:用”上期隔夜收益”当信号,去预测本期,会得到一对镜像结果——隔夜段呈现动量(上期隔夜涨的,本期隔夜继续涨),日内段呈现反转(上期隔夜涨的,本期日内反而跌)。这就是 Lou、Polk、Skouras 在 2019 年 JFE 论文里记录的”拔河”(A Tug of War):隔夜的买盘和日内的买盘来自两拨完全不同的人,他们对同一批股票持相反态度。 在植入动量传导 β=0.055、反转传导 β=0.042 的 200 只股票 × 5 年合成面板上,Fama-MacBeth 逐日横截面回归给出:隔夜动量斜率 0.045(t=9.9)、日内反转斜率 −0.042(t=−10.7);两条多空腿分别做出 Sharpe 1.47 和 1.33,合并后 1.56。但这是一个每天换手的策略,成本在它的 Sharpe 里是生死攸关的一等公民。
注:站内此前那篇《隔夜效应与盘中效应》讲的是时间序列视角——整个市场的权益溢价几乎全来自隔夜段。本文换一个正交的横截面视角:不是问”哪一段贡献了市场的钱”,而是问”用一只股票的隔夜表现,能不能预测它自己下一期的隔夜和日内”。两者机制不同、结论不同,互为补充。
一、两副面孔从哪来:谁在隔夜买、谁在日内卖#
要理解方向为什么相反,得先分清隔夜和日内是两个不同的交易场。
隔夜段的主角是散户和情绪。 隔夜收益体现在开盘集合竞价里,而散户的下单高度集中在盘前和开盘——他们白天要上班,晚上看新闻、刷社交媒体形成观点,第二天开盘挂单。散户是典型的趋势追随者和注意力驱动者:昨天涨得猛、上了热搜的股票,今天开盘继续被追捧。这就是隔夜段动量的来源——情绪有惯性,而情绪在开盘集中释放。
日内段的主角是机构和做市商。 交易日内的连续竞价里,机构的算法单、做市商的库存管理、套利盘占主导。这些人是均值回归的天然承接方:开盘被散户情绪推高的价格,日内会被机构逢高减仓、做市商回补库存慢慢拉回来。所以昨天隔夜涨得多的股票,今天日内倾向于被”消化”掉一部分涨幅——这就是日内反转。
拔河的本质:散户在隔夜把价格往一个方向拉,机构在日内往回拽。两拨人对同一批股票的估值判断相反,而他们各自主导不同的交易时段。Lou et al. 的原始论文用美股几十年数据证明:这种隔夜-日内的收益符号分裂高度稳定,且能解释一部分传统动量因子的表现——传统”隔夜+日内合并”的动量,其实是隔夜强动量减去日内反转后的净残值。
二、构造实验:把两个方向相反的 β 植入同一面板#
真实分钟数据拿不到没关系,机制可以精确合成。造一个 200 只股票 × 1260 天(≈5 年)的面板,每天每只股票生成两段收益。核心是让”上期隔夜收益”同时驱动两个方向相反的传导:
PHI = 0.055 # 隔夜 -> 隔夜:动量传导
PSI = 0.042 # 隔夜 -> 日内:反转传导
regime = 1.0 + rng.standard_normal(t) * 2.6 # 传导强度逐日波动(不可分散)
for d in range(t):
r_prev = np.argsort(np.argsort(prev_ov)) / n - 0.5 # 上期隔夜排名
cur_ov = PHI * regime[d] * prev_ov + eps_o + 0.4*mkt[d] + r_prev*spread_o[d]
cur_idr = -PSI * regime[d] * prev_ov + eps_i + 0.6*mkt[d] - r_prev*spread_i[d]
prev_ov = cur_ovpython这里有两个刻意的设计,都是为了让结果可信而非漂亮:
第一,regime 让传导强度逐日剧烈波动。 现实里隔夜动量不是天天灵——有的日子情绪延续、有的日子直接反噬。这个 regime 因子是因子层面的波动,长短组合无法通过增加股票数量分散掉,它直接决定了策略 Sharpe 的天花板。没有它,200 只股票的多空组合会把所有噪声分散干净,跑出 Sharpe 10+ 的假结果——那种数字一看就是 look-ahead 或过度理想化,不能信。
第二,spread_factor 是长短腿的共同因子。 高排名组和低排名组每天承受一个共同的随机冲击,这模拟了”动量因子本身有系统性风险”这一事实,让多空组合的回撤更真实。
Fama-MacBeth 逐日横截面回归(每天跑一次截面回归,再对斜率序列求均值和 t 值)结果:
- 隔夜动量:斜率均值 0.045,t = 9.9 —— 上期隔夜涨的股票,本期隔夜显著继续涨
- 日内反转:斜率均值 −0.042,t = −10.7 —— 同样是上期隔夜涨的股票,本期日内显著回落

散点图把”拔河”画得很直白:左右两张图用的是同一个横轴(上期隔夜收益),但左图的回归线朝上、右图的回归线朝下。这不是数据挖出来的巧合,是两段收益背后站着两拨方向相反的资金。
三、五分组检验:单调性是机制的指纹#
相关系数和回归斜率可能被少数极端股票绑架,五分组检验才能证明效应贯穿整个分布。按上期隔夜收益把股票分成 Q1(最低)到 Q5(最高)五组,分别看它们本期的隔夜和日内平均收益:

| 分组 | 本期隔夜均值 | 本期日内均值 |
|---|---|---|
| Q1(上期隔夜最低) | −0.077% | +0.081% |
| Q2 | −0.029% | +0.035% |
| Q3 | −0.004% | −0.005% |
| Q4 | +0.025% | −0.020% |
| Q5(上期隔夜最高) | +0.074% | −0.061% |
两列数字构成一把完美的”剪刀”:隔夜列从 Q1 到 Q5 严格递增,日内列从 Q1 到 Q5 严格递减。这种双向单调是”结构性机制”区别于”离群点巧合”的指纹——如果只是几只妖股撑起来的假象,中间三组不可能这么服帖地排成单调阶梯。
四、策略化:两条方向相反的多空腿#
既然隔夜是动量、日内是反转,那就分别做两条多空腿:
- 隔夜动量腿:买上期隔夜排名前 20%、卖后 20%,持有本期隔夜段
- 日内反转腿:买上期隔夜排名后 20%、卖前 20%(注意方向反过来),持有本期日内段
# 隔夜动量:direction=+1,持有隔夜段
r_mom = ls_returns(prev_ov, ov, +1)
# 日内反转:direction=-1,持有日内段
r_rev = ls_returns(prev_ov, idr, -1)
r_combo = r_mom + r_rev # 合并python每条腿每天双边换手,各扣单边 5bp 成本。结果(1260 个交易日):
| 策略 | 年化收益 | Sharpe | 最大回撤 |
|---|---|---|---|
| 隔夜动量多空 | +12.9% | 1.47 | −8.8% |
| 日内反转多空 | +10.4% | 1.33 | −9.0% |
| 合并策略 | +23.3% | 1.56 | −16.2% |

三个读数各有信息量:
两条腿方向相反却都赚钱,这正是”拔河”结构最优雅的地方——你不需要赌哪一方赢,你在同一批股票上同时收割两拨人的行为偏差:隔夜跟着散户的情绪惯性走,日内站在机构的均值回归一边。
合并 Sharpe(1.56)高于任何单腿,但只高一点点,没有出现 1.47+1.33 那种线性叠加。原因是两条腿共享同一个信号(上期隔夜),它们的收益正相关,分散效果有限。真正正交的收益源才能大幅抬 Sharpe,同源信号的两条腿只能小幅改善。
合并回撤(−16.2%)几乎是两条腿之和——这是同源信号的代价:好的时候一起好,坏的时候(regime 反噬那几天)两条腿一起亏。合并策略降低了收益波动比,但没降低尾部风险,这个区别在做杠杆决策时性命攸关。
五、生死线:β × 成本的 Sharpe 热力图#
这是一个每天全部换手的策略,两条腿加起来一天要做四次单边交易。成本不是一个可以事后再谈的细节,它直接决定策略能不能活。把动量传导强度 β 和单边成本各扫一遍:

读法很直接:
- β=0.06~0.08(本文基准附近):零售成本(5bp)下勉强可做,机构成本(1~2bp)下舒服,10bp 以上迅速衰减。
- β≤0.04(被套利磨损后的真实水平):只有极低成本才有正期望——学术论文里的漂亮效应,到零售账户就是负和游戏。
- β=0.16(罕见的强传导):肥美,但这种强度的行为偏差会在几个季度内被套利资金吃平,不可持续。
这张图的通用教训值得抄下来:任何”每天换手”的横截面异象,学术检验(通常不含成本)与可交易性之间隔着 5~10bp 的鸿沟。 Lou et al. 论文里的隔夜-日内分裂在美股学术层面极其稳健,但它是不是”你的账户能赚到的钱”,取决于你的 β 落在这张表的哪一格。
六、四类真实陷阱#
陷阱一:隔夜收益的定义混入了停牌和除权。 “收盘到次日开盘”的收益,一旦中间夹着停牌日、除权除息日、或长假,这个”隔夜”就不是纯粹的过夜情绪了。除权必须用后复权价重算,否则一次 10 送 10 会伪造出 −50% 的假隔夜暴跌,直接毒化整个信号。停牌复牌首日的开盘价也常常是集合竞价的极端值,要么剔除要么缩尾。
陷阱二:开盘价的可成交性存疑。 策略假设你能按开盘价买入隔夜腿、按开盘价卖出。但集合竞价的开盘价是一个”点”,你的量能不能在那个价位成交是另一回事——尤其做空腿要借券、要在开盘瞬间挂单。日内反转腿更麻烦:它要求你开盘建仓、收盘平仓,一天一个完整来回,冲击成本会显著高于热力图里假设的线性成本。
陷阱三:A股日内无法做空,反转腿只剩半条命。 日内反转腿的一半是”卖出上期隔夜涨得多的股票”。A股个股不能日内做空,这条腿在A股只能做多头(买上期隔夜跌的),等于砍掉一半 alpha 并引入方向性暴露。想完整复现这个策略,要么用股指期货对冲、要么去 T+0 的市场(美股、港股部分标的)。这不是调参能解决的,是市场机制的硬约束。
陷阱四:隔夜动量和”注意力”高度共线,容易归因错误。 隔夜段的动量很大程度上是”昨日高关注度股票今日开盘被追捧”,而关注度又和成交量、涨跌幅、新闻数量强相关。如果你不控制这些,会把”注意力溢价”误当成”隔夜动量 alpha”。真正干净的检验要在剥离规模、换手、波动率等风格暴露之后,看隔夜动量是否还有独立贡献——本文的合成数据是干净的单因子世界,真实数据里这一步不能省。
结语#
隔夜与日内收益拆分是一个”把时间轴切开就能看见新世界”的经典案例:同一只股票,在不同的交易时段里被不同的人定价,于是呈现出方向相反的两副面孔。 隔夜的动量是散户情绪的惯性,日内的反转是机构资金的承接——两股力量拔河,而聪明的做法不是押注谁赢,是站在两边同时收租。
但别忘了热力图给的那条生死线:这类每天换手的横截面策略,真实 β 掉到 0.04 以下、成本升到 5bp 以上,纸面上的两副面孔就都变成了给券商打工的面孔。先估你所处市场、所处年代的真实传导强度,再对照你的成本查表——这才是把学术异象翻译成可交易策略的正确姿势。