实施缺口与市场冲击¶
定义¶
实施缺口是纸面组合和实际成交之间的差,拆成已成交的价格让步、费用,以及没成交的机会。平方根冲击让成本随参与率的平方根上升。
公式¶
\[
\mathrm{IS}=\underbrace{n_{\text{成}}(p_{\text{成}}-p_0)}_{\text{让步}}+\text{费用}+\underbrace{(n-n_{\text{成}})(p_T-p_0)}_{\text{机会}}
\]
决策价 100、80 股在 100.40 成交、费用 1、期末价 101 时,缺口是 53 = 32 + 1 + 20。年化波动 40%、参与率 1%、教学系数 1 时,冲击是 25.2 个基点。换手拖累是 \(2\tau c\)。
直觉¶
没买到的那一段上涨,和买贵了的那一段,都是你相对纸面少掉的钱。限价单把冲击换成机会,不是把成本消掉。
实务要点 / 常见误区¶
- 两段目标 6.666667 用的冲击系数和风险厌恶都是 0.001,不是 Almgren–Chriss 估出来的参数。
- 参与率用过去已完成的 20 日。不足 20 日则不成交。
- 本仓库只发常规时段的当日限价。开发机不发单。
相关概念¶
- Brinson 归因与 Carino 连接 (
brinson_and_carino_attribution) - 前视偏差与幸存者偏差 (
lookahead_and_survivorship_bias) - 风险平价与 HRP (
risk_parity_and_hrp)
代码¶
def shortfall(order: float, filled: float, decision: float, fill: float, end: float, fee: float) -> float:
# 三块分开加总。只报费用会把没买到的上涨漏掉。
concession = filled * (fill - decision)
missed = (order - filled) * (end - decision)
return concession + fee + missed
教材:M13 交易成本与执行