手工回测的抽样和标注规范
先决定要看哪些样本,再打开未来结果。
Snow 讲解 · 约 30 秒
先定抽哪几个,再揭开结果

先猜一下:想用手工翻图估计一个形态的胜率。下面哪种做法最靠谱?

- 规则先挑出20个候选。名单在看任何结果之前就冻结。
- 按固定间隔,每4个抽1个,抽到1、5、9、13、17号。
- 把未来遮住,甲乙两人照同一版规则,各自独立判断。
- 13号两人不一致。两份原判断都留着,按规则原文裁决。
- 揭开结果:抽到的5个里赢了2个,胜率四成。
- 要是看完20个结果,再挑5张最漂亮的,胜率就成了百分之百,这是假的。
第 1 / 6 步
要点
手工回测的样本由事先定好的名单和抽法决定,不由结果决定;判断时遮住未来,分歧和失败都留在表里。
搞混了会怎样:挑出来的截图个个漂亮,胜率看着很高,真按规则去做才发现一大半是亏的。
照着做
- 名单先冻结先写候选范围和抽样规则(固定间隔或固定随机种子),再打开结果。
- 遮住未来独立判断两人用同一可见截止和同一版规则各自标注,不互相看。
- 分歧留痕再裁决原判断不覆盖;按规则原文和当时可见的资料裁决,改定义就另开版本。
XRP:同一批事件,挑法不同,胜率差了一大截
XRP/USDT 日线 · 2022~2023 · 两年全部事件,一次列全
全部胜率 35.7%,事后挑的 10 个胜率 100%
被结果挑出来的样本,说明不了规则。
1全部算下来呢?
43 个事件,最后 1 个标签未完成不计;其余 42 个赚钱 15 个,胜率 35.7%,平均 −1.51%。
2抽一部分行吗?
名单冻结后每第 5 个取 1 个,抽到 9 个:胜率 44.4%,平均 +3.16%。和全部有差距是抽样误差,不能看着不顺眼就换一批。
3挑典型错在哪?
看完结果挑最赚钱的 10 个做截图:胜率 100%,平均 +11.55%。它们是被结果选出来的,只能说明挑法。
遇到了怎么做
- 先用规则把候选一次列全,写下抽样方法(例如每第 5 个),存档后再看结果。
- 标注时遮住事件之后的行情,只按当时可见的资料和规则版本判断。
- 交付时附上完整名单、抽样清单和排除日志,失败与不可判定都留着。
数据口径现货日线 · 收盘上穿 20 日均线为事件 · 次日开盘买、持有 5 天 · 买卖各扣 0.10%
事件:XRP 收盘从下方站上 20 日均线;标签:次日开盘买、持有 5 天、扣买卖各 0.10% 的净收益。日线看不到盘中先后和盘口,入场按开盘价、退出按收盘价,没算滑点。全部事件都列出来了,不是挑出的片段。行情为公开日线数据;事件与标签定义、手续费为教学假设。数字只说明抽样方法的影响,不代表这个规则的胜率会重复。
自测:换一组数字再算一遍
1. 候选有 30 个,名单冻结后每 6 个抽 1 个,会抽到几个?
2. 同一个样本,甲判「成立」、乙判「不成立」。按哪个算?
画面是教学示意,不是真实行情。看不懂的地方可以直接问:微信 xtony1992(备用 xtony1993)· 电报 @xtony1992
本节完整讲解概念图解 · 实战步骤 · 三种处理 · 真实行情演示 · 换条件复盘 · 行动卡 · 进阶
01先定抽哪几个,再揭开结果
手工回放很容易只记住图形漂亮、结果明显的交易。先列完整候选范围和抽样规则,例如每第 5 个合格事件或固定随机种子分层抽样,再把未来区域遮住,按当时信息填写判断。
留意两种抽法抽的都是 5 个,差别只在「什么时候看结果」。
教学示意 · 取自快速版按间隔抽:名单在看任何结果之前冻结,每 4 个抽 1 个。抽到谁,和它后来赚没赚无关。
事后挑:先看完 20 个结果,再挑 5 张「最典型」的。挑的理由里已经带着结果,胜率 100% 说明不了规则。
结论手工回测的样本由事先定好的名单和抽法决定,不由结果决定。名单和抽法先存档,再打开结果。
不得看到后续不理想,就把样本改成「其实不符合」。未成交、错过和失败都属于样本;完整抽样清单和排除原因应随结果交付。
留意不合规的三条有一个共同点:结果先出现,判断后出现。
1先用规则把候选一次列全,写下「每第 5 个抽 1 个」,存档后再看结果。
判断对了。再想想:这条合规。名单和抽法都在看结果之前固定了。
2翻历史图,挑 10 张最典型的来数胜率。
判断对了。再想想:这条不合规。「典型」是看过结果才挑出来的,胜率会被高估。
3抽到的样本后来亏得很惨,重看一遍图,改判成「其实不符合规则」。
判断对了。再想想:这条不合规。不得看到后续不理想就把样本改成不符合。要改规则就另开版本,旧判断不删。
4标注时把事件之后的行情遮住,只看当时能看到的部分。
判断对了。再想想:这条合规。遮住未来,判断才只用当时的信息。
5两个人意见不一致,按后来赚钱的那一方算。
判断对了。再想想:这条不合规。收益不能替模糊规则投票。按规则原文和当时可见的资料裁决。
6一个样本数据缺了一天,判不了,记「不可判定」留在表里,写明原因。
判断对了。再想想:这条合规。不可判定也是样本,连同原因留在排除日志里。
已判断 0 / 6 条,判断对 0 条。
结论先冻结名单和抽法,再遮住未来独立判断;失败、分歧和不可判定都留在表里。
从图形直觉转成规则、做少量人工研究或建立标注数据集时。
02实际做研究时,按什么顺序做:冻结抽样名单、遮挡未来独立判断、保留分歧并裁决
- 冻结抽样名单
样本选择不能依赖后续表现。
- 遮挡未来独立判断
记录可见截止与规则版本。
- 保留分歧并裁决
更改定义后另开版本,旧判断不删除。
第三步最容易走样。下面是 5 个候选、两位标注者的记录。
留意E3 的分歧,最后改的是规则的写法。
教学示意| 候选 | 甲 | 乙 | 处理 |
|---|---|---|---|
| E1 | 成立 | 成立 | —一致一致,照记 |
| E2 | 不成立 | 不成立 | —一致一致,照记 |
| E3 | 成立 | 不成立 | —定位含混:「收盘确认」指哪一根?按规则 v2 原文裁决,两份原判断保留 |
| E4 | 不明 | 不明 | —两人都看不清:资料缺了一天记不可判定,写进排除日志 |
| E5 | 成立 | 成立 | —一致一致,照记 |
1 原始判断:甲乙用同一个可见截止、同一版规则,各自独立判断,不互相看。5 个里 E3 两人不一致,E4 两人都判「不明」。
2 定位含混:E3 的分歧出在规则里「收盘确认」没写清是哪一根收盘。E4 是资料本身缺了一截。分歧暴露的是规则语言的问题。
3 裁决留痕:两份原判断都不删。把「收盘确认」写清楚,记成规则 v2,按 v2 原文和当时可见的资料裁决 E3;E4 记不可判定,写进排除日志。裁决时不看后来谁赚了钱。
结论手工标注的价值是发现规则语言里的含混,并不因为是人工就更接近真相。裁决表记下依据、版本和当时可见的资料。
从历史截图中挑十张最漂亮的例子来估计胜率。
03标注分歧的三种处理
04真实行情演示:PEPE 一整年的名单,5 个候选、两位标注者的分歧怎样处理
前面是教学示意。这里用 PEPE 2025 年的真实日线,把四步完整走一遍:名单冻结、每 5 取 1、遮住未来两人标注、最后揭开结果。
留意21 号是 5 个里唯一赚钱的,两个人却都判它「不成立」。要不要回头改判?
1 名单冻结:规则写死:前一天收盘不高于 20 日均线、当天收盘站上。2025 年全年一次列全,共 22 个候选,按日期编号。这一步不看任何结果。
2 每 5 取 1:从 1 号起每 5 个取 1 个,抽到 1、6、11、16、21 号。抽法在看结果之前写进存档;抽到哪个,和它后来涨跌无关。
3 遮住未来,两人标注:规则原文是「站上后次日确认」。甲读成次日收盘仍在均线上方,乙读成次日收盘高于站上那天。只看到确认日为止,6、16 号两人不一致,照原判断记下。
4 揭开结果:抽中的 5 个里只有 21 号赚钱(+43.49%),而它恰好是两人都判「不成立」的那一个;16 号分歧,−13.56%。全部 22 个里赚钱的 7 个。样本少,和全部有差距是正常的抽样误差,不能因为看着不顺眼就换一批。
| 抽中的候选 | 甲:次日收盘仍在均线上 | 乙:次日收盘高于站上那天 | 5 天结果 |
|---|---|---|---|
| 1 号 · 1月2日 | 成立 | 成立 | 遮住−9.41% |
| 6 号 · 4月12日 | 成立 | 不成立 | 遮住−2.88% |
| 11 号 · 7月2日 | 成立 | 成立 | 遮住−1.79% |
| 16 号 · 8月22日 | 成立 | 不成立 | 遮住−13.56% |
| 21 号 · 12月28日 | 不成立 | 不成立 | 遮住+43.49% |
真实行情:PEPE/USDT 日线,现货公开历史数据(UTC)。挑出的片段,不代表概率,不承诺收益。2025 年全年日线,满足规则的 22 个候选按日期全部列入名单(只进统计,不画K线);图里的 5 个小图是按「每 5 取 1」抽中的样本,各画站上前 14 天到结果结束;结果 = 次日开盘买、持有 5 天收盘卖、买卖各扣 0.10%,为教学定义,未计滑点。PEPE 价格很小,小图不标价位。
结论不改。判断只看当时能看到的资料和规则原文。每 5 取 1 的 5 个,平均 +3.17%,和全部的 +0.41% 有差距,是 5 个样本的抽样误差;看完结果挑的 5 个平均 +36.91%,那是被结果选出来的,说明不了规则。
05换一个条件,再检查判断:两个标注者不一致,是不是应该取更赚钱的版本
把抽样和标注放回三个时点:抽样之后、标注分歧、交付。
留意三次选择里,错的做法都在让结果回头改动样本或判断。
情景取自图 5 的 PEPE 名单;评价只看当时的信息,不看后来涨跌。
每 5 取 1 抽到 5 个,揭开后 4 个亏钱。全部 22 个里其实有 7 个赚钱。
这批样本要不要换?样本少和全部有差距是正常的抽样误差,不能因为看着不顺眼就换一批。
想要更稳的估计,就事先定好「每 3 取 1」或全量,再做一次,而不是挑。
漂亮截图不是完整手工回测。
提示:抽法是在看结果之前定的。 选一支,三支的后果都会画出来。
16 号甲判成立、乙判不成立。揭开后它亏了 13.56%。
按谁算?收益不能替模糊规则投票。21 号就是反例:乙的读法也把唯一赚钱的那个判掉了。
更改定义后另开版本,旧判断不删除;v2 要对全部名单重判,不只改这一个。
剔除理由不由结果倒推;删掉分歧,就错过了修规则的机会。
提示:裁决依据是事前定义与当时可见的资料。 选一支,三支的后果都会画出来。
你要把这次手工回测交给同事复核。
交哪些文件?完整抽样清单和排除原因应随结果交付。
第 4 步要交付的内容,一样不少。
没有名单和抽法,别人没法确认这 5 个不是挑出来的。
提示:失败和不可判定也是样本。 选一支,三支的后果都会画出来。
你走过的路径
评价依据是当时的信息,不看事后涨跌。
结论名单和抽法不因结果改,分歧按规则原文裁,交付时把名单、判断、裁决和排除日志一起交。
两个标注者不一致,是不是应该取更赚钱的版本?
不能,裁决依据是事前定义与当时可见证据;收益不能替模糊规则投票。
手工回测同时保存抽样清单和排除日志。
06把本节方法留给实战
照图 1 先定名单和抽法,照图 3 让两个人遮住未来独立标注,照图 5 按步骤揭开结果。下面四栏填完,就是一份别人能从头重做的手工回测说明。
需要时再写自己的行动卡(可选)
07再往深处想一步
展开:两种读法,谁更赚钱不能决定谁对
换个条件再问:两个标注者不一致,是不是应该取更赚钱的版本?不能,裁决依据是事前定义与当时可见证据。把图 5 的两种读法放到全部名单上各算一遍,更容易看清这个诱惑。
留意看完这张图再选「乙的读法」,就是用 22 个样本的结果给规则投票。
真实行情:PEPE/USDT 日线,现货公开历史数据(UTC),满足规则的 22 个候选全部都算、不挑。全部样本照实统计,只说明这段历史,不代表概率,不承诺收益。2025 年全年日线;两种读法与持有 5 天的结果都按事先写死的定义逐一计算。
结论读法要在看结果之前按规则的意图定下来;如果看完结果才改,改后的版本需要另一段没看过的数据重新验证。
标注规则需要可操作的定义:什么叫确认、哪根收盘算触发、哪个时点失效。分歧多的地方,就是规则该改写的地方;改写以后另开版本,对全部名单重判,而且要在另一段没看过的数据上检验,才谈得上这版规则更好。
想再想一想?展开问题与笔记(可选)
翻出你收藏的某个形态的「经典案例」截图:它们是怎么来的?如果按固定间隔从全部候选里重新抽一次,你估计胜率会变成多少?
笔记仅保存在当前浏览器展开参考思路
先用文字把形态写成能列候选的规则,在一段完整的历史里一次列全,事先写好「每第 N 个抽 1 个」,遮住未来后再判断。把重新抽样得到的胜率和收藏截图给你的印象并排写下来,差距就是挑选带来的偏差。