第 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. 跑回測之前,最該先寫下來的是: