Hasbrouck (2015) — 交易成本课堂讲义:实现短缺的三层算法
作者: Joel Hasbrouck(NYU Stern)
文件性质: NYU 课程讲义第 8 章 "Transaction costs",幻灯片转录,标注日期 2015 年 10 月 14 日,19 页。非同行评议论文,是教学材料。
这不是一篇研究论文,是一份操作手册。 它的价值在于把交易成本的测算规则写得极其明确——本库已收录的所有因子论文都隐含假设"我的成交价是真实成本",而这份讲义说明了怎么算才算数。
一句话总结
交易成本不是"价差"这一个数,而是三层嵌套的算法:先选基准价,再决定算"单笔有效成本"还是"全周期实现短缺",最后把佣金、延迟、机会成本分别加回来。 每一层的选择都会改变结论。
第一层:基准价的选择决定一切
讲义开篇就强调"交易与投资的区别",然后给出 Perold (1988) 的原始定义:
实现短缺 = 纸面组合的收益 − 实际组合的收益
"纸面组合"(paper portfolio) 指一个假设存在的、名义上的组合——它持有与实际组合完全相同的证券,因此收益完全相同。
差别只在一件事:纸面组合的所有交易都被假设在基准价(benchmark price)上完成,而实际组合在真实市场里成交。
flowchart TD
A["实际组合"] --> B["真实成交价 TradePrice"]
C["纸面组合"] --> D["基准价 BenchmarkPrice"]
B --> E["实现短缺 = 两者之差"]
D --> E
E --> F["基准价选什么?<br/>决定了全部结论"]
讲义列出的基准价备选(第 171 行起):决策时点的中间价、决策时点的买价/卖价、决策时点的 NBBO、到达时的中间价等。每换一个,同一笔交易的实现短缺就换一个值。
第二层:实际 practitioners 怎么算
今天的惯例是:在单笔订单层面算,而不是组合层面。
对于已成交的订单:
IS_{full} = \begin{cases} TradePrice - BenchmarkPrice, & \text{买单} \\ BenchmarkPrice - TradePrice, & \text{卖单} \end{cases}
注意:这个定义不含佣金、延迟、机会成本——这些有时单独列表。
特殊情况:有效成本 (Effective Cost)
当基准价取"订单生成时点的 NBBO 中间价"(买卖价中点,BAM)时,实现短缺就变成了有效成本:
EffectiveCost = \begin{cases} p - m, & \text{可成交买单} \\ m - p, & \text{可成交卖单} \end{cases}
其中 p 是成交价,m 是当时的 NBBO 中间价。
这就是本 wiki 反复出现的"有效价差"概念的定义出处。
第三层:原始定义里包含的四类成本
Perold 的原始定义包含:
| 类别 | 内容 | 讲义给的美国市场参考值(2015 年) |
|---|---|---|
| 显性成本 | 佣金(扣回扣后) | E*TRADE 零售每笔约 $10;Scottrade 约 $7;盈透证券(Interactive Brokers)约 $1 |
| 交易税 | — | |
| 隐性成本 | 与市场互动的成本(价差、价格冲击)相对基准价的差额 | — |
| 机会成本 | 未完成预期交易的惩罚 | |
| 延迟成本 | 未能立即成交的损失 |
这个佣金数字在本 wiki 有直接价值:2015 年美国零售佣金 $10 vs $1 相差 10 倍,这就是为什么本文强调的日频订单不平衡策略(Chordia-Subrahmanyam)"个人投资者扣佣金后可能赚不到"。
关键方法论警告:价格冲击有两个含义
讲义第 351 行专门澄清一个极易混淆的概念:
| 含义 | 定义 | 用在哪 |
|---|---|---|
| 狭义 | 对一笔具体订单:effectiveCost - realizedCost | 单笔成交的成本核算 |
| 广义 | 买单倾向于推高价格、卖单倾向于压低价格的一般规律 | 拆单执行策略的核心依据 |
广义价格冲击为什么重要(讲义给的例子):
对于一个大额买单,先成交的那些碎片会把价格推高,从而让后成交的碎片成交在更差的价格上。
大白话:拆单执行时,前面的单子给自己后面的单子挖坑。这正是 Almgren-Chriss 轨迹要平衡的核心矛盾——见 Optimal Execution (最优执行。
挂单决策的完整框架(讲义给出的形式化)
要买入时,"maker 还是 taker"的选择:
- taker:立刻抬价吃掉卖方报价;
- maker:挂一个限价单 x < offer。
随着限价单变得更不激进(x 下降):
| 变化 | 方向 |
|---|---|
| 若成交,IS = x - benchmark | 下降 |
| 成交概率 | 下降 |
这是本讲义给 A 股做市/执行策略最直接的形式化框架:挂得越深,成交后的成本越低,但不成交的机会成本上升。A 股 T+1 会额外放大"不成交"的惩罚——挂单当天没成交,明天可能就要承担隔夜价格变动。
讲义还涵盖的内容
| 主题 | 起始位置 |
|---|---|
| 成交价的三类成本(实际成交价 / 实现成本 / 有效成本) | 第 227 行 |
| 价格改善 (price improvement) | 第 273 行 |
| 隐含成本的解释(机会成本 / 延迟 / 成交后的价格变动) | 第 373 行 |
| 委托单挂出后价格为什么走开 | 第 573 行 |
| SEC Rule 605(美国零售报价披露规则) | 第 589 行 |
| 市价单的样本计算(100–499 股) | 第 645 行 |
本 wiki 应从此讲义吸收的三条规则
- 报任何交易成本数字之前,先说清楚基准价是什么。 不知道基准价的成本数字没有意义。
- 区分"已成交订单的实现短缺"与"未成交订单的机会成本",两者不能混在一个数字里。
- 拆单策略必须计入自己的价格冲击——前面的碎片会推高后面碎片的价格。
与已收录 页面的关系
| 页面 | 关系 |
|---|---|
| Optimal Execution (最优执行 | 讲义第 351 行的"广义价格冲击"是 Almgren-Chriss 轨迹的微观基础 |
| Chordia-Subrahmanyam (2004 | 该文策略"扣佣金后个人投资者无法获利"——讲义给了佣金的量级 |
| Menkveld (2013 | Menkveld 的"价差收入 +1.55 / 持仓损益 −0.68"就是这里"实现短缺"分解的一个实例 |
| Trading-Session Return Decomposition | 基准价的选择直接决定了日内/隔夜收益如何拆分 |
Caveat
这是教学幻灯片的文字转录,不是同行评议文献。 里面的佣金数字是 2015 年的美国零售价,且讲义有明确的复制版权声明(Copyright 2015, Joel Hasbrouck, All rights reserved)。
引用规则:不要把这篇当作学术来源引用。它的正确用法是作为方法论检查清单——本 wiki 记录任何交易成本数字时,拿这份讲义的三层算法对照一遍。
关键引用
Hasbrouck, J. (2015). Chapter 8: Transaction costs. NYU Stern 课程讲义,2015 年 10 月 14 日。(教学材料,非同行评议)
JEL: 无
主要引用:Perold (1988) 实现短缺的原始定义 · SEC Rule 605(零售报价披露)· Glosten-Harris (1988) · Hasbrouck (1991)。