周三上午十点,你在深圳一家私募基金(private fund)做执行交易员。投资经理刚把一份「今天之前买入 50 万股某虚构深市安防设备龙头(虚拟代码 SVSL-A)」的指令甩到你的终端上——按照昨日成交量(1000 万股)这相当于 5% 当日成交量(average daily volume, ADV)。你不能一笔市价单(market order)砸下去——那会在订单簿(order book)上吃光对手盘并制造可观的市场冲击(market impact)。你需要在 4 小时内把这笔单子切成无数小单分发到上海证券交易所(SSE)与深圳证券交易所(SZSE)的撮合系统。这一课教你的工具,是从「订单类型」开始一直到「实施差额(implementation shortfall)的事后归因」的整套交易工艺。
撮合引擎认得的订单类型
订单类型就是「你愿意接受撮合引擎对你做什么承诺」的语法。
| 类型 | 价格确定? | 成交确定? | 时效(time-in-force) | 典型场景 |
|---|---|---|---|---|
| 市价单(market) | 否 | 是 | 当日 | 高确信、轻量、即刻成交 |
| 限价单(limit) | 是 | 否 | 当日 / GTC | 大多数大单的切片 |
| 止损单(stop) | 否 | 触发后接近 | 当日 | 风控触发 |
| 止损限价(stop-limit) | 是 | 触发后否 | 当日 | 同上加价格保护 |
| 即时成交剩余撤销(IOC) | 是 | 部分可 | 即时 | 探价、扫单 |
| 全部成交否则撤销(FOK) | 是 | 全或无 | 即时 | 块单一次性成交 |
| 仅作做市(post-only) | 是 | 否 | 当日 | 拿返佣,等队列 |
A 股的额外约束是涨跌停(主板 ±10%,创业板与科创板 ±20%)和最小变动单位(tick size)。A 股普通股的最小变动单位是 0.01 元——你的限价单出价只能在这个网格上落位。当价格触及涨停板,市价单可能挂在限价订单簿(limit order book, LOB)的买一档无人接,因为没人愿意在涨停价上卖出。做市商(market maker)也不会主动接,因为对手风险(adverse selection)在涨停板上极不对称。把这条规则写进你的算法:临近 ±10% 时,自动把市价单转为偏离 5bp 的限价单。
实施差额:把执行成本量化
实施差额是「想要的价格」与「成交的价格」之差,按成交方向加权:
其中 是加权平均成交价, 是收到指令那一刻的中间价(mid), 是带方向的成交数量(买为正、卖为负)。把 IS 除以名义价值,就得到以基点(bp)计量的标准化滑点(slippage)。
IS 可以拆三块:
- 价差成本(spread cost):买在卖一、卖在买一所付出的买卖价差(bid-ask spread)的一半。
- 市场冲击(market impact):你的成交本身把价格推高 / 推低的部分。
- 时机成本 / 机会成本(timing cost):从指令到达到完成期间,因为外生信息让价格漂移的部分。
把这三块在事后交易成本分析(transaction cost analysis, TCA)报告里独立列出来,PM 才能区分「算法选错了」和「市场恰好走了」。
Formula Explorer
sigma * sqrt(q / adv)三种主力算法的取舍
VWAP(成交量加权平均价, volume-weighted average price)算法把母单按全市场历史成交量曲线切片:早盘和尾盘多发、中午少发。VWAP 算法的目标是把成交均价压在当日 VWAP 附近,对非紧急、有耐心的母单最友好。
TWAP(时间加权平均价, time-weighted average price)算法把母单按时间均匀切片:每分钟同样数量。TWAP 不依赖成交量预测,对冷门、ADV 难估的小盘股更稳。
POV(percent-of-volume)算法盯住实时成交量,按设定的参与率(比如 10%)发单:市场活跃就多发,市场冷清就停下。POV 对有时间约束、不能等到收盘的母单合适。
| 维度 | VWAP | TWAP | POV |
|---|---|---|---|
| 紧迫性容忍 | 高(一天) | 中 | 低 |
| 对成交量预测依赖 | 高 | 无 | 低 |
| 市场冲击 | 最低 | 中 | 高 |
| 适用 | 大盘股、可耐心 | 冷门、流动性差 | 必须当日完成 |
市场冲击的平方根经验法则
无须推导,记住业界共识的经验形式:
其中 是当日波动率, 是母单总量,ADV 是当日平均成交量。直觉:你成交 1% 的 ADV,付出大约 0.1 倍 σ 的冲击;成交 5%,约 0.22 倍 σ;成交 25%,0.5 倍 σ。当 σ 取 30% 年化(折日 1.9%),5% ADV 的母单约要付 40bp 的冲击成本——比典型的 5bp 价差大一个数量级。这就是为什么大单必须切片、用算法发。
TCA 报告应该长什么样
一份合格的 TCA 报告,每一行母单都该有:
- 滑点(slippage)vs 到达价(arrival):bp 计量。
- 成交率(fill rate):实际成交 / 指令量。
- 加权平均成交价 vs VWAP / TWAP 基准。
- 场所分布(venue mix):上海撮合多少、深圳撮合多少。
- 印花税(stamp duty):A 股卖方 5bp(2023 年从 10bp 下调),独立成行。
中信证券、华泰证券、国泰君安等卖方券商的算法交易(algorithmic trading)柜台都能给私募客户提供这套报告,并附智能订单路由(smart order router, SOR)的决策日志和暗池(dark pool)成交占比。台子上把 IS 与基准的差异跑成时间序列,3 个月的均值若长期高于 10bp,要重新评估算法选型或者切换执行经纪商。
一道练习
Exercise
你需要在交易日内买入某股票 5 万股,该股 ADV 为 100 万股(占比 5% ADV)。年化波动率 30%,最优买卖价差为 5bp。用平方根法则估计市场冲击;在 VWAP 与 10% 参与率的 POV 之间为这笔不紧急的母单选一种算法,并说明理由(哪一种期望 IS 更低)。
提示
提示
走向下一课
你已经会买。下一课进入卖空与清算交收(settlement)——A 股 T+1 结算节奏、融资融券(margin financing and securities lending)的供给约束、融券标的与中证金的中央化借贷渠道。你将学会算一笔卖空头寸的全成本:借券费 + 股息过付 - 卖空现金返还,以及为什么 2021 年 1 月那次典型的散户驱动逼空在 A 股因为涨停(limit-up)和跌停(limit-down)的存在会更剧烈。