第4章:交易成本分析(TCA)——显性成本与隐性成本的计算与归因
交易成本分析,简称TCA。说白了,就是搞清楚你每笔交易到底花了多少冤枉钱。
我刚开始做量化那会儿,总觉得策略赚钱就行,成本那点小钱无所谓。直到有一次复盘,发现一个高频策略明明胜率很高,但月底一算账,利润被成本吃掉了一大半。嗯,从那以后,我再也不敢忽视TCA了。
4.1 显性成本:看得见的“硬开销”
显性成本,就是交易所、券商明码标价收你的钱。这部分没什么技术含量,但算不对会出大问题。
4.1.1 佣金
佣金是券商收的服务费。国内A股一般是万分之2.5左右,期货可能更低。但要注意,很多券商有“最低佣金”限制,比如每笔最低5元。
关键点:别只看费率,要看实际扣费。我见过有人用万1.5的费率,但每笔最低5元,结果小单子的实际成本高达千分之几。
计算方式很简单:
佣金 = 成交金额 × 佣金费率
实际佣金 = max(计算佣金, 最低佣金)
4.1.2 税费
A股有印花税,卖出时收,目前是千分之1。期货有交易所手续费,不同品种差别很大。
| 品种 | 税费类型 | 费率 | 备注 |
|---|---|---|---|
| A股 | 印花税 | 0.1% | 仅卖出时收取 |
| 期货 | 交易所手续费 | 按品种 | 双边或单边 |
| 港股 | 印花税+交易征费 | 约0.13% | 双边收取 |
我的习惯:在回测时,我会把显性成本直接写死在交易函数里。别偷懒,否则实盘会给你“惊喜”。
4.2 隐性成本:看不见的“隐形杀手”
隐性成本才是TCA的核心。它不直接显示在你的交割单上,但实实在在地影响你的收益。
4.2.1 滑点
滑点,就是你下单时的预期价格和实际成交价格之间的差值。为什么会这样?因为市场在动,你的订单需要时间才能成交。
我举个例子:你想在10.00元买入,但等你下单时,价格已经跳到10.02元了。这0.02元就是滑点成本。
计算方式:
滑点成本 = (实际成交价 - 预期价格) × 成交数量
我曾经踩过的坑:在回测时用收盘价模拟交易,觉得滑点设个0.01%就够了。结果实盘时,流动性差的股票滑点能达到0.5%以上。嗯,那一个月白干了。
4.2.2 市场冲击
市场冲击,说白了就是你的订单太大,把价格“推”动了。你买的时候价格被推高,卖的时候价格被压低。
市场冲击的计算比较复杂,我常用一个经验公式:
市场冲击成本 ≈ (订单量 / 市场深度) × 价格波动率 × 调整系数
其中:
- 订单量:你要交易的数量
- 市场深度:当前盘口的挂单量
- 价格波动率:近期价格的波动程度
- 调整系数:根据市场情绪调整,一般取0.5-2.0
核心观点:市场冲击和订单量成正比,和市场深度成反比。流动性差的品种,千万别下大单。
4.2.3 延迟成本
延迟成本,就是你的订单从发出到成交这段时间里,价格变动带来的损失。
你想想看,你的策略信号出来了,但网络延迟、交易所处理延迟,等订单真正到达时,价格已经变了。这就是延迟成本。
计算方式:
延迟成本 = (成交时的市场价格 - 信号发出时的市场价格) × 成交数量
我的建议:做高频交易的朋友,一定要关注延迟成本。我曾经优化过一套系统,把延迟从50ms降到5ms,每笔交易的成本直接降了30%。
4.3 成本归因:找到“罪魁祸首”
成本归因,就是把总交易成本拆开,看看每个部分各占多少。这样你才能有针对性地优化。
我一般用这个框架:
总交易成本 = 显性成本 + 隐性成本
显性成本 = 佣金 + 税费
隐性成本 = 滑点成本 + 市场冲击成本 + 延迟成本
然后,我会计算每个部分的占比:
佣金占比 = 佣金 / 总交易成本
滑点占比 = 滑点成本 / 总交易成本
...
举个例子:
| 成本类型 | 金额(元) | 占比 |
|---|---|---|
| 佣金 | 50 | 5% |
| 印花税 | 100 | 10% |
| 滑点 | 300 | 30% |
| 市场冲击 | 400 | 40% |
| 延迟成本 | 150 | 15% |
| 总计 | 1000 | 100% |
从这个表能看出什么?市场冲击和滑点占了70%。说明你的订单太大了,或者流动性不够好。这时候就该考虑拆单或者换品种了。
注意:成本归因不是一次性的。市场环境在变,你的策略也在变。我建议每周做一次TCA,看看成本结构有没有变化。
4.4 知识体系图
下面这张图,是我自己总结的TCA知识体系。你看一眼就能明白各个成本之间的关系。
这张图把TCA的脉络理得很清楚。从上往下看,总成本拆成显性和隐性,再往下拆到具体项目。最后通过归因分析,找到优化的突破口。
我的经验:做TCA时,别只看数字。要结合市场环境看。比如市场波动大的时候,滑点和市场冲击会明显上升,这时候别急着改策略,先看看是不是市场本身的问题。
好了,这一章的内容就这些。记住一句话:交易成本不是小钱,它是你策略的“隐形对手”。算清楚它,你才能赚到真正的钱。
公众号:蓝海资料掘金营,微信deep3321