规则成文了,但它有没有正期望,你知道吗?
不知道。你只有猜测。猜测的办法是回测——而回测给不了你结论,只能给你倾向。
这一集讲最小可行的手工回测,以及它那必须先说清楚的边界。
第 38 集的 17 条规则里,有一条最核心:R4——你的买入触发条件。它决定你的方法有没有正期望。
验证它不需要编程。需要的是:行情软件、一张表、几个小时的耐心。以及最重要的——对结果边界的诚实。
先把回测能干什么、不能干什么钉死。
为什么"未来会不会有效"回答不了?因为回测的全部证据来自历史,而历史与未来的关系没有任何数学保证。这一集能做的,是把"历史证据"尽量收得干净,然后诚实地告诉你它值几分。
还有一件事要说在前面:手工回测很枯燥。两个小时翻 K 线,可能只记下十几个信号,中间没有任何刺激。它的回报是延迟的——省下的不是这几个小时,是几个月用真实资金给坏规则陪跑的时间。按这个口径算,它是全书性价比最高的几个小时的之一。
"挡纸"听起来笨,它是唯一能骗过你自己大脑的办法。具体做:
关键在最后一条:止损位必须在看到结果之前写下。你翻到下一屏看到"它跌了 6% 又拉回来了",这时再定止损,你定的就不是规则,是让这笔模拟"活下来"的数字。先写后看,顺序不能反。
还有一个小技巧:在表格里加一列"记录时间"。每记一行顺手填一下。如果某一行的记录时间比上一行晚了很多,说明你中途看过了后面的行情——这一行作废。
第 2 步的顺序要强调一次:先定时间窗,再找信号。
反过来做——"我记得 2019 年那波它涨疯了,从那时开始测"——就是从结果倒推样本。这种抽样方式测出来的任何结果都没有意义,因为你已经知道答案了。
手工回测绝大多数的错误,都发生在"挑样本"这一步。
还有一个口径问题:用前复权还是不复权?
用前复权——否则除权除息造成的价格跳空会被误判成"跌破止损"或"突破"。但要注意前复权的历史价格会随每次分红变动,所以回测记录里要写下复权基准日。
这是本集的数学核心,也是全书少有的几处需要算术证明的地方。
先算一个反直觉的事实:真实胜率恰好 50% 的规则,在 20 个样本里出现 14 次以上盈利的概率是多少?
用二项分布算:约 5.8%。
不看公式,用抛硬币来理解这个数字。
真实胜率 50% 的规则,等价于一枚两面均匀的硬币:每笔交易抛一次,正面算赢,反面算输。"20 个样本里赢 14 次以上",等价于"抛 20 次硬币,正面出现 14 次以上"。
你可以自己试。抛 20 次,连续 7 次同一面其实并不罕见——直觉觉得"应该总是一半一半",但短序列里的偏离很常见。数学答案是 5.8%:每 17 组"20 次抛掷"里,就有 1 组会出现 14 次以上同一面。
换回交易的语言:一个其实不赚钱的规则(真实胜率 50%),每做 17 次手工回测,就有 1 次会被误判为"赚钱的规则"。
这就是为什么不能只做一次回测就下结论,也是为什么第 37 集要求"样本不足 20 笔的规则不改"——小样本里,好坏都是浮动的。
也就是说:哪怕规则的真实胜率只有 50%(长期不赚不赔),每 17 次"20 个样本的回测"里,就有 1 次会看到 14 盈 6 负以上的漂亮成绩。小样本的好成绩,有相当一部分只是运气。
再看置信区间——样本量决定了你能"看清"多少:
这张图的意思,用一句话说:20 个样本测出的 60% 胜率,与真实胜率 40% 的情况完全不矛盾。
所以 20 个样本能做的,只有两件事:
它不能做的:确认正期望。哪怕测出漂亮的数字。
用第 38 集那条突破规则做一次完整回测。以下数据为示例。
| 项目 | 内容 |
|---|---|
| 规则 | R4:收盘突破 60 日高点且量 ≥1.5 倍 20 日均量;次日开盘买入;止损 −8%,目标 +16%(2:1);大盘当日跌超 2% 放弃信号 |
| 样本框 | 3 只同类主板股 × 2024-01 至 2025-12(24 个月,覆盖上/震荡/下行三段) |
| 信号数 | 27 次(其中 25 次已完结,2 次未完结剔除) |
| 市场状态占比 | 上行约 35%,震荡约 40%,下行约 25% |
25 笔已完结样本的统计:
| 指标 | 数值 | 怎么读 |
|---|---|---|
| 到目标 | 10 笔 | 每笔 +16% |
| 触发止损 | 15 笔 | 每笔 −8% |
| 胜率 | 40% | 10 / 25 |
| 期望(税前) | +1.60% | 0.40×16% − 0.60×8% |
| 期望(扣成本) | +1.51% | 减往返成本 0.088%(第 4 集) |
| 胜率 95% 置信区间 | [20.8%, 59.2%] | 保本胜率 33.3% 在区间内 |
怎么读这张表?三句话。
第一句:期望是正的(+1.51%)。这是个好倾向。40% 胜率高于 33.3% 的保本线,说明"盈亏比 2:1"的假设下,这套规则历史上每笔平均能赚一点。
第二句:但这个"正"不可信。胜率的 95% 置信区间是 20.8%—59.2%,保本线 33.3% 落在区间内。这意味着:真实胜率可能是 21%(此时期望明显为负),也可能是 59%(此时相当赚钱)——25 个样本分不出来。
第三句:所以正确的结论不是"这条规则能赚钱",是"这条规则没有在第一轮筛选中被淘汰,值得继续积累样本"。
只看总胜率 40%,看不出规律。把 25 笔按第 03 节的三段状态拆开:
| 市场状态 | 笔数 | 到目标 | 止损 | 胜率 |
|---|---|---|---|---|
| 上行段 | 9 | 5 | 4 | 55.6% |
| 震荡段 | 10 | 2 | 8 | 20% |
| 下行段 | 6 | 3 | 3 | 50% |
分组之后,一个在总表里完全看不见的结构浮出来了:震荡段是这条规则的坟场。
上行段 55.6%、下行段 50%,都不算差;唯独震荡段 10 笔里只赢了 2 笔。震掉它的不是"规则不行",是"规则的适用边界没写"——突破类规则在震荡段天然容易被假突破消耗,这在第 15 集讲市场状态时就埋了伏笔。
正确的处理不是扔掉整条规则,是给它加适用条件:
注意这个流程的完整闭环:回测 → 分组 → 发现结构 → 修改规则 → 下轮回测再验证。回测的价值不在第一次的数字,在分组对比里暴露的结构。
手工回测的角色是过滤器:
它的"通过",含义是"没有明显错误,值得继续观察";
它的"通过",从来不是"验证有效"。
手工回测的结果,会被三种偏差污染。每一种都要有对应的防御动作。
表现:只测记得的案例、从结果倒推时间窗、只测牛市段。
防御:样本框先写死(时间窗、标的、市场状态占比),写完才允许开始翻 K 线。中途改样本框=回测作废。
表现:你已经知道这段行情后来怎么走,这个"知道"会渗进每一次模拟决策——你会在模拟止损时手松(因为你知道后面会涨回来),模拟买入时手紧(因为你知道后面会跌)。
防御:挡纸法——翻到哪页,纸挡住之后的行情;严格只用"当时能看到"的数据(当时没发的财报,回测里就当不存在)。最有效的办法是找一个不知道结果的人帮你翻页,你只做记录。
手工回测比程序化回测更容易犯这个错,原因很直接:程序没有好奇心。程序模拟到止损位就记一笔 −8%,不会多看一眼后面的走势;而你在记完 −8% 之后,手指会不听话地往后翻——"看看它后来到底怎么样了"。
这一眼,就会污染接下来的判断。你会发现"其实它后来涨回来了",于是在给下一个信号定参数时,手会不自觉松一点。
对抗的办法除了挡纸,还有一个"冷处理"约定:每个信号记录完,合上表格,做点别的,再回来翻下一个。把"记结果"和"记下一个信号"在时间上隔开,污染的概率会小很多。
表现:样本全是今天还在交易的股票。2024—2025 年退市的那几十只,永远进不了你的样本——而它们恰恰是规则最严酷的考场。
防御:诚实标注"本回测存在幸存者偏差,实际期望应低于测得值"。彻底解决需要把已退市的标的也纳入样本,手工做不到——这也是手工回测的边界之一。
一张回测表至少这些列:序号、日期、标的、市场状态(上/震荡/下)、模拟买入价、止损位、结果(目标/止损/未完结)、盈亏幅度、备注。
"市场状态"这一列最容易被省略,但它是样本框占比检查的依据。第 41 集的整合也要用它。
把样本量的诚实阶梯摆出来,手工回测的位置就清楚了。
| 样本量 | 能说明什么 | 谁来提供 |
|---|---|---|
| 5 笔 | 什么都说明不了 | 无来源 |
| 20—30 笔 | 排除明显负期望;发现结构性问题 | 手工回测(本集) |
| 50—100 笔 | 方向性参考;胜率范围开始收窄 | 真实交易累积(第 40 集) |
| 300 笔以上 | 统计检验的下限 | 多年交易 + 系统化记录 |
所以正确的流程是:手工回测过滤 → 小仓位实盘运行 → 用第 40 集的资金曲线持续积累样本 → 每月复盘更新判断。
手工回测通过 ≠ 加大仓位。它通过的含义只是"允许你用正常仓位开始积累真实样本"。第 40 集会讲:真实样本累积到 50 笔之前,仓位都应该是保守值。
手工回测的时间投入,合理的上限在哪里?
总预算建议:5—8 小时,覆盖一条核心规则。超过这个投入,边际收益急剧下降——第 41 集会让你把省下的时间用在系统整合上。
记得哪段行情好就从哪段开始测。这样的回测是自我表扬,不是验证。
20—30 个样本的正期望,置信区间宽到能装下"真实负期望"。它的正确产出是"继续用保守仓位积累样本",不是加码。
测到一半觉得"这个止损太宽了",顺手改了再测——每次改动都让之前的样本作废。要么测原版,要么重新开始测新版。
回测的对象是规则,不是股票。为某一只你喜欢的股票设计回测,然后挑它表现好的参数——这叫拟合,不叫验证。
卷七最花时间的一次练习,建议分两次做完。
怎么看结果:
期望明显为负(扣成本后 −2% 以下):这条规则可以扔了,或者需要大改——这是回测最有价值的产出。
期望接近零或略正:正常结果。继续用保守仓位运行,让真实样本慢慢积累。
发现"某段市场状态全亏":结构性发现,给规则加适用条件(如"仅震荡段禁用"),下轮回测验证。
想测第二遍"确认一下":不要测同一批样本。要么扩样本框,要么等真实交易积累。
真实交易的样本在慢慢积累,怎么读它们?下一集讲资金曲线的四个读法:斜率、回撤、胜率的稳定性、盈亏比的漂移。以及一个反直觉的标准——一条好的资金曲线,不是"一直涨",而是"亏损的方式始终一致"。