THE SHORT VERSION

先掌握這幾塊

  • 按時間切分只是起點:特徵、訓練標籤與前處理參數,都必須符合當時可知的資訊。
  • 偏誤檢查沒有報錯,不代表所有訊號都被驗證,更不代表策略會獲利。
  • 手續費、成交價差、滑價與適用的資金費率要分開列示;缺少資料不能默認成本為零。
01 /

一、先畫時間線,別急著看報酬

研究一個預測未來行情的模型時,先標出資料可取得、訊號產生、下單與結果確定的時點。scikit-learn 的 TimeSeriesSplit 說明了時間序列切分的用途:避免用未來資料訓練,再回頭評估過去。把相依的市場觀測值隨機打散,可能破壞這個先後關係。BlockBlah 建議先在紙上畫出每個訓練區間與後續評估區間,再確認程式實際產生的索引一致,而不是只相信函式名稱。

資料列的時間戳不一定代表整列資訊已可使用。若訓練標籤是某段未來價格變化,必須等那段期間結束,標籤才已知;用收盤資料產生的訊號,也要對應到之後實際可能取得的成交。TimeSeriesSplit 的 gap 是在訓練尾端排除若干筆樣本,不會替你檢查資訊發布延遲或標籤重疊。間隔應依資料與預測期間設計,並核對切分邊界;它不是可以修好所有洩漏的通用數字。

02 /

二、先切資料,再讓前處理學習

資料洩漏不只藏在明顯的未來價格。scikit-learn 的常見陷阱文件要求,標準化、缺值填補或特徵選擇等需要學習的步驟,只能從訓練資料估計參數;測試資料使用同一組已學得的轉換。先對整份資料求平均、挑特徵,再切訓練與測試,就可能讓測試資訊提早進入研究。正確使用 Pipeline 可協助把前處理放在每一輪訓練之內,但仍要確認餵入流程的欄位本身沒有偷看未來。

為每個特徵做一張小卡:原始欄位、計算區間、最早可知時間、缺值處理與重算方式。挑一筆決策,手動遮住那個時間之後的資料,再追查所有輸入是否仍能生成。這是本文提出的研究演練,不是已完成的測試報告。參數調整也應保留紀錄;若看過保留測試區間的結果後又據此改模型,就應把它記為已參與開發,而不是繼續稱為完全未見的最終考試。

03 /

三、讓診斷工具找線索,不替你簽保證書

Freqtrade 的 lookahead-analysis 透過比較不同回測中的指標與交易訊號變化,尋找前視偏誤線索。官方文件也列出限制:沒有觸發的訊號不會因此獲得驗證;某些依賴整組交易對的邏輯或限價單設定,可能產生誤報。報表顯示沒有偏誤,應讀成此次資料與設定下未發現對應問題,不能擴張成所有程式路徑都正確,也不能解讀為績效已經可靠。

實務研究可以保存一份覆蓋清單:哪些進出場分支被觸發、哪些沒有、工具改動了哪些設定、異常是否能縮小到一筆訊號。遇到警示先追查原因,不要為了得到綠燈而刪掉不方便的樣本。還可另外檢查資料起始長度改變時,指標計算是否穩定;這與偷看未來是不同問題。各項檢查應分別留下證據,避免把一個工具的通過結果當成整套交易系統的驗收。

04 /

四、把成本和成交假設攤開

Freqtrade 回測文件說明,指定手續費會分別用於進場與出場;其成交假設則包含價格位於 K 線高低區間內時,以要求價格成交且不計滑價。兩件事要分開看:計入交易手續費,不代表已模擬買賣價差、排隊、部分成交或市場衝擊。本文建議逐項列出模型有處理、沒有處理與缺資料的條件,再對更不利的成交情境做敏感度研究,不能只在摘要上寫「已扣成本」。

研究永續合約時,另列資金費率的來源、時點及收付方向;不要把它混成每筆固定手續費。Freqtrade 的槓桿文件警告,以不實替代值補上缺少的歷史資金費率,會使回測失真。沒有資料時應標示缺口、縮小可評估期間或明列情境假設,不把缺值當成真實的零。成本壓力測試的用途是暴露策略依賴哪些條件,不是替最終會成交的價格提供保證。

05 /

五、留下研究版本,再觀察新的資料

一張值得討論的回測圖,旁邊應能找到資料來源與版本、時區、交易對選取方式、程式與套件版本、切分索引、參數搜尋紀錄,以及成交和成本假設。這是塊訊建議的研究交接清單。策略凍結後,可在之後到來的資料上做模擬觀察,記錄訊號、預期訂單與執行限制的差距;模擬觀察仍不是實盤成交證據。若重新調參,另開版本並註明已看過的資料,不把反覆修改後的最佳曲線當成第一次預測。

本文是原創長青方法指南,於 2026 年 11 月 2 日(Asia/Taipei)查閱下列官方文件;查閱日不是軟體更新或市場事件的發生日期。本文未執行任何策略回測、模擬交易或實盤測試,沒有宣稱報酬,也不提供特定策略推薦或個人化投資建議。無贊助或聯盟連結,封面為編輯概念插畫。文件與軟體行為可能更新,採用前應依實際版本重查;歷史或模擬結果不能保證未來表現。

資料來源與延伸閱讀

  1. scikit-learn — TimeSeriesSplit ↗
  2. scikit-learn — Common pitfalls and data leakage ↗
  3. Freqtrade — Lookahead analysis and caveats ↗
  4. Freqtrade — Backtesting assumptions and fees ↗
  5. Freqtrade — Leverage and unavailable funding rates ↗

本文為資訊與教育用途,不構成投資建議。加密資產可能大幅波動,請獨立查證。

That’s the block.