2. 交易成本基础
在Pre-Trade交易成本预测中,第一步不是建模,而是把“成本”拆清楚。很多团队一上来就做回归或机器学习,结果预测误差很大,原因往往不是算法不行,而是成本口径混乱:把佣金、点差、冲击、延迟、机会成本混在一个标签里,模型学到的只是噪声。本节将建立一套可计算、可归因、可用于盘前预测的成本分类框架。
一、核心原理:显性成本与隐性成本的分野
交易成本最基础的分法是显性成本与隐性成本。显性成本是在成交回单或对账单上可以直接看到的费用,具有确定性、可事先计算;隐性成本则发生在执行过程中,由市场互动产生,事前只能估计,事后才能归因。
- 显性成本:佣金、交易所规费、印花税、过户费、结算费、平台使用费等。它们通常按成交金额、股数或笔数计费,与执行路径关系较弱。
- 隐性成本:买卖价差、市场冲击、延迟成本、机会成本、择时成本、未成交风险等。它们与订单规模、流动性、波动率、执行速度强相关,是Pre-Trade预测的主要对象。
关键认知:显性成本决定“能不能覆盖”,隐性成本决定“执行得好不好”。Pre-Trade预测的核心目标,是在下单前估计隐性成本,并把它与显性成本合并为总成本,用于选择算法、拆单节奏和交易时机。
二、方法流程:从订单到成本归因的链路
要预测成本,先要定义成本的计算链路。一个标准的执行成本分析流程如下:
- 确定基准价格:通常用决策价格(Decision Price)、到达价格(Arrival Price)或VWAP作为基准。
- 记录执行价格:实际成交均价或逐笔成交价格。
- 计算执行差额:执行价格与基准价格之差,乘以成交数量,得到执行成本。
- 拆分成本成分:将执行差额分解为点差、冲击、择时、机会成本等。
- 归因与预测:用历史归因结果训练盘前模型,输入订单特征与市场特征,输出成本预测值。
下面是一个简化的成本计算伪代码,便于理解各成分如何进入总成本:
# 输入
decision_price = 100.00 # 决策价格
arrival_price = 100.05 # 到达价格
exec_price = 100.18 # 实际成交均价
shares = 50000 # 成交股数
unfilled = 5000 # 未成交股数
close_price = 100.30 # 收盘价格
# 显性成本
commission = shares * 0.0003
tax = shares * 0.001
explicit_cost = commission + tax
# 隐性成本
delay_cost = (arrival_price - decision_price) * shares
impact_cost = (exec_price - arrival_price) * shares
opportunity = (close_price - decision_price) * unfilled
timing_cost = (exec_price - arrival_price) * shares * 0.2 # 示例拆分
total_cost = explicit_cost + delay_cost + impact_cost + opportunity + timing_cost
注意:不同机构对择时成本与冲击成本的拆分口径不同,但原则是不重不漏。一旦口径确定,就要在预测、归因和考核中保持一致。
三、案例/场景:一笔大额买单的成本拆解
假设某机构要在流动性中等的小盘股上买入50万股,决策时价格10.00元,到达市场时价格已涨到10.05元,最终成交均价10.18元,收盘价10.30元,未成交5万股。我们可以这样拆解:
| 成本类型 | 计算方式 | 金额(元) | 说明 |
|---|---|---|---|
| 显性成本 | 佣金+税费 | 约 6,500 | 按成交金额比例收取 |
| 延迟成本 | (10.05-10.00)×50万 | 25,000 | 决策到到达之间的价格漂移 |
| 冲击成本 | (10.18-10.05)×50万 | 65,000 | 自身订单推动价格上行 |
| 机会成本 | (10.30-10.00)×5万 | 15,000 | 未成交部分错失的收益 |
| 择时成本 | 执行节奏偏差 | 约 13,000 | 与基准VWAP的偏差 |
这个案例说明:显性成本只占总成本很小一部分,真正决定执行绩效的是冲击成本和机会成本。如果Pre-Trade模型只预测佣金,就完全失去了意义。
实战提示:在盘前预测中,建议至少输出三个分项预测:冲击成本、机会成本、总成本。这样交易员可以根据市场状态选择“快执行”还是“慢执行”,而不是只看一个总数。
四、误区/复盘:常见成本认知陷阱
在实际项目中,以下误区非常普遍,值得逐条复盘:
- 误区一:把显性成本当总成本。佣金低不代表执行好,隐性成本往往是大头。
- 误区二:冲击成本与择时成本混为一谈。冲击是自身订单造成的,择时是市场节奏造成的,两者归因不同,优化手段也不同。
- 误区三:忽略机会成本。未成交部分如果事后价格上涨,机会成本可能远超已成交部分的冲击成本。
- 误区四:用单一基准价格。不同基准(到达价、VWAP、收盘价)会得出完全不同的成本结论,必须与策略目标匹配。
- 误区五:预测标签口径不一致。训练用冲击成本,预测用总成本,模型必然失效。
复盘要点:每次执行后,把实际成本按上述分类归因,并与盘前预测值对比。误差大的成分,就是下一轮模型迭代的重点。成本预测不是一次建模,而是一个持续校准的闭环。