回测年化 35%、最大回撤 12%——若这组数字是在零佣金、零滑点、无限流动性下算出来的,它对实盘的参考价值要打折扣。对个人 A 股研究者而言,成本不是「专业机构才要考虑的细节」,而是决定策略能不能做的硬约束:同样的金叉策略,持有 weeks 与隔日换手,对成本的敏感度可以差一个数量级。

更隐蔽的问题是:很多人知道「该算佣金」,却在对比两个策略版本时,一个带成本、一个不带——结论自然失真。本文专门讲 A 股回测里佣金与滑点该怎么设、怎么验,以及它们与后复权、单账户最大持仓如何一起构成可信回测。示例来自 LemonPicking;原则适用于任何严肃的历史模拟。


一、零成本回测为什么系统性虚高

回测引擎在「买入 / 卖出」时若不计费用,会发生两件事:

  1. 1. 每笔交易少扣一块固定成本——复利累积后,长区间收益曲线整体上移。
  2. 2. 高频策略被美化得更厉害——交易次数 N 越大,少扣的成本 ≈ N × 单次成本。

典型敏感度(直觉表):

策略风格年化换手(粗估)对成本敏感度
趋势持有(月级)中等——成本会压低收益,但未必改变「做不做」
swing(周级)较高——夏普与胜率可能明显下移
短线 / 信号密集(日级)极高——零成本「能赚钱」、加成本后变亏,并不罕见

因此:不是「所有回测都要精确到分」,而是——你的策略越爱换手,越必须先对齐成本,再讨论 alpha。


二、A 股个人投资者:佣金与滑点是什么

1. 佣金(Commission)

A 股普通账户常见结构(各券商略有差异,以你实际交割单为准):

  • 佣金:买卖双向收取,常见约 万分之 2.5(0.025%)量级,有最低 5 元门槛;
  • 印花税卖出时收取,目前 commonly 千分之 0.5(0.05%)——只在一侧,回测里应体现在卖出腿;
  • 过户费等:相对较小,个人回测可并入佣金或忽略,但要知道存在。

个人研究简化做法:在回测工具里设一个综合佣金率(或买卖分开设),先覆盖「佣金 + 卖出印花税」的大头,再按实盘交割单调优。

2. 滑点(Slippage)

滑点是「意图成交价」与「实际成交价」的偏差:

  • – 日线回测常用假设:信号当根收盘确认下一根开盘价成交,再叠加 ±x% 滑点
  • – 流动性差的小票、开盘跳空、追涨买入,实滑点往往大于大票;
  • – 涨跌停买不到,是另一类「执行滑点」——涉及打板时走未复权专项模块,与常规后复权回测分开讨论。

滑点不是「越保守越好」:设得离谱会把所有策略都打死;目标是与你的标的池与下单习惯同量级,并做敏感性分析(见第五节)。


三、在 LemonPicking 里配置成本假设

回测配置:佣金率、滑点与成交规则
回测配置:佣金率、滑点与成交规则

LemonPicking 历史回测支持可配置的佣金率与滑点,并与下列口径绑定:

项目默认 / 推荐理解
价格后复权(常规趋势 / 指标策略)
信号确认当根 K 线收盘确认
成交下一根开盘价 ± 滑点
费用每笔按配置的佣金率扣除

配置时建议:

  1. 1. 先填「实盘同量级」:例如佣金万分之 2.5–3,滑点 0.1%–0.2%(按你的券商与下单方式调整)。
  2. 2. 再跑一遍「加压 2× 成本」:滑点或佣金翻倍,看策略是否仍为正期望——稳健规则对成本不应「一碰就碎」(除非本身就是超高频)。
  3. 3. 与策略周期匹配:分钟线、隔日策略比月线策略更需要严成本。

四、跑回测:看成本如何改变结论

历史回测:同一策略在不同成本假设下的收益对比
历史回测:同一策略在不同成本假设下的收益对比

建议固定变量、只改成本,做 A/B 对比:

同一策略 SDL → 同一区间 → 同一标的池
  仅改变:佣金率 / 滑点
对比:年化、夏普、最大回撤、交易次数

1. 批量单标的 vs 单账户

模式成本影响的可视方式
批量单标的看平均收益、胜率分布——成本拉高后,多少比例个股仍赚钱
单账户交易模拟最大持仓与仓位比例——信号多、换手高时,单账户曲线对成本更敏感

批量曲线「每只独立满仓」会低估资金约束下的换手压力;单账户 + 成本一起开,才接近「一个真实账户反复买卖」的账单。

2. 短线策略的红旗

若出现以下现象,优先怀疑成本与执行假设,而非急着改指标:

  • – 零成本年化 20%+,加 realistic 成本后变个位数或负;
  • – 交易次数数百次/年,但滑点设为 0;
  • – 回测按收盘价成交,而非次日开盘。

五、敏感性检验:三步判断「结果还能不能信」

第 1 步:基准成本——按交割单设佣金 + modest 滑点,跑完整区间。

第 2 步:加压——佣金或滑点 ×1.5~2,记录收益与回撤变化。

第 3 步:判断

现象解读
加压后收益下降,但仍为正、回撤可接受成本敏感但可能仍可做
加压后由盈转亏策略 edge 可能过薄,或换手过高
几乎不变要么交易很少,要么成本项未真正生效——检查配置
动画复盘:核对成交假设与买卖频次
动画复盘:核对成交假设与买卖频次

动画复盘辅助判断:买卖点是否集中在跳空开盘、是否「信号过密导致理论成交次数不 realistic」——数字问题往往在图上一目了然。


六、成本不是孤立的:与复权、筛选、持仓一起对齐

回测模式:批量单标的与单账户交易模拟
回测模式:批量单标的与单账户交易模拟

可信回测是一篮子假设同时成立,而非只改佣金:

  1. 1. 后复权——均线/MACD 类策略与成本假设配套;打板走未复权专项,勿混比。
  2. 2. 筛选只用入场信号——评估「信号频率」时,出场不影响选股命中;高频入场 + 短持有 → 成本敏感↑。
  3. 3. 单账户最大持仓——同一天 20 个买入信号、最多买 5 只,实际换手低于「理论全买」,单账户曲线才是实盘参照。
  4. 4. 可视化 AND / SEQUENCE——收紧入场降低换手,有时比「零成本回测里硬跑高频」更务实。

系列前文(回测可信度自检、信号降噪)与本文互补:口径 → 成本 → 资金约束 → 复盘,顺序不要跳。


七、实操清单:A 股成本假设 6 步

  • 查最近交割单,确认佣金与印花税口径
  • 回测中填入同量级佣金率,滑点从 0.1% 起试
  • 确认成交规则:收盘确认、次日开盘 ± 滑点
  • 零成本 vs 基准成本 vs 加压成本,各跑一遍
  • 单账户 + 最大持仓,与批量结果交叉看
  • 动画复盘核对:高频交易是否「看起来就不像能手工执行」

八、常见误区

  1. 1. 「佣金才万分之几,可以忽略」

忽略的是比例,累积的是次数。换手 × 次数 = 总成本。

  1. 2. 只算佣金不算滑点

开盘价成交 + 追涨,实滑点常大于佣金本身。

  1. 3. 用零成本挑策略,用有成本给实盘找借口

版本对比必须在同一成本假设下进行。

  1. 4. 成本对齐了,却用后复权打板逻辑或未复权趋势逻辑

口径错一层,成本对齐也救不了结论。


结语:成本假设是回测的「诚实度开关」

回测不计佣金和滑点,不是「稍微乐观一点」——对换手型 A 股策略,往往是从「能做」到「不能做」的分水岭。把佣金率、滑点设成可配置、可加压、可与单账户约束联动的参数,比追求一条零成本漂亮曲线更接近真实研究。

若你希望在同一工具里对齐后复权、可配成本与单账户模拟,可走通「配置 → 回测 → 复盘」闭环,了解 LemonPicking(零代码 A 股量化):策略与结果本地保存,A 股日线开箱可用;专业版支持更长历史、分钟线与参数寻优。

下载与说明见产品页:
https://www.zpyztech.com/product/lemonpicking/


免责声明: 本文仅作量化研究方法与软件使用说明,不构成任何投资建议。历史回测不代表未来表现,请独立判断并自行承担交易风险。

建议标签: A股 回测 佣金 滑点 交易成本 量化回测