← 返回博客列表

量化投资从入门到精通

【量化投资从入门到精通 #32】实盘与回测的鸿沟哪些是损耗哪些只是噪声

2026年08月22日 17:02 · 麦蕊智数 MyData

"回测赚钱实盘亏"是量化圈最著名的抱怨。这篇用 10 只标的的横截面实测,把这句话拆成可量化的两类

一、这个方法解决什么投资问题

回测和实盘的差距,通常被笼统归为"滑点"。但如果不分清楚,你就不知道该优化什么。

实测下来,差距可以分成性质完全不同的两类

  • 确定性损耗:每次都让你变差,方向单一,可以精算 —— 手续费、滑点
  • 随机噪声:有时好有时坏,方向不定,无法预测 —— 成交时点、排队位置

对前者,你要做的是降低换手;对后者,你要做的是不要被单次结果误导。把噪声当损耗去优化,是在浪费时间。

二、核心思想:逐层加约束,并做横截面验证

单只标的的结果可能是运气。所以本文用了两层验证:

  1. 纵向:在一只标的上逐层叠加约束,看每层的边际影响
  2. 横向:在 10 只标的上重复,统计"变差的比例"和"平均影响"

只有在 10/10 都变差的约束,才配叫"损耗"。

三、实操演示

if want != pos and at_open:
    # 开盘换仓:开盘前按旧仓位吃隔夜跳空,开盘后按新仓位吃日内
    r = pos * (o[i]/c[i-1] - 1) + want * (c[i]/o[i] - 1)
else:
    r = pos * (c[i]/c[i-1] - 1)
eq.append(eq[-1] * (1 + r))
if want != pos:
    eq[-1] *= (1 - (slip_bp + cost_bp)/10000.0)

真实输出(2026-08-06,京东方A 000725,MA(5,20),昨日信号今日执行,换手 12 次):

约束层级 累计收益
① 可执行基线(零成本) 36.78%
② + 滑点 万 5 35.96%
③ + 手续费 万 3 35.47%
④ + 改为开盘价成交(真实下单时点) 59.38%

换手是放大器(同一标的,万 8 全成本):

参数组 换手 零成本 全成本 成本吃掉
MA(3, 10) 30 58.14% 54.39% 3.75%
MA(5, 20) 12 36.78% 35.47% 1.31%
MA(10, 60) 4 33.35% 32.92% 0.43%

横截面(10 只标的):

约束 变差的标的数 平均影响
加成本(滑点万5 + 手续费万3) 10 / 10 −1.15%
改为开盘价成交 6 / 10 +1.58%

四、结果解读

第一个反直觉:改成开盘价成交,收益从 35.47% 涨到了 59.38%。

这看起来像"实盘比回测还好",但请不要高兴。横截面告诉你真相:10 只里只有 6 只变差,平均影响是 +1.58%——符号是正的、比例接近一半一半。这就是标准的随机噪声特征

000725 那 +23.9 个百分点,纯粹是这只票在这段时间的跳空运气,换个标的、换段时间就没了。如果你据此得出"应该改成开盘成交",那就是在拟合噪声——和 #28 讲的过拟合是同一个错误,只不过拟合对象从参数换成了执行细节。

第二个结论:成本是唯一 10/10 单向变差的约束。

平均 −1.15%,无一例外。这才是真正需要在回测里必须建模的东西。而且它可以精算:成本 ≈ 换手次数 × 单边费率 × 2。

第三个结论:换手率是成本的放大器。

同一只标的、同样的万 8 费率,换手 30 次吃掉 3.75%,换手 4 次只吃 0.43%——差 8.7 倍。所以降低实盘鸿沟最有效的手段不是找更便宜的券商,而是把策略做慢

综合起来,实盘鸿沟的正确应对姿势是:

差距来源 性质 对策
手续费 + 滑点 确定性损耗 回测必须建模;降低换手
成交时点(开/收盘) 随机噪声 不要优化它;用多标的验证消除影响
涨跌停无法成交 条件性约束 本样本期蓝筹未触发;小盘/妖股需单独建模
前视偏差 代码 bug 见 #04 / #26,结构上堵死

五、常见陷阱

  • 用单只标的下结论:本文若只看 000725 层④,会得出完全错误的结论。
  • 优化噪声:为"该用开盘还是收盘成交"纠结几天,不如把换手降一半。
  • 只怪滑点不看换手:滑点是单价,换手是数量,后者才是你能控制的。
  • 蓝筹经验套小盘:涨跌停、流动性约束在小市值股票上完全是另一个量级。
  • 忘了资金容量:本文全部按"想买就能买"建模,大资金还要考虑冲击成本。

六、小结 + 下篇预告

实盘鸿沟 = 确定性损耗(成本,10/10 变差、平均 −1.15%) + 随机噪声(成交时点,6/10 变差、平均 +1.58%)。前者必须建模并靠降换手压缩,后者靠多标的验证来免疫。

评价与风控层(#27–#32)到此收官。下篇 #33 进入因子层因子是什么——把"好公司/好走势"翻译成一个可以排序的数。

免责声明

本文为量化方法教学,标的为示例,费率为通用估算,不构成投资建议,不承诺收益。投资有风险,入市需谨慎。

标签: 因子数据
QQ 客服 3826425416 咨询时请提供证书号或订单号,便于快速处理
咨询