TradeLearn|1469学交易 trade1469.com
简
第 04 章目录 · 10 节本章产物:可证伪观点改写模板
第 04 章 第 9 节·约 16 分钟

可证伪和回测是什么关系?回测检验的到底是哪一句话

先写下你的第一反应 · 30 秒

你找到一个规则,拿过去八年的行情回测,每年都赚。这份回测证明了什么?写一句话就行。

只存在你自己的浏览器里。学完这节,课末会把它拿出来跟你对一下。
Snow
本节结论

回测检验的是一句写死的规则:哪个品种、哪段时间、怎么进怎么出、扣多少成本,在过去那段数据上表现怎样。它不检验你对行情的看法,也不检验明年。能回测,前提是这句规则每一步都能让机器判。跑之前先写好「什么结果算它失败」,再留一段数据先不看,最后只考一次。看完结果再回头改规则,就是在打补丁。

小白理解:跑回测之前,本子上先写三行:规则原话、什么结果算它失败、哪段数据先不看。三行没写完,先别跑。

一
回测考的是谁

回测检验的是一句规则,不是你的看法

「原油跌多了会反弹」,这是看法。它没法回测:跌多少算多?弹多少算弹?几天之内?机器不知道怎么判,你自己判,到时候又总能判成对的。

把它写成规则:原油期货日线,收盘连着 5 天比前一天低,第二天开盘买进,买进那天算第 1 天,拿到第 20 天收盘卖出;同一时间只拿一笔;每笔来回扣 0.1% 的成本。这句话每一步都能让机器判,十个人跑出来是同一个结果。这就是 04.03 讲的判卷测试,换成了规则的样子。

回测跑的就是这句话。它赚了,说明的是「这句规则在这段数据上、扣这个成本,没亏」;它说明不了「原油跌多了会反弹」这个看法对,那几年原油要是一路涨,随便哪天买都赚。它亏了,也只说明这一句不行,看法可能只是没写好。

回测检验的那一句话,拆开是五样示意
品种 原油期货日线 时间段 2010~2017 年 进出规则 连跌 5 天,次日开盘买 拿到第 20 天收盘卖 成本 每笔扣 0.1% 失败标准 事先写好 什么结果算它错 不在这句话里:你对原油的看法、明年会怎样 回测对这两样一个字也没说

读图:五样写全,回测才知道该算什么、算完怎么判。最常漏的是金色那格:没写失败标准,跑出什么结果你都能说「还行」。

机器怎么判一笔:2012 年 5 月原油期货日线

读图:5 月 2 日到 8 日连着五天收盘一天比一天低,8 日收在 97.01。规则 9 日开盘按 97.38 买进,拿到第 20 天,6 月 6 日收盘 85.02 卖出,这一笔扣完成本亏了一成二多。规则不挑好坏,回测里每一笔都这么判,亏的也照记(示范规则,不是买卖建议)。

二
先写判卷标准

失败标准写在跑之前,再留一段先不看

回测最常见的样子:先跑,看结果,再决定这个结果「算不算好」。年化一成,说「还行」;亏了,说「这几年行情特殊」。怎么跑都能找到说法,这份回测就变成了 04.06 的万能解释。

所以顺序要倒过来。跑之前写好:什么结果算这句规则失败。比如「扣成本后每笔平均不到 0,或者不如同期随便哪天买进、拿同样天数的平均,就算失败」。后半句是比较基准(手册 t3-21 讲过):原油要是那几年整体在涨,随便买都赚,规则得比随便买好,才算它自己的本事。

再把数据切成两段。前一段叫样本内,随你试参数、挑最好的;后一段叫样本外,锁起来,挑完以后只跑一次,跑完不改。样本外就是这句规则的考场。

先写标准,再挑参数,最后考一次示意
第 0 步 写好失败标准 样本内 2010~2017 随便试,挑出最好的一组 样本外 2018~2025 锁住,只考一次 考完再改参数:样本外被你看过,就变成了样本内

读图:左上那一格要最先写。右边那一段的价值只有一个:它没参与挑选。你只要按它的结果改过一次规则,它就不再是考场。

推演:样本内挑出的冠军,放到没看过的八年原油期货日线 · 2018 年起先盖住

跑之前写下的一页(示范规则,不是买卖建议):

规则原油期货日线,收盘连着 N 天比前一天低,第二天开盘买进,买进那天算第 1 天,拿到第 M 天收盘卖出;同一时间只拿一笔
成本每笔来回扣 0.1%(手续费加滑点,示范,算得偏多)
要试的N 从 1 到 6,M 取 1、2、3、5、10、20,一共 36 组
挑法2010~2017 年里,笔数不少于 20 的组,挑扣成本后每笔平均最高的一组
失败标准2018~2025 年每笔平均不到 0,或者不比同期随便哪天开盘买进、拿同样天数的平均高,就算失败
不算的一段2020 年 3 月到 6 月原油跌到过零下,涨跌幅没有意义,这段不算,持仓也不跨过它

样本内跑完,排在前面的五组:

连跌几天买拿几天笔数每笔平均(扣成本)

冠军是「连跌 5 天买、拿 20 天」。同一句规则一字不改,放到 2018~2025 年,每笔平均会怎样?

算例:冠军在样本内外各赚多少,按标准判卷
三
试了几次

每改一次规则,就是一次新的考试

上面那一页写着「36 组」。这个数要跟着冠军一起报。你只试一组,它好看,有几分说服力;你试了 36 组挑最好的,它好看,有一部分是挑出来的:36 组里总有几组碰巧赶上了那几年的几笔大行情。试得越多,冠军里运气的成分越大(手册 t3-14、t3-26 讲过过拟合和多重检验,这里不重讲)。

样本外跑完,你多半会想改:换个天数,加个条件,样本外就更好看了。这一改,就是 04.05 说的打补丁,只不过补在了规则上。改出来的是新版本,按 04.08 的规矩,记录从零开始,它的考场只能是以后的新行情。

试 1 次的第一名,和试 36 次的第一名示意
只试 1 组 好看,就有几分说服力 36 组里的第一名 试了 36 组,挑最高的 高出来的那截,有一部分是运气

读图:右边每个点是一组参数在样本内的成绩。第一名站得比别人高,一部分是规则真有点东西,一部分是它碰巧踩中了那几年的几笔大行情。换一段数据,运气那部分不会跟着来。

回测报告上只写冠军的成绩,等于考试只报最高分、不报考了几次。冠军旁边写上「36 选 1」,再写上样本外有没有被看过。

2
成立条件

什么时候回测算得上一次检验

  • 规则每一步都能让机器判。里面有「趋势明显时」「放量」「看情况」这种词,回测出来的是你当时怎么理解这些词,下次你未必这么理解。
  • 笔数够多。十几笔的样本外,一两笔大的就能把结论翻过来;日线规则至少攒几十笔再谈结论。
  • 成本按你实际做得到的扣,持仓越短、换手越勤,成本占得越多。
  • 样本外真没看过。挑参数前你已经翻过那几年的图,知道哪年大跌、哪年大涨,那段也算不上完全干净,结论要再打个折。
  • 这些都满足了,回测也只说到过去为止。市场的参与者和规矩变了,规则可以照样失效,所以上线以后要接着记录、接着判卷。
3
落地动作

研究本上加一页:回测登记

每跑一个回测之前,先写下这四行,写上日期:

  1. 规则原话:品种、时间段、进出规则、成本,写到机器能判。
  2. 失败标准:一个数,加一个比较基准。比如「每笔平均不到 0,或不如随便买」。
  3. 哪段先不看:样本外从哪天到哪天。
  4. 一共试了几组:每试一组记一笔,冠军旁边写「几选 1」。

样本外跑完,照第 2 行判卷,结果填进去,不改前三行。想改,开新的一页,写「第 2 版」,从零记。计划单上用这条规则下单时,「观点(五样)」那栏的「凭什么」写成「第几版规则,样本外判卷结果」;填可证伪观点改写模板时也这么写。

四行没写完,先别跑回测。已经跑完、看过结果才补写的,标上「事后补写」,这份回测只能当探索,不能当证据。
4
检验方法

月底翻一次研究本

  1. 这个月跑过的回测,有几份是先写失败标准、后跑的?数一数比例,目标是全部。
  2. 每条正在用的规则,旁边有没有「几选 1」和「样本外判卷结果」?缺一样,先停用,补齐再用。
  3. 样本外跑完以后又改过规则的次数。每改一次,就该多出一页新版本;没有新的一页,就是改在了原版本上。
  4. 已经上线的规则,把实盘或模拟的前 20 笔每笔平均,和样本外的每笔平均摆在一起看。差一大截,先回去查成本和执行,再查规则。
5
常见误读与反例

这几种用法是错的

「回测赚钱,说明我的看法对」

回测检验的是那句规则,看法只是你写规则的起点。规则赚钱,钱可能来自看法,也可能来自那几年品种整体在涨,或者某一两笔碰巧的大行情。想知道是不是看法的功劳,就得事先写好比较基准,规则要比随便买好才算。

「样本外不好,把样本外也拿来调一调」

样本外一旦用来挑参数,它就成了样本内,你手里不再有没看过的数据。调完以后的规则看起来两段都好,那是你把两段都背下来了。要检验它,只能等以后的新行情。

反例:一个品种不过,就换下一个品种

老林(示意人物,按常见做法概括,不是真人真事)的规则在第一个品种上样本外没过,他换一个品种,再换一个,哪个过了就说「这规则在这个品种上有效」,还管这叫「跨品种验证」。他其实是把品种当成了又一个参数:试了三个品种,第三个过了,这就是三选一的冠军,旁边得写「3 选 1」。真要跨品种验证,是事先写好在哪几个品种上一起考、过几个才算过,考完不换。

「样本外过了,就可以上大仓位」

样本外过了,只说明这句规则这一次没被打脸。一次考试的笔数往往不多,运气照样掺在里面。上线先用小仓位,接着记录,攒够了笔数再谈加。

30 秒自测

考怎么用,不考谁说的

1. 假设一条「连跌几天就买、拿几天卖」的规则,样本外扣完成本还赚,也比随便买好。这能说明什么?

回测只管那一句写死的规则和那一段数据。它不替你的看法作证,也不替明年作证。

2. 样本外跑完,你发现把连跌天数从 5 天改成 4 天,样本外好看得多。下一步:

你是看了样本外才挑的 4 天,这段数据已经被用来挑参数了。新版本只能拿没看过的行情去考。

3. 跑回测之前,最该先写下来的是:

失败标准写在后面,跑出什么都能说「还行」。先写好,结果出来才有卷可判。
+
手册已经讲过

要补基础,看这几节

本课讲交易思想和决策方法,不提供买卖信号,也不承诺收益。文中行情都是历史日线,用来说明道理,不代表以后会怎么走。