4. 执行成本拆解:显性成本与隐性成本
做量化交易这么多年,我见过太多人只盯着策略的收益率看,却忽略了执行成本这个「隐形杀手」。说白了,你的策略再牛,如果执行成本控制不好,利润可能全被吃掉了。今天我们就来好好拆解一下,交易执行过程中到底有哪些成本在悄悄吞噬你的收益。
4.1 显性成本:看得见的「硬支出」
显性成本,说白了就是交易所、券商、监管机构明码标价收你的钱。这些费用每一笔都清清楚楚写在交割单上,跑不掉。
4.1.1 佣金
佣金是券商收的服务费。我刚开始做交易那会儿,佣金还是千分之三的水平,现在竞争激烈,很多券商已经降到万分之二点五甚至更低。但要注意,佣金有「最低收费」——通常是5元一笔。你想想看,如果你只买1000块钱的股票,按万2.5算佣金才0.25元,但实际要收5元,这成本就高了去了。
4.1.2 印花税
这是国家收的税,目前A股是卖出时收千分之一。注意,只有卖出才收,买入不收。我记得2018年有一次印花税调整,市场当天就暴涨了5%——可见这个成本对交易行为的影响有多大。
4.1.3 过户费
过户费是交给中国结算公司的,目前是万分之零点二,买卖双向收取。虽然费率很低,但如果你做高频交易,一天来回几百次,累积起来也是一笔不小的数目。
| 费用类型 | 费率 | 收取方向 | 收取方 |
|---|---|---|---|
| 佣金 | 万2.5 ~ 万3(可协商) | 买卖双向 | 券商 |
| 印花税 | 千分之一 | 仅卖出 | 国家税务局 |
| 过户费 | 万分之零点二 | 买卖双向 | 中国结算 |
4.2 隐性成本:看不见的「软刀子」
隐性成本才是真正考验交易执行能力的地方。我见过太多量化团队,策略回测年化30%,实盘一跑只剩10%,问题就出在隐性成本上。
4.2.1 冲击成本
冲击成本,就是你下单时把价格「推」出去的那部分损失。举个例子,你想买100万股某只股票,当前卖一价是10.00元,但你的单子太大,直接把价格推到了10.05元才成交完。这0.05元的差价,就是冲击成本。
为什么会这样?因为市场深度不够。你想想看,如果卖一到卖五总共只有50万股的挂单,你100万股的买单就会吃掉所有挂单,然后继续往上吃。我曾在一次大宗交易中吃过亏——当时想快速建仓,结果冲击成本达到了0.3%,直接吃掉了我一个月的预期收益。
冲击成本 ≈ (订单规模 / 市场日均成交量) × 价格波动率 × 常数
一般来说,订单规模超过日均成交量的1%,冲击成本就会显著上升。
4.2.2 延迟成本
延迟成本,说白了就是「等」出来的损失。你的交易信号在0.1秒前就发出了,但你的系统慢了0.5秒才把单子送到交易所。这0.5秒里,价格可能已经变了。
我记得有一次帮一家私募优化交易系统,发现他们的交易延迟高达200毫秒。原因是什么?他们的交易服务器在上海,但行情服务器在北京,网络来回就要40毫秒,再加上软件处理时间,就拖到了200毫秒。后来我们把服务器搬到同一个机房,延迟直接降到5毫秒以下。
4.2.3 机会成本
机会成本是最容易被忽略的。它指的是:因为你的订单没有及时成交,导致错过了后续的行情。
举个例子,你挂了一个10.00元的买单,但价格最低只到10.01元就反弹了,你的单子没成交。结果股价一路涨到10.50元,你完美踏空。这个踏空的0.50元,就是机会成本。
机会成本和冲击成本是一对矛盾体。你想快速成交,就要承受冲击成本;你想避免冲击成本,就要挂限价单慢慢等,但可能面临机会成本。怎么平衡?我个人的习惯是:
- 对于流动性好的股票(日均成交额>10亿),用市价单或激进算法,冲击成本可控
- 对于流动性差的股票,用限价单+时间切片,宁可慢一点也要控制冲击
- 对于大单(超过日均成交量的5%),必须用算法交易拆单,否则冲击成本会吃掉所有利润
4.3 如何量化这些成本?
说了这么多,怎么把这些成本算清楚?我一般用「实现差价」来衡量:
实现差价 = 实际成交均价 - 决策时的基准价格
举个例子:
决策时基准价格 = 10.00元
实际成交均价 = 10.03元
实现差价 = 0.03元(正数表示成本,负数表示收益)
其中:
实现差价 = 显性成本 + 冲击成本 + 延迟成本 + 机会成本
嗯,执行成本拆解就讲到这里。记住一句话:控制好执行成本,你的策略就成功了一半。下一节我们会深入讨论如何用算法交易来降低这些成本,特别是冲击成本和延迟成本。