⚠ 交易存在重大亏损风险。本网站的所有内容仅供教育用途,不构成财务建议。
第 8 课,共 12 课 · 免费

成本、滑点与贴近现实的假设

为回测建立单笔交易成本模型,计算成本拖累和盈亏平衡成本,并用更高的滑点对系统进行压力测试。

作者: Moustafa Hijazi内容审核日期: 2026-10-30阅读约 5 分钟自学课程

你将学到什么

  • 哪些成本项目应纳入回测,以及如何按每次往返交易来表示它们
  • 如何计算一个系统的成本拖累和盈亏平衡成本
  • 在模拟中对市价单、止损单和限价单采用贴近现实的成交假设
  • 如何通过把滑点翻倍来对系统进行压力测试

讲解

订单簿如何产生点差、滑点和市场冲击,已在课程《订单簿、流动性与订单如何成交》中介绍。在这里,你要把这些影响转化为回测中的数字。

成本模型

一次往返交易是一笔完整的交易:入场加出场。对于每次往返交易,贴近现实的回测都要扣除:

  • 佣金:经纪商收取的费用,入场和出场时各收一次。
  • 点差:买价(bid,你卖出时的价格)与卖价(ask,你买入时的价格)之间的差额。如果你以卖价买入、以买价卖出,那么每一边支付一半点差,因此每次往返交易支付一个完整的点差。
  • 滑点:回测假设的价格与你实际获得的价格之间的差额,每一边都要计入。
  • 融资成本:差价合约(CFD)等杠杆产品的隔夜成本,以及外国品种的货币兑换费用(如适用)。

把所有项目都表示为头寸价值的基点(bp),其中 1 bp = 0.01%。这样就能比较头寸规模不同的系统。

成本拖累与盈亏平衡成本

每笔交易净结果 = 每笔交易毛结果 − 每次往返交易成本

成本拖累 = 每次往返交易成本 ÷ 每笔交易毛结果

盈亏平衡成本是使净结果变为零的每次往返交易成本;它等于每笔交易的平均毛结果。交易次数多、平均盈利小的系统,盈亏平衡成本很低,对成本模型中的误差非常敏感。一条有用的经验法则:如果贴近现实的成本吞掉了平均每笔毛结果的一半以上,这个系统的安全边际就很小。

贴近现实的成交假设

  • 不要在信号 K 线的收盘价交易,除非你真的能做到。如果信号使用的是日收盘价,更稳妥的假设是在下一根 K 线的开盘价加上滑点执行。
  • 止损单在触发时会变成市价单,因此要加上滑点;还要记住,跳空可能让你的成交价远远超出止损价。计划风险并不等于最大可能亏损。
  • 限价单:不要仅仅因为价格触及了你的限价就算作成交。更严格的规则是,价格必须穿过限价至少一个最小变动价位(tick,即最小的价格步长)。
  • 规模:如果你的订单相对于典型成交量较大,滑点就会上升。请让订单相对于平均成交量保持较小,或者按更高的成本进行建模。

压力测试

由于成本具有不确定性,请把成本翻倍(或把滑点翻倍)后再运行一次回测。稳健的系统仍会保持为正;脆弱的系统则会崩溃。把结果写进你的测试报告。

示例演算

假设示例:一个股票交易系统每年进行 120 次往返交易,平均头寸为 €10,000。每笔交易的平均毛结果为 +0.40%,即 €40。假设条件:佣金每边 €4,点差为头寸价值的 0.10%,滑点每边 0.05%。税费和货币兑换不计在内。

第 1 步,佣金:€4 × 2 = €8。

第 2 步,点差:0.10% × €10,000 = €10。

第 3 步,滑点:0.05% × €10,000 × 2 = €10。

第 4 步,每次往返交易的总成本:€8 + €10 + €10 = €28,即 28 bp。

第 5 步,每笔交易净结果:€40 − €28 = €12。成本拖累 = 28 ÷ 40 = 70%。

第 6 步,每年:毛结果 120 × €40 = €4,800;净结果 120 × €12 = €1,440。

把滑点翻倍至每边 0.10% 的压力测试:滑点 = €20,总成本 = €38,每笔交易净结果 = €2,每年净结果 = 120 × €2 = €240。

情景 每笔交易成本 每笔交易净结果 每年净结果
毛结果(无成本) €0 €40 €4,800
基准成本 €28 €12 €1,440
滑点翻倍 €38 €2 €240

盈亏平衡成本为每次往返交易 €40。基准情景只留下 €12 的余量,滑点估计中的一个小误差就几乎会抹掉全部优势。这个系统需要更少的交易、更大的平均波动或更便宜的执行。

常见错误

使用你见过的最低成本许多回测使用的是市场清淡时段显示的点差,或者只使用宣传中的佣金。真实的点差会在新闻前后、开盘时以及流动性较差的品种中扩大,而在快速行情中止损会出现滑点。请针对你的系统实际交易的时段和品种,使用典型的或略为悲观的成本,并始终进行成本翻倍测试。

练习活动

请在纸上完成:一个系统每年进行 60 次往返交易,头寸为 €5,000,每笔交易的平均毛结果为 €55。佣金每边 €5,点差为 0.08%,滑点每边 0.10%。(a) 计算每次往返交易成本、每笔交易净结果和每年净结果。(b) 在滑点翻倍的情况下重新计算。(c) 盈亏平衡成本是多少?

查看答案

(a) 佣金 €10 + 点差 €4 + 滑点 €10 = €24。每笔交易净结果 €55 − €24 = €31。每年净结果 60 × €31 = €1,860(毛结果 €3,300)。

(b) 滑点 €20,总计 €34,每笔交易净结果 €21,每年净结果 €1,260。

(c) 每次往返交易 €55,即平均毛结果。

局限性:这里把成本视为每笔交易固定不变;实际上它们会随波动率、交易时段和订单规模而变化,而且税费被忽略了。

要点总结

  • 对每次往返交易的佣金、完整点差、两边的滑点以及融资成本进行建模。
  • 把每笔交易成本与平均每笔毛结果进行比较;成本拖累高意味着系统脆弱。
  • 假设在下一根 K 线执行、止损有滑点,并对限价单采用严格的成交标准。
  • 始终用翻倍的成本进行压力测试,并报告两种结果。

下一步

在下一课中,你将把仓位规模规则纳入系统,并看看它们如何改变收益和回撤。

自测

回答问题后核对答案。你可以随意重试多次。

1. 一次往返交易的成本为佣金 €6、点差 €8 和滑点 €6。平均每笔毛结果为 €25。成本拖累是多少?

2. 你的系统信号使用的是日收盘价。在回测中,哪种执行假设最贴近现实?

3. 当 K 线的最低价恰好为 €50.00 时,回测应如何处理一张 €50.00 的买入限价单?

供您自行复习的自动自测。您的答案在浏览器中核对,我们不会查看或评估。这不是考试,也不是资格证书。

您的进度

“已完成”仅表示您将本课标记为已学完,并不是对您理解程度的测试。 学习进度和笔记仅保存在此设备的此浏览器中,而非账户中。