量化概念 10:交易成本(0.1% 怎么吃掉年化 20% 的"收益")

17 阅读 948 字 · 约 4 分钟
分类:投资 专栏:量化投资

回测里年化 20% 的策略,实盘可能只剩一半。中间差的那块,就是交易成本。它小到每笔只有百分之零点几,却像沙漏一样,一笔一笔把你的收益漏光。

交易成本:一次来回约 0.1%,换手越高吃得越狠

显性成本:账面上算得清的

  • 佣金:买卖双向收,券商定的,万 1~万 3 常见(比如万 2.5),每笔最低 5 元
  • 印花税:卖出单向收,万分之 5(0.05%),卖出才交
  • 过户费:双向收,十万分之 1(0.001%),金额很小

以 10 万本金算一次完整来回(买 + 卖):

  • 买入:佣金 25 元
  • 卖出:佣金 25 元 + 印花税 50 元 + 过户费 1 元
  • 合计约 101 元 ≈ 0.1%

这就是一次买卖的固定成本。看起来不多?往下看。

隐性成本:看不见的,往往更贵

  • 买卖价差:你买要买在卖一价,卖要卖在买一价——一来一回先亏一个 spread。小票、冷门票的价差可能 1% 以上
  • 滑点:预期价和实际成交价的差。T+1 开盘成交,跳空部分就是滑点——回测按 T+1 开盘价成交,等于已经算了一部分滑点进去
  • 冲击成本:单子大了,买入把价格推上去,卖出把价格压下来。小资金几乎无感,大资金绕不开

隐性成本最难量化,也最容易被忽略:回测里"按开盘价成交"看似严谨,实盘的大单在开盘那一刻就把价格推走了。

换手率是放大器

成本是按次数收的,所以换手率决定成本总额

  • 年换手 50 次(大约一周全换一次):50 × 0.1% = 5% 年化成本
  • 年换手 200 次:200 × 0.1% = 20% 年化成本

回测年化 20% 的策略:换手 50 次,扣完还剩约 15%;换手 200 次,成本正好等于收益——全白干。换手越高,成本越不是加法,是乘法。

还有一个容易踩的坑:最低 5 元佣金。只买 1000 元,佣金按 5 元收,占比 0.5%,一来回 1%+。小仓位、小资金用大票策略,光佣金就能做死——资金量小时,仓位拆得越碎越亏。

回测该怎么做

  • 逐笔扣费:每笔成交扣除佣金、印花税、过户费,用精确计算(我系统里就为了一分钱的舍入误差,把浮点换成了 Decimal)
  • 成交价用 T+1 开盘价:把跳空当滑点的一部分算进去
  • 最低佣金别忽略:小额交易时 5 元门槛占比很大
  • 大单要估冲击成本:策略容量——回测假设的价格,实盘的大单可能根本拿不到

小结

交易成本 = 显性(佣金/印花税/过户费)+ 隐性(价差/滑点/冲击)。单笔约 0.1%,看似不起眼,但换手率把它变成年化几个点到几十个点。回测不算成本的策略,收益是纸面的;逐笔扣费、把滑点算进去,曲线才是真的。