第 04 章目录 · 10 节
- 04.01什么叫可证伪?波普尔的这条标准,交易者怎么用
- 04.02「长期看好」「迟早会涨」为什么帮不了你做决定?
- 04.03一个可证伪的交易观点必须包含哪几样东西?
- 04.04失效条件写在价格上、时间上还是事实上?三类失效怎么选
- 04.05一亏就换个理由继续拿着,这属于哪种思维错误?
- 04.06什么都能解释的分析方法,为什么反而没用?
- 04.07分析和解说的区别:事前可证伪与事后讲故事
- 04.08被证伪之后该做什么:认错离场,还是修正假设?
- 04.09可证伪和回测是什么关系?回测检验的到底是哪一句话
- 04.10本章自测:改写十句常见看盘观点,让它们可以被证伪
可证伪和回测是什么关系?回测检验的到底是哪一句话
你找到一个规则,拿过去八年的行情回测,每年都赚。这份回测证明了什么?写一句话就行。
回测检验的是一句写死的规则:哪个品种、哪段时间、怎么进怎么出、扣多少成本,在过去那段数据上表现怎样。它不检验你对行情的看法,也不检验明年。能回测,前提是这句规则每一步都能让机器判。跑之前先写好「什么结果算它失败」,再留一段数据先不看,最后只考一次。看完结果再回头改规则,就是在打补丁。
小白理解:跑回测之前,本子上先写三行:规则原话、什么结果算它失败、哪段数据先不看。三行没写完,先别跑。
回测检验的是一句规则,不是你的看法
「原油跌多了会反弹」,这是看法。它没法回测:跌多少算多?弹多少算弹?几天之内?机器不知道怎么判,你自己判,到时候又总能判成对的。
把它写成规则:原油期货日线,收盘连着 5 天比前一天低,第二天开盘买进,买进那天算第 1 天,拿到第 20 天收盘卖出;同一时间只拿一笔;每笔来回扣 0.1% 的成本。这句话每一步都能让机器判,十个人跑出来是同一个结果。这就是 04.03 讲的判卷测试,换成了规则的样子。
回测跑的就是这句话。它赚了,说明的是「这句规则在这段数据上、扣这个成本,没亏」;它说明不了「原油跌多了会反弹」这个看法对,那几年原油要是一路涨,随便哪天买都赚。它亏了,也只说明这一句不行,看法可能只是没写好。
读图:五样写全,回测才知道该算什么、算完怎么判。最常漏的是金色那格:没写失败标准,跑出什么结果你都能说「还行」。
读图:5 月 2 日到 8 日连着五天收盘一天比一天低,8 日收在 97.01。规则 9 日开盘按 97.38 买进,拿到第 20 天,6 月 6 日收盘 85.02 卖出,这一笔扣完成本亏了一成二多。规则不挑好坏,回测里每一笔都这么判,亏的也照记(示范规则,不是买卖建议)。
失败标准写在跑之前,再留一段先不看
回测最常见的样子:先跑,看结果,再决定这个结果「算不算好」。年化一成,说「还行」;亏了,说「这几年行情特殊」。怎么跑都能找到说法,这份回测就变成了 04.06 的万能解释。
所以顺序要倒过来。跑之前写好:什么结果算这句规则失败。比如「扣成本后每笔平均不到 0,或者不如同期随便哪天买进、拿同样天数的平均,就算失败」。后半句是比较基准(手册 t3-21 讲过):原油要是那几年整体在涨,随便买都赚,规则得比随便买好,才算它自己的本事。
再把数据切成两段。前一段叫样本内,随你试参数、挑最好的;后一段叫样本外,锁起来,挑完以后只跑一次,跑完不改。样本外就是这句规则的考场。
读图:左上那一格要最先写。右边那一段的价值只有一个:它没参与挑选。你只要按它的结果改过一次规则,它就不再是考场。
跑之前写下的一页(示范规则,不是买卖建议):
| 规则 | 原油期货日线,收盘连着 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 的规矩,记录从零开始,它的考场只能是以后的新行情。
读图:右边每个点是一组参数在样本内的成绩。第一名站得比别人高,一部分是规则真有点东西,一部分是它碰巧踩中了那几年的几笔大行情。换一段数据,运气那部分不会跟着来。
什么时候回测算得上一次检验
- 规则每一步都能让机器判。里面有「趋势明显时」「放量」「看情况」这种词,回测出来的是你当时怎么理解这些词,下次你未必这么理解。
- 笔数够多。十几笔的样本外,一两笔大的就能把结论翻过来;日线规则至少攒几十笔再谈结论。
- 成本按你实际做得到的扣,持仓越短、换手越勤,成本占得越多。
- 样本外真没看过。挑参数前你已经翻过那几年的图,知道哪年大跌、哪年大涨,那段也算不上完全干净,结论要再打个折。
- 这些都满足了,回测也只说到过去为止。市场的参与者和规矩变了,规则可以照样失效,所以上线以后要接着记录、接着判卷。
研究本上加一页:回测登记
每跑一个回测之前,先写下这四行,写上日期:
- 规则原话:品种、时间段、进出规则、成本,写到机器能判。
- 失败标准:一个数,加一个比较基准。比如「每笔平均不到 0,或不如随便买」。
- 哪段先不看:样本外从哪天到哪天。
- 一共试了几组:每试一组记一笔,冠军旁边写「几选 1」。
样本外跑完,照第 2 行判卷,结果填进去,不改前三行。想改,开新的一页,写「第 2 版」,从零记。计划单上用这条规则下单时,「观点(五样)」那栏的「凭什么」写成「第几版规则,样本外判卷结果」;填可证伪观点改写模板时也这么写。
月底翻一次研究本
- 这个月跑过的回测,有几份是先写失败标准、后跑的?数一数比例,目标是全部。
- 每条正在用的规则,旁边有没有「几选 1」和「样本外判卷结果」?缺一样,先停用,补齐再用。
- 样本外跑完以后又改过规则的次数。每改一次,就该多出一页新版本;没有新的一页,就是改在了原版本上。
- 已经上线的规则,把实盘或模拟的前 20 笔每笔平均,和样本外的每笔平均摆在一起看。差一大截,先回去查成本和执行,再查规则。
这几种用法是错的
回测检验的是那句规则,看法只是你写规则的起点。规则赚钱,钱可能来自看法,也可能来自那几年品种整体在涨,或者某一两笔碰巧的大行情。想知道是不是看法的功劳,就得事先写好比较基准,规则要比随便买好才算。
样本外一旦用来挑参数,它就成了样本内,你手里不再有没看过的数据。调完以后的规则看起来两段都好,那是你把两段都背下来了。要检验它,只能等以后的新行情。
老林(示意人物,按常见做法概括,不是真人真事)的规则在第一个品种上样本外没过,他换一个品种,再换一个,哪个过了就说「这规则在这个品种上有效」,还管这叫「跨品种验证」。他其实是把品种当成了又一个参数:试了三个品种,第三个过了,这就是三选一的冠军,旁边得写「3 选 1」。真要跨品种验证,是事先写好在哪几个品种上一起考、过几个才算过,考完不换。
样本外过了,只说明这句规则这一次没被打脸。一次考试的笔数往往不多,运气照样掺在里面。上线先用小仓位,接着记录,攒够了笔数再谈加。
考怎么用,不考谁说的
1. 假设一条「连跌几天就买、拿几天卖」的规则,样本外扣完成本还赚,也比随便买好。这能说明什么?
2. 样本外跑完,你发现把连跌天数从 5 天改成 4 天,样本外好看得多。下一步:
3. 跑回测之前,最该先写下来的是: