Skip to content

9.6 交易成本敏感性:成本一变策略就死?

课前导读

本节目标

你将学会:把交易成本从“细节”提升为策略生死线,检查一套回测结果是否经得起佣金、印花税、滑点和冲击成本的变化。 适合基础:已经知道资金曲线、回撤、胜率、盈亏比和风险调整收益的 A 股新手。 预计用时:约 40 分钟。 本节产出:完成一张成本敏感表,判断策略在成本升高时是仍有安全垫,还是很快死亡。

知识正文

1. 先用开小店理解交易成本

假设你开一家小店。

每卖出一件商品,毛利是 10 元。

听起来不错。

但你还要付房租、水电、包装、平台手续费和配送费。

如果这些成本合计 3 元,你还剩 7 元。

如果成本合计 9 元,你只剩 1 元。

如果成本合计 12 元,你卖得越多亏得越多。

交易策略也是这样。

回测里的毛收益,像是商品毛利。

佣金、印花税、滑点、冲击成本,像是小店的经营费用。

换手率越高,就像每天进出货越频繁,成本被放大的速度越快。

直觉提醒

低成本环境下赚钱的策略,不一定能在稍高成本下继续赚钱;真正稳健的策略要有成本安全垫。

2. 交易成本分成两类

第一类是显性成本。

显性成本是你能在规则或账单里直接看到的成本。

A 股常见显性成本包括佣金、印花税以及相关交易费用。

佣金通常和买卖金额有关。

印花税通常在卖出股票时产生,具体规则以当时市场制度为准。

这些成本相对容易写进回测程序。

第二类是隐性成本。

隐性成本不一定直接写在账单上,却会影响真实成交价格。

最常见的是滑点。

滑点是你想按某个价格成交,但真实成交价更差。

例如你计划 10.00 元买入,实际平均成交价是 10.03 元。

这 0.03 元就是买入端的价格损失。

另一个隐性成本是冲击成本。

当你的订单相对成交量较大时,自己的买卖行为可能推高买入价或压低卖出价。

对成交不活跃的小盘股,这个问题更明显。

3. 换手率:成本被放大的放大器

换手率可以先理解为“本金在一段时间里被交易了几遍”。

如果你有 10 万元本金。

一天买入 10 万元股票,第二天全部卖出,再换入另一批股票。

你的交易金额很快就会累积。

哪怕单次成本率看起来很小,重复很多次后也会侵蚀收益。

简化理解可以写成:

×

如果一个策略年换手 20 倍,单边综合成本每次 0.08%。

粗略成本拖累就是:

20×0.08%=1.6%

如果按完整买卖往返计算,成本还可能更高。

这就是为什么高频换仓策略必须特别重视成本。

低换手策略也要算成本,但安全垫通常更宽。

4. 成本敏感性要问什么

成本敏感性不是只扣一次手续费。

它要问的是:成本假设从低到高变化时,策略表现如何变化。

如果成本从 0.05% 提高到 0.10%,策略仍然盈利。

这说明它有一定安全垫。

如果成本从 0.05% 提高到 0.08%,策略就从盈利变亏。

这说明它的优势非常薄。

如果成本稍微提高,最大回撤立刻加深,夏普明显下降。

这说明策略可能依赖过于理想的成交条件。

回测陷阱

没有成本的回测,尤其是高换手回测,往往像没有房租的小店利润表,看起来美好但不真实。

5. A 股案例:一个高换手策略如何被成本吃掉

假设有一套 A 股短线策略。

它平均每笔交易毛收益为 0.30%。

每年大约做 180 次完整买卖。

先不考虑复利,只做直觉估算。

如果每次完整买卖成本是 0.05%。

单笔净优势约为:

0.30%0.05%=0.25%

如果每次完整买卖成本是 0.20%。

单笔净优势约为:

0.30%0.20%=0.10%

如果真实滑点和冲击成本让总成本达到 0.35%。

单笔净优势就变成:

0.30%0.35%=0.05%

策略从正期望变成负期望。

交易次数越多,这个负期望累积得越快。

这就是“成本一变策略就死”的含义。

不是所有策略都会死。

只有那些毛优势很薄、换手很高、成交假设很理想的策略,最容易被成本击穿。

6. 成本敏感表:把生死线画出来

下面是一张教学用成本敏感表。

假设策略每笔毛收益期望为 0.30%。

一年做 120 次完整交易。

为了简单,我们先用线性估算,不考虑复利。

完整买卖成本单笔净期望年度粗略贡献状态
0.00%0.30%36.0%理想环境
0.05%0.25%30.0%安全垫较足
0.10%0.20%24.0%仍可观察
0.20%0.10%12.0%优势变薄
0.30%0.00%0.0%接近死亡线
0.40%-0.10%-12.0%策略死亡

这张表的重点不是精确预测收益。

它的重点是观察斜率。

成本每提高一点,收益掉得快不快?

死亡线在哪里?

如果死亡线离当前假设很近,就要非常谨慎。

如果策略在保守成本下仍然有正期望,才值得继续研究。

7. 不同成本的来源要分别想

佣金通常比较稳定。

但不同券商、不同资金规模和不同交易安排可能不同。

印花税与市场制度有关。

回测时不要把它忘掉,尤其是卖出频繁的策略。

滑点和交易时段、委托方式、价格波动有关。

开盘、收盘、快速拉升或快速下跌时,滑点可能更大。

冲击成本和订单规模、股票流动性有关。

成交额小、买卖盘薄的股票,更容易被订单影响价格。

A 股里还要注意涨跌停导致的成交困难。

回测假设“信号出现就能成交”,有时会过于乐观。

本章不展开后续实盘执行细节。

但在回测评估阶段,你必须把这些成本以保守方式加入。

8. 用 pandas 做一个成本扫描示例

下面示例不需要真实外部数据。

假设我们已经有每笔交易的毛收益率和每笔交易的换手比例。

python
import pandas as pd

gross_returns = pd.Series([0.012, -0.006, 0.018, 0.004, -0.01, 0.021])
turnover = pd.Series([1.0, 1.0, 0.8, 1.2, 1.0, 0.9])

cost_levels = [0.0000, 0.0005, 0.0010, 0.0020, 0.0030]

rows = []
for cost in cost_levels:
    net_returns = gross_returns - turnover * cost
    total_return = (1 + net_returns).prod() - 1
    win_rate = (net_returns > 0).mean()
    rows.append({"cost": cost, "total_return": total_return, "win_rate": win_rate})

result = pd.DataFrame(rows)
print(result)

gross_returns 是扣成本前的每笔收益。

turnover 表示每笔交易相对本金的交易强度。

cost_levels 是不同成本假设。

循环里每次用毛收益减去成本拖累。

最后观察总收益和胜率是否随着成本上升快速恶化。

如果成本稍微提高,胜率和总收益都明显崩塌,这套策略需要重新审视。

9. 成本敏感性也要看回撤

成本不只降低收益。

它还可能改变资金曲线形状。

原本小赚的交易被成本扣成小亏。

原本打平的震荡期变成缓慢回撤。

连续交易越多,资金曲线越容易被成本磨损。

所以成本敏感表不应只看最终收益。

最好同时记录最大回撤、夏普或索提诺、胜率、单笔期望值。

例如:

成本假设总收益最大回撤简化夏普单笔期望
0.05%28%12%1.300.23%
0.10%20%15%0.950.16%
0.20%6%24%0.250.05%
0.30%-7%31%-0.20-0.04%

从这张表可以看到,成本升高后不只是收益下降。

回撤也在加深。

这说明成本会影响策略的整体风险收益质量。

10. 专业评估中的三重视角

从专业老师角度,成本是把理想模型带回现实的第一道门槛。

从投资者角度,成本决定了“频繁操作是否值得”。

如果每次买卖都只是为了赚很薄的一层差价,成本会让执行压力非常大。

从量化开发角度,成本敏感性是回测报告必须包含的压力测试。

不要只给一个成本参数。

要给一组成本参数。

不要只报告收益。

要报告收益、回撤、风险调整指标和期望值的共同变化。

当策略在保守成本下仍然稳健,才更接近可继续研究的系统。

交互实验室

练习 1:制作你的成本敏感表

请假设一套策略每笔毛期望收益为 0.25%。

一年做 100 次完整买卖。

请填完下面表格。

完整买卖成本单笔净期望年度粗略贡献你的判断
0.00%0.25%25.0%理想环境
0.05%请计算请计算是否仍有安全垫
0.10%请计算请计算优势是否变薄
0.20%请计算请计算是否接近死亡线
0.30%请计算请计算是否已经死亡

计算方法很简单。

单笔净期望等于毛期望减去完整买卖成本。

年度粗略贡献等于单笔净期望乘以交易次数。

参考结果如下。

成本 0.05% 时,单笔净期望 0.20%,年度粗略贡献 20.0%。

成本 0.10% 时,单笔净期望 0.15%,年度粗略贡献 15.0%。

成本 0.20% 时,单笔净期望 0.05%,年度粗略贡献 5.0%。

成本 0.30% 时,单笔净期望 -0.05%,年度粗略贡献 -5.0%。

练习 2:找出成本死亡线

请使用下面公式。

线

如果一套策略单笔毛期望只有 0.12%。

当完整买卖成本接近或超过 0.12% 时,它就非常危险。

如果一套策略单笔毛期望有 0.80%。

它对成本上升的承受能力更强。

请写下你正在研究的策略毛期望。

再写下你愿意使用的保守成本假设。

如果保守成本已经接近毛期望,请暂停乐观判断。

练习 3:给策略写一段成本结论

请用下面模板完成一句话。

“在成本为 ___ 时,策略年化表现仍为 ___;当成本提高到 ___ 时,收益降为 ___,最大回撤变为 ___。因此,这套策略对成本 ___。”

示例:

“在成本为 0.05% 时,策略年化表现仍为 24%;当成本提高到 0.20% 时,收益降为 5%,最大回撤变为 25%。因此,这套策略对成本较敏感,需要降低换手或提高信号质量。”

这个练习的重点,是把成本影响写成可复核结论。

不要只说“成本有影响”。

要说清楚影响从哪里开始变得危险。

核心复盘

知识清单

  • [ ] 交易成本包括佣金、印花税等显性成本,也包括滑点和冲击成本等隐性成本。
  • [ ] 换手率会放大成本,小成本在高频交易中也会变成大拖累。
  • [ ] 成本敏感性要观察成本从低到高时收益、回撤和期望值如何变化。
  • [ ] 毛优势很薄的高换手策略最容易被成本击穿。
  • [ ] 成本死亡线可以粗略理解为成本接近单笔毛期望的位置。
  • [ ] 回测报告应使用保守成本假设,而不是只展示零成本或低成本结果。

金句总结

“成本不是回测表格里的小数点,它可能是把正期望策略推成负期望的分界线。”

本文档仅供学习交流用途,不构成任何投资建议。股市有风险,入市需谨慎。