以比特幣 2021 年雙頂結構為例:談什麼是「未來數據洩漏」
當我們回測一套策略、檢視一組指標時,是否真的站在當下?本文從「未來數據洩漏」與「過度擬合」兩大陷阱切入,剖析 2021 年雙頂對鏈上分析的致命考驗。
(前情提要:
續命行情:以鏈上數據剖析最詭異的 2021 年雙頂
)
(背景補充:
鏈上數據學堂(一):你知道全市場的 BTC 平均成本是多少嗎?
)
本文目錄
Key Points:
- 談「未來數據洩漏(Look-ahead bias)」的概念
- 談交易領域中的命門:過度擬合(Overfitting)
- 2021 年雙頂:對於刻舟求劍而言最大的考驗
- 三個指標與一個模型的戰績回顧
未來數據洩漏(Look-ahead bias)
試想一個情境:
「假設我開發了一個交易策略,並將這個策略嚴謹的回測過去 50 年,回測時間是 1975 ~ 2024,並且得到很不錯的回測績效。於是,我便決定在 2025 年啟用這一套策略。」
各位讀者對於以上描述,有人看出哪裡有毛病嗎?
如果真的只做 1975 ~ 2024 的回測, 其實就很容易陷入「未來數據洩漏」的陷阱之中 。 因為我們單純只用了「至今為止」所有的數據來做回測,這會導致我們訓練出來的策略參數,很可能「 不耐打 」!
更嚴謹的作法是,舉例而言:
可以再針對「1975 ~ 2023」(假設我們人在 2024 年),並以訓練後的策略,去回測 2024 年整年的績效; 當然還可以用 1975 ~ 2022 時段的數據去訓練策略,然後再拿訓練後的策略去回測 2023、2024 的績效。
更精確來說,我們可以透過「 滾動回測 」或「 步進回測 」的方式,去盡可能的避免「未來數據洩漏」。
這樣做的好處是「確保訓練後的策略,可以接受未來的考驗」。
過度擬合(Overfitting):最致命的毒藥
只要是稍微有基礎量化策略開發概念的人,就會知道 overfitting 能帶來的問題有多嚴重。
所謂 overfitting,用通俗的話語來說就是「 刻舟求劍 」,這會讓回測數據很好看( 訓練誤差低 ),但卻難以應用於實戰( 測試誤差高 )。
在此我打算引入一個數學的概念來解釋:(看到數學就頭疼的讀者,可以直接跳到下一段看結論)
假設有一數列:「1 , 2 , 4 , 8 , 16 , ?」
對數字稍微有點敏感的讀者,應該都會覺得下一個數字是 32,因為前五項數據明顯與「2 的次方」有明顯關聯。
但事實上,我們其實無法預測下一個數字是多少 。
因為從數學的角度,我們完全可以利用 Lagrange 插值法,構建另一個高次多項式,讓第六個數據不是 32,但也滿足規律。
這意味著:「 單純基於有限數據點進行外推的預測,是不可靠的 」。
2021 年第二頂:對於多數指標而言最大的考驗
講完無聊的理論觀念,接著我們來聊實戰。
以下,我將拿出三個鏈上數據指標,以及一個我個人開發的模型,為各位讀者進行講解:
1. MVRV
相信稍微研究過鏈上數據分析的讀者,一定都聽過 MVRV, 我之前的文章也有針對這個指標做過詳細的教學 ( 鏈上數據學堂(一):你知道全市場的 BTC 平均成本是多少嗎? ) 。
如上圖,這是 MVRV 的歷史數據圖表。圖中標記的 1、2、3、4,分別對應 13 年、17 年的頂部,以及 2021 年的兩次頂部。
我們可以明顯看到:每一輪頂部的 MVRV 高點是「遞減」的 。
我聽過很多人會用以下方法,針對高點遞減的現象做處理:
「我知道是遞減,所以在判斷頂部的時候,我會抓一個更保守、更低的閥值當作警訊。」
現在問題來了:
- 更保守的閥值怎麼設定?
- 如果我們回到 2021 年 4 月,能看到的歷史數據只有 13、17 年,保守設定後的閥值能在 21 年 4 月觸發嗎?
- 用這種方式設定的閥值,能在 2021 年第二頂觸發嗎?
- 如果不認為 2021 年 4 月是頂部,那 2021 年第二頂就更不可能逃頂了,對吧?
我想說的是:
正因為 BTC 歷史數據的樣本數太少,並且若單純考慮前幾次週期, 其實很可能陷入「未來數據洩漏」的陷阱中 。
身處 2021 年 4 月(第一頂)的人,不會知道當時的 MVRV 數值, 其實就是那一輪週期的最高點,因為他只能看到 13、17 年的數據; 同理,在 2021 年第二頂出現的時候,MVRV 數值更是處於極低的位置, 如果第一頂不逃,那自然不可能根據第二頂的數據去逃頂, 如此便會錯失 2021 年逃頂的最佳時機 。
2. AVIV 指標
AVIV 可以視為修正過、考慮更周詳的 MVRV,並且相比 MVRV 存在更明顯的「均值回歸」特性。
但即使如此,「峰值(高點)遞減」的現象依然很明顯:
圖中標記的 1、2、3、4,分別對應 13 年、17 年的頂部,以及 2021 年的兩次頂部。
同樣的問題,我就直接複製上面的文字了,供各位讀者思考:
- 更保守的閥值怎麼設定?
- 如果我們回到 2021 年 4 月,能看到的歷史數據只有 13、17 年,保守設定後的閥值能在 21 年 4 月觸發嗎?
- 用這種方式設定的閥值,能在 2021 年第二頂觸發嗎?
- 如果不認為 2021 年 4 月是頂部,那 2021 年第二頂就更不可能逃頂了,對吧?
RUP(Relative Unrealized Profit)
之前我也詳細介紹過 RUP 這個鏈上數據,有興趣的讀者可以參考以下兩篇文章的內容:
鏈上數據學堂(九):市場晴雨表 RUPL(I)- 數據介紹 & 抄底應用
鏈上數據學堂(十):市場晴雨表 RUPL(II)- 最強頂部訊號 & 歷史週期頂部詳細分析
曾有讀者詢問:「可以理解 RUP 背離的邏輯,但是否應該一併考慮 RUP 曾經到過的歷史高位?」
如上圖,這是 RUP 的歷史圖表,圖中標記的 1、2、3、4,分別對應 13 年、17 年的頂部,以及 2021 年的兩次頂部。
可以看到,即便是針對市值做過標準化處理的 RUP, 還是存在峰值遞減的現象 。
再來一次靈魂拷問:
- 更保守的閥值怎麼設定?
- 如果我們回到 2021 年 4 月,能看到的歷史數據只有 13、17 年,保守設定後的閥值能在 21 年 4 月觸發嗎?
- 用這種方式設定的閥值,能在 2021 年第二頂觸發嗎?
- 如果不認為 2021 年 4 月是頂部,那 2021 年第二頂就更不可能逃頂了,對吧?
4. Cointime Price Deviation 模型
Cointime Price Deviation 模型,是我個人設計並用以觀察頂部的模型之一, 詳細的內容可參考先前的貼文 ( 鏈上數據學堂(七):一套嶄新、ARK 參與研究的 BTC 神奇定價方法論(II) ) 。
圖中標記的 1、2、3、4,分別對應 13 年、17 年的頂部,以及 2021 年的兩次頂部。
各位讀者可以用這張圖片,和前三張圖片進行比較:
- 2021 第二頂的數值,與前三次頂部的數值差距更小
- 四次頂部的數值差距不大(但仍有遞減跡象)
- 將 BTC 逐年遞減的波動率納入考量
這也是為什麼我更傾向於對數據賦予邏輯、進行加工, 只有這樣才能盡可能避免 overfitting、未來數據洩漏的問題。
結語
本文主要是針對「Overfitting」、「避免未來數據洩漏」這兩大觀念進行科普與解釋,同時引入 2021 年特殊的狀況,作為我的講解範例。
本文全程硬核,內容稍嫌深澀,希望對各位讀者有幫助,感謝你的閱讀。
?相關報導?
鏈上數據學堂(二):老是賺錢的 Hodlers 們,他們買 BTC 的成本是多少?
鏈上數據學堂(三):底部吸籌的莊家們獲利了結了嗎?
鏈上數據學堂(四):視覺化的 BTC 籌碼價位分布圖
Why Alpaca Finance (ALPACA) Price is Up Today?
The post Why Alpaca Finance (ALPACA) Price is Up Today? appeared first on Coinpedia Fintech NewsWhi...
Roswell Becomes First U.S. City to Hold Bitcoin as a Reserve Asset
The post Roswell Becomes First U.S. City to Hold Bitcoin as a Reserve Asset appeared first on Coinpe...
Is Bitcoin Demand Returning? Active Address Trend May Suggest So
On-chain data shows the Bitcoin network is currently noting an uptick in Daily Active Addresses. Her...