第 2 堂,共 3 堂約 2 分鐘閱讀

成本與樣本外測試

學習目標

  • 由周轉率與每宗交易成本估算全年成本損耗。
  • 設計樣本外及滾動前推測試,並計算其窗口數目。

模擬貼近現實的成本

成本包括佣金、買賣價差、因價格移動或市場衝擊而產生的滑價、融資成本,以及適用的稅項或徵費。一次來回交易,大約在入場時付出半個價差,出場時再付半個。

全年成本損耗等於周轉率乘以單程成本。高周轉率的規則最為敏感,因此應以至少兩倍於估計的成本來測試。若優勢因而消失,就是它並不穩固。

樣本內與樣本外數據

樣本內數據用來設計和調校規則。樣本外數據在規則定稿前不加觸碰,因此能提供不偏的檢驗。每次偷看它,以及其後的每次修改,都會令它變成樣本內數據。

過度擬合是擬合雜訊:只要參數與嘗試足夠多,總有某條規則能配合任何歷史。減少參數、採用更簡單的邏輯並記錄每次嘗試,可減輕問題,卻不能根除。

滾動前推分析

滾動前推分析把設計與測試沿時間重複進行:在訓練窗口內優化,把選出的設定應用於下一個測試窗口,再把兩個窗口一起向前移動,並把各個測試段連成一份樣本外記錄。

它模擬規則在現實中如何被重新調校。應事先固定窗口長度與選擇規則,並比較樣本內與樣本外的表現:大幅下降是過度擬合的信號。

逐步例解: 成本壓力測試

某虛構策略毛回報每年 6.0%,每年周轉率為 1,200%,即成交價值相當於組合的 12 倍。單程成本 0.25% 時,損耗為 12 × 0.25 = 3.0%,淨回報為 3.0%。成本加倍至 0.50%,損耗為 6.0%,淨回報為 0.0%:優勢已不復存在。

檢查理解程度

數據涵蓋 2010 至 2021 年,共十二個曆年。滾動前推測試以四年訓練,再測試其後一年,並每次向前推進一年。會產生多少個測試窗口?哪些年份屬於樣本外?

顯示答案及解釋

第一個訓練窗口是 2010 至 2013 年,測試 2014 年。最後一個在 2017 至 2020 年訓練後測試 2021 年。因此有 12 - 4 = 8 個窗口,樣本外年份為 2014 至 2021 年。首四年只作訓練數據。