第三章 交易成本分析:显性成本与隐性成本

做算法交易,说白了就是在跟成本赛跑。

我刚开始入行那会儿,总觉得策略能跑赢市场就行。直到有一次,一个看起来年化收益20%的策略,实盘跑了一个月,最后算下来净收益不到5%。嗯,那15%去哪了?全被成本吃掉了。

今天我们就来拆解一下,交易成本到底由哪些部分构成,以及怎么量化它。

3.1 显性成本:看得见的“硬支出”

显性成本,就是交易所、券商明码标价收你的钱。这部分没什么花头,但很多人会忽略细节。

3.1.1 佣金

佣金是券商收的服务费。国内A股市场,佣金一般是万分之2.5到万分之3,但可以谈。我见过一些机构客户,佣金能压到万分之1.2。

这里有个坑:最低佣金限制。很多券商规定单笔佣金最低5元。你想想看,如果你只买1000块钱的股票,按万分之2.5算,佣金才0.25元,但实际要收5元。这成本直接翻了20倍。

避坑指南: 我曾经有个学员,做高频小单交易,一个月下来佣金支出比预期高了3倍。后来一查,全是“最低5元”闹的。如果你的策略涉及大量小单,一定要选免5的券商。

3.1.2 印花税与过户费

印花税是交给国家的,目前A股是卖出时收万分之5。过户费是交给中登公司的,万分之0.1。

这两项是硬性规定,没法省。但你可以通过调整交易频率来控制。我个人习惯,做日内交易时会特别关注印花税,因为一天来回几次,印花税就叠上去了。

费用类型 费率 收取方向
佣金 万分之1.2~3 买卖双向
印花税 万分之5 仅卖出
过户费 万分之0.1 买卖双向

3.2 隐性成本:看不见的“软刀子”

隐性成本才是真正考验算法交易水平的地方。我见过太多人,策略回测时收益漂亮,一上实盘就崩,问题基本都出在隐性成本上。

3.2.1 冲击成本

冲击成本,说白了就是你的订单把价格打偏了。

举个例子:你想买100万股某只股票,当前卖一价是10.00元。你一个大单砸下去,卖一被吃掉,卖二、卖三的价格越来越高。最后你的平均成交价可能是10.05元。这多出来的0.05元,就是冲击成本。

为什么会这样?因为市场深度不够。你想想看,一个流动性差的股票,可能卖一到卖五总共才挂了10万股。你100万股的订单,直接就把价格推高了。

量化公式:
冲击成本 = (实际成交均价 - 决策价格) × 成交数量
或者用百分比表示:冲击成本率 = (实际成交均价 - 决策价格) / 决策价格 × 100%

我在项目中遇到过一只小盘股,流动性极差。我们当时用TWAP拆单,每5分钟发一笔。结果发现,只要我们的订单一出现,价格就跳一下。后来我们改成VWAP,把订单集中在成交量大的时段,冲击成本才降下来。

3.2.2 延迟成本

延迟成本,就是“等”出来的损失。

你下单的时候价格是10.00元,但等订单到达交易所,价格已经变成10.02元了。这0.02元就是延迟成本。

延迟成本跟你的交易系统速度直接相关。我做过测试:

  • 普通散户的网速:延迟约50-100毫秒
  • 专业机构的专线:延迟约5-10毫秒
  • 交易所机房的托管服务器:延迟小于1毫秒

你想想看,在行情剧烈波动的时候,1毫秒的延迟可能就意味着几万块的差价。

我的建议: 如果你的策略是高频交易,一定要考虑服务器托管。如果是中低频策略,延迟成本的影响相对较小,但也不能完全忽视。我一般会在回测中加一个5-10毫秒的延迟模拟,看看策略的鲁棒性。

3.2.3 机会成本

机会成本是最容易被忽略的。它指的是:你因为没成交而错过的收益。

比如你挂了一个10.00元的买单,结果价格最低只到10.01元,你的单子没成交。然后股价一路涨到10.50元。你不仅没赚到,还错过了这0.49元的涨幅。

机会成本在算法交易中特别重要。很多拆单策略为了降低冲击成本,会把订单拆得很碎,结果导致部分订单没成交。这时候你就要权衡:是承受冲击成本,还是承受机会成本?

3.3 如何量化总成本

好了,现在我们把所有成本加起来。总成本的公式很简单:

总成本 = 显性成本 + 隐性成本

显性成本好算:佣金 + 印花税 + 过户费

隐性成本需要估算:冲击成本 + 延迟成本 + 机会成本

我一般用这个公式做实盘前的成本预算:

总成本率 = 佣金率 × 2 + 印花税率 + 过户费率 × 2 + 冲击成本率 + 延迟成本率 + 机会成本率

举个例子:

  • 佣金率:万分之2.5(双向)
  • 印花税率:万分之5(单向)
  • 过户费率:万分之0.1(双向)
  • 冲击成本率:万分之3(根据历史数据估算)
  • 延迟成本率:万分之1(根据系统延迟估算)
  • 机会成本率:万分之2(根据未成交比例估算)

总成本率 = 0.025%×2 + 0.05% + 0.001%×2 + 0.03% + 0.01% + 0.02% = 0.157%

也就是说,每交易100万,成本大约是1570元。如果你的策略年化收益只有5%,那成本就吃掉了将近三分之一的利润。

核心观点: 做算法交易,成本控制能力就是你的核心竞争力。一个能精确量化并优化成本的交易员,比一个只会写策略的交易员,价值高十倍。

3.4 知识体系总览

下面这张图,把交易成本的构成和量化逻辑梳理清楚了。我建议你保存下来,每次做策略回测前都对照着看一遍。

交易成本分析框架 总交易成本 显性成本 隐性成本 佣金 印花税 过户费 冲击成本 延迟成本 机会成本 量化总成本 总成本 = 显性成本 + 隐性成本 = 佣金+印花税+过户费 + 冲击+延迟+机会

这张图把整个成本体系串起来了。你从总成本出发,左边是显性成本,右边是隐性成本,下面是怎么量化。每次做策略之前,先对着这张图把成本算一遍,能帮你避免很多坑。

实战技巧: 我习惯在回测代码里加一个成本模块,把显性成本和隐性成本都算进去。这样回测出来的收益才是真实的。别等到实盘了才发现成本超预期,那时候就晚了。

好了,交易成本这块我们就聊到这。记住一句话:控制成本,就是创造收益。下一章我们会讲具体的拆单策略,到时候你会看到,好的策略本质上就是在各种成本之间做权衡。


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