← 返回首页

我把手续费和滑点算进回测后,14个策略当场去世7个:那个年化25%的明星策略,扣完成本只剩9%

💤 小Q · 2026-10-07 · 量化策略

我把手续费和滑点算进回测后,14个策略当场去世7个

先自首:我做了五年量化,直到上个月,我的一部分回测脚本里,交易成本还是个占位符——`commission=0`。 不是我不知道成本存在,是回测的时候总想着'先看信号质量,成本后面再加'。然后就没有然后了。 上个月写策略组合那篇文章,要统计7个策略的真实贡献,我第一次认认真真把成本三件套算进去重跑所有回测。跑完那天我盯着屏幕坐了很久,感觉自己前几年的部分研究,是在给券商打工。

成本三件套:很多人只算了三分之一

散户对成本的理解普遍停留在'佣金万2.5'。完整的成本清单至少有三层: 1. 显性费用:佣金(万2.5左右,但有5元最低消费!)+ 卖出印花税(现在降过一轮了,还是有)+ 过户费。这部分是明码标价,反而最简单。 2. 滑点:你看到的价格和你实际成交的价格之间的差。回测里默认按收盘价/信号价成交,实盘里你下单到成交之间价格已经走了。流动性差的票,一跳价是常事。 3. 冲击成本:这是最阴险的。你的单子本身会推动价格——买100万的小盘股,你的买单自己就把卖一档吃穿了。资金量越小越可以忽略,但'忽略'不等于'为零'。 我的建模方式很朴素:显性费用按真实费率算,滑点和冲击合并成每股固定+比例的组合,然后用我自己过去一年的真实成交记录校准——把每笔实际成交价和当时信号价对比,算出我自己的平均滑点。结果:大盘蓝筹平均滑点约0.08%,中小盘约0.19%,题材股最狠到0.35%。 这个校准很重要——网上抄来的滑点参数是别人的,你自己账户的滑点才是你的。

重跑回测:一份验尸报告

把成本参数灌进14个候选策略,逐个重跑。死亡名单如下(部分):
  • 双均线变体(快线10/慢线40):无成本年化11.8% → 含成本 2.1%。没死透,但也只剩口气了。罪魁祸首:年均换手14次。
  • 行业轮动周频版:无成本年化19.3% → 含成本 -1.7%。当场去世。每周调仓听起来勤奋,实际是每周给市场交一次租。
  • 明星动量策略(月频):无成本年化25.4% → 含成本 9.1%。命大没死,但腰斩再打折。它换手率不高(年3-4次), slain它的主要是单次冲击成本——它选出来的都是热门票,进去的时候滑点最贵。
  • 低波动月频组合:无成本10.2% → 含成本 8.6%。只掉1.6个点,全场最抗揍。原因简单到好笑:它一年只换手1.8次。
  • 统计完我算了下总的:14个策略,无成本版平均年化15.7%,含成本版平均6.9%。成本平均吃掉了快9个百分点的年化。不是误差,是鸿沟。

    换手率才是成本的总开关

    把14个策略画成散点图:横轴年换手率,纵轴'成本侵蚀的年化点数',相关系数0.93,几乎是线性关系。粗算下来,每多一次全年换手,大约付出0.55%-0.7%的年化成本(含双边费用+我的实测滑点)。 这个数字对散户特别有用,因为它给了个超简单的换算:看任何一个策略,先问一年换几次手。年换手20次的策略,成本先扣你12个点起步——它回测年化要是没有20%,你连看都不用看。 倒过来也是条纪律:任何'优化后回测提升X个点'的改进,先除以换手率换算成单次收益提升,再跟单次成本比。我之前好几次'参数优化让年化多了3个点',一算全是因为多交易了几次,多赚的信号还不够付路费。

    三个省钱土办法(都实测过)

    1. 给策略加'换手税'。在回测框架里,每次调仓强制计算本次交易成本,并把它从当期收益里扣掉——这不是新增功能,这是把欠的债还上。加了之后再做参数优化,优化器会自动倾向于低换手的参数组合,效果立竿见影:我的动量策略在成本约束下重优化后,年化只掉了1个点,换手率却从14次降到6次。 2. 信号缓冲区(buffer rule)。调仓时,新候选票和现有持仓的分数差距必须超过一个阈值才换,否则留着不动。我设的是0.2个标准差。就这一行代码,组合年换手从11次干到5次,年化反而升了——因为换掉的那些'边际改进',大部分本来就是噪音。 3. 拆单和避开开盘。实盘层面:不碰开盘前15分钟(价差全天最宽),大单拆成几笔在上午10点后和下午2点半前分批打。就这两个习惯,我自己校准的平均滑点从0.19%降到了0.13%。对年换手5次以上的策略,这就是白白捡回小半个点的年化。

    写在最后

    回测不看成本的策略研究,就像做饭不尝咸淡——你说它香它就香,端上桌才知道没法吃。 这次验尸最大的收获不是'知道了成本很贵'这种废话,而是一个心态上的转变:以前我追求'信号更准',现在我先追求'交易更少'。信号层面的提升以零点几个点计,换手率降一半就是实打实三个点。 散户最后的成本优势,就是我们可以不交易。机构做不到这一点,他们的规模和考核逼着他们动。我们手里最便宜的筹码,恰恰是'什么都不做'的自由。 当然,说这话的我,昨天还是手痒调了一次仓。 成本三件套,收我0.4%。记上了。
    量化策略交易成本滑点回测Python实战换手率小Q风格2026年10月