Amihud-Mendelson 价差与收益:买卖价差如何进入资产定价
为什么两只基本面几乎相同的股票,长期收益能差出好几个百分点?Amihud-Mendelson (1986) 给出微观结构层面的答案:买卖价差是一种持有成本,投资者会为难交易的资产索取更高的毛收益补偿。本文从零复现价差-收益横截面检验,用合成面板演示五分组毛溢价单调递增、且关系是凹形的——这正是'客户效应'的指纹:长持有期投资者自我选择进入高价差资产,把边际溢价摊薄。并诚实拆解:溢价是毛收益口径、高换手者根本吃不到,以及 A 股用报价价差还是用 Amihud ILLIQ 代理的现实取舍(中阶)。

两只股票,盈利能力接近、行业相同、beta 差不多,长期年化收益却差了三四个百分点。用因子模型翻来覆去找不到解释时,答案可能藏在一个最不起眼的地方:交易它们各自要付多少买卖价差。
Amihud 和 Mendelson 在 1986 年发表的《Asset Pricing and the Bid-Ask Spread》是市场微观结构进入资产定价的开山之作。它的核心命题只有一句话:买卖价差是一种周期性发生的持有成本,理性投资者会要求难交易的资产提供更高的期望毛收益作为补偿。 这个看似朴素的命题,衍生出一个远不朴素的推论——收益与价差的关系不是线性的,而是凹的,因为不同持有期的投资者会”各就各位”地自我选择。
这篇文章从零复现这条因果链:价差为什么等价于一笔按换手率摊销的费用、五分组横截面检验长什么样、凹形关系背后的客户效应(clientele effect)是什么,以及这个 1986 年的溢价在今天还剩多少。
一、价差不是摩擦,是资产的负股息#
先把概念掰开。买卖价差(bid-ask spread)是市场上最优买价和最优卖价之间的距离。你市价买入,成交在卖价(ask);你市价卖出,成交在买价(bid)。一买一卖走完一个来回,价差就被你完整地付了一遍——付给了提供报价的做市商或限价单交易者。
关键的思维转换是:把这笔成本从”交易时的一次性摩擦”改写成”持有期间的年化费用”。假设相对价差是 (比如 0.4%),你的平均持有期是 年,那么每年摊销的交易成本就是:
持有 5 年,0.4% 的价差摊下来每年只有 0.08%,几乎可以忽略;持有 1 个月,同样的价差年化成本高达 4.8%——比很多股票的全部预期收益还高。同一个价差,对不同持有期的投资者是完全不同的税率。 这就是整个 Amihud-Mendelson 框架的支点。
从定价角度看,这笔年化成本的作用等价于一笔”负股息”:资产每年从你的收益里扣走 。均衡时,价格必须低到让扣完这笔费用后的净收益仍然与其他资产竞争,所以高价差资产必须提供更高的毛收益。
二、复现横截面检验:价差五分组#
论文用 NYSE 1961-1980 年的数据做检验。我们用合成面板复现同样的逻辑——800 只股票,每只有一个相对价差和对应的实现收益。先看价差的横截面分布(文首图):中位数约 0.15%,但右尾拖得很长,最难交易的一批股票价差超过 1%,是中位数的近十倍。这个右偏形态与真实市场高度一致——流动性在横截面上从来不是均匀分布的,它极端集中在头部,稀缺在尾部。
核心检验很直接:按价差分五组,看各组的平均毛收益是否单调递增。
import numpy as np
import pandas as pd
rng = np.random.default_rng(42)
n = 800
# 合成横截面:相对价差(%),对数正态右偏
spread = np.clip(np.exp(rng.normal(np.log(0.15), 0.75, n)), 0.02, 3.0)
# 数据生成过程:毛收益 = 基准 + 凹形价差溢价 + 噪声
# 凹形用 log1p 实现——这是 Amihud-Mendelson 的理论预测
gross_ret = 5.8 + 2.6 * np.log1p(spread / 0.08) + rng.normal(0, 2.0, n)
df = pd.DataFrame({"spread": spread, "gross": gross_ret})
df["q"] = pd.qcut(df["spread"], 5, labels=["Q1", "Q2", "Q3", "Q4", "Q5"])
summary = df.groupby("q", observed=True).agg(
mean_spread=("spread", "mean"),
mean_gross=("gross", "mean"),
)
print(summary.round(2))python分组结果呈现教科书式的单调性:从最低价差组 Q1 的年化约 6.2%,一路爬升到最高价差组 Q5 的约 10.8%,毛溢价接近 4.6 个百分点。原论文的实证幅度与此同量级:价差每增加 1 个百分点,月度风险调整后收益增加约 0.211%(年化约 2.5%),且这个关系在控制 beta、市值后依然显著。

但这张图的重点不在蓝色的毛收益柱,而在红绿两组净收益的对比。同样的毛溢价,对年换手 1 次的长持有期投资者是真金白银(绿柱依然单调递增),对年换手 12 次的高频交易者则完全是海市蜃楼——红柱显示 Q5 组的净收益被 0.9% × 12 次的往返成本直接打成负数。这不是策略失误,是算术必然。
三、凹形关系与客户效应:谁该持有难交易的资产#
如果收益-价差关系是线性的,故事到上一节就结束了。但 Amihud-Mendelson 的理论预测更精细:这个关系必须是凹的——价差从 0.05% 升到 0.2% 带来的溢价增量,大于从 0.8% 升到 0.95% 带来的增量。

凹形的成因就是客户效应(clientele effect),这是论文最漂亮的一步推理:
- 市场上的投资者持有期各不相同:日内交易者、季度调仓的基金、十年不动的养老金。
- 高价差资产对短持有期投资者是毒药(年化成本爆炸),但对长持有期投资者只是轻微的不便(成本被长 摊薄)。
- 均衡时发生自我选择:短持有期投资者聚集在低价差资产,长持有期投资者聚集在高价差资产——各自选择对自己伤害最小的位置。
- 于是高价差资产的边际定价者是长持有期投资者,他们要求的补偿是 ,其中 很大。价差越高的区间,边际持有期越长,摊销后的边际成本增量越小,所需的边际溢价增量也就越小——曲线自然弯成凹形。
上图中虚线是”如果所有投资者持有期相同”的线性参考,红色实线是实际的凹形拟合。两者的差距就是客户效应的经济价值:市场通过投资者的自我分层,降低了整体为流动性支付的溢价。
这个机制还给出一条可操作的推论:流动性溢价的自然收割者是长持有期资金。 养老金、保险资金、封闭期长的产品持有高价差资产时,赚取的溢价是按短持有期投资者的痛苦定价的,而自己实际承受的摊销成本远低于此——这是一种结构性的”期限套利”。Amihud-Mendelson 在论文里直白地建议:长期投资者应该系统性超配低流动性资产。
四、A 股落地:用什么当价差的代理#
直接搬用报价价差在 A 股会遇到麻烦:A 股是纯限价订单簿市场,没有做市商持续双边报价,盘口价差在流动性好的票上常年贴着最小报价单位(0.01 元),横截面区分度很差。实务上有三条替代路径:
# 路径一:高低价价差估计(Corwin-Schultz, 2012)
# 只需日频 OHLC,用相邻两日高低价的关系反解有效价差
def corwin_schultz(high, low):
beta = (np.log(high / low) ** 2).rolling(2).sum()
gamma = np.log(high.rolling(2).max() / low.rolling(2).min()) ** 2
alpha = (np.sqrt(2 * beta) - np.sqrt(beta)) / (3 - 2 * np.sqrt(2)) \
- np.sqrt(gamma / (3 - 2 * np.sqrt(2)))
return 2 * (np.exp(alpha) - 1) / (1 + np.exp(alpha))
# 路径二:Amihud ILLIQ —— |收益| / 成交额,价格冲击维度
# illiq = (ret.abs() / amount).rolling(20).mean()
# 路径三:相对有效价差 —— 需要 tick 数据,成本最高但最干净python三条路径测的其实是流动性的不同侧面:报价价差测的是小单的即时交易成本,ILLIQ 测的是大单的价格冲击。对小资金,价差口径更贴切;对机构规模的资金,ILLIQ 更相关。Amihud 本人 2002 年转向 ILLIQ 也正是因为价差数据在长历史上不可得——两者在横截面上相关性很高,但并不可互换。
另外两个 A 股特有的坑:涨跌停日必须剔除(触板日的盘口价差和成交量都是失真的,会同时污染价差和 ILLIQ 的估计);ST 股和次新股要单独处理(前者价差大是退市风险定价而非单纯流动性,后者换手率异常高,混进样本会扭曲客户效应的估计)。
五、诚实的部分:这个溢价今天还剩多少#
按惯例,把最不利于这个策略的事实摆出来。
第一,你看到的所有溢价都是毛收益口径。 这是本文反复强调、也最容易被选择性遗忘的一点。高价差组的 4.6% 毛溢价,收割它的前提是你的换手率足够低。图 2 的红柱已经演示了高换手者的下场。更微妙的是:建仓和调仓本身也要付这个价差——你为了买入 Q5 组的股票,先要付一遍 0.9% 的单边成本。任何声称”流动性溢价策略年化跑赢 X%“的回测,第一个要审的就是成本假设。
第二,溢价随市场流动性改善而系统性收窄。 1986 年 NYSE 的最小报价单位是 1/8 美元,今天是 1 美分;电子化做市把大盘股价差压缩了一个数量级。价差本身变小,按 定价的溢价自然同步缩水。后续研究显示流动性溢价在 1980 年代后明显衰减,且越来越集中在微盘股——而微盘股恰恰是容量最小、成本模型最不可靠的角落。这形成一个恼人的悖论:溢价存活的地方,正是你最难规模化收割的地方。
第三,价差溢价与市值、反转等因子高度纠缠。 高价差股票几乎必然是小市值股票,价差五分组在很大程度上是市值五分组的影子。原论文控制了市值后溢价依然显著,但后续文献对”流动性水平溢价”独立性的争论持续了三十年——相当一部分学者认为,扣除市值和微观结构噪声(bid-ask bounce 导致的收益率高估)后,纯粹的价差溢价所剩无几。合成数据里我们直接把凹形关系写进了数据生成过程,真实世界里它和一堆共线因子搅在一起,识别难度完全不是一个量级。
第四,本文全部结果基于合成横截面。 单调性、凹形、溢价幅度都是按论文结论校准后生成的演示,不构成对任何真实市场当前溢价水平的估计。真实检验需要处理时变价差、市场状态切换(危机期流动性溢价会急剧放大——这与 Pastor-Stambaugh 的系统性流动性风险是两个相关但不同的故事)等复杂性。
六、总结#
Amihud-Mendelson (1986) 用一个简单的摊销恒等式 ,把市场微观结构和资产定价焊在了一起:买卖价差是持有成本,持有成本要求毛收益补偿,于是价差进入定价。五分组的单调溢价是它的直接证据,凹形关系和客户效应是它更深的指纹——不同持有期的投资者自我选择,让长期资金成为流动性溢价的天然收割者。
四十年后回看,这篇论文真正的遗产不是”买高价差股票能赚溢价”这个日渐衰减的交易信号,而是一个至今锋利的分析框架:任何资产的预期收益里都藏着一块交易成本的影子价格,而这块影子价格对不同的投资者根本不是同一个数字。 评估任何策略的容量、比较任何两类资产的性价比、决定任何组合的换手率预算,最后都会绕回这个 1986 年的恒等式。
参考文献:
- Amihud, Y., & Mendelson, H. (1986). Asset Pricing and the Bid-Ask Spread. Journal of Financial Economics, 17(2), 223-249.
- Amihud, Y. (2002). Illiquidity and Stock Returns: Cross-Section and Time-Series Effects. Journal of Financial Markets, 5(1), 31-56.
- Corwin, S. A., & Schultz, P. (2012). A Simple Way to Estimate Bid-Ask Spreads from Daily High and Low Prices. Journal of Finance, 67(2), 719-760.