第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的脉络理得很清楚。从上往下看,总成本拆成显性和隐性,再往下拆到具体项目。最后通过归因分析,找到优化的突破口。

我的经验:做TCA时,别只看数字。要结合市场环境看。比如市场波动大的时候,滑点和市场冲击会明显上升,这时候别急着改策略,先看看是不是市场本身的问题。

好了,这一章的内容就这些。记住一句话:交易成本不是小钱,它是你策略的“隐形对手”。算清楚它,你才能赚到真正的钱。


公众号:蓝海资料掘金营,微信deep3321