Re: [閒聊] 回測期間設定應該多長?

數位貨幣

751

: 最近在做策略回測
: 數位貨幣的價格變化
: 跟傳統股票差異蠻大的
: 以ETH為例從2019年至今
: 價格的跨度其實就不小
: 從數百~好幾千 到現在穩定一千多
: 如果是股票指數期貨的話
: 可以算一點多少錢
: 然後點數高低的差距也
: 不會像上述ETH價格差異那麼大
: 那麼開發策略時
: 應該看多長的時間跨度比較好?
: 2022-2023年有效的策略
: 往前經歷2019-2020期間or5月大崩
: 可能最後結果就不同
: 從嚴謹的角度上來說
: 可以考慮資料的結構性變化
: 但從實務上來說
: 會回測多久的期間來認定策略有效呢?

自身也有在開發這塊 想說可以回應一下
數位貨幣變化真的很大 一般來說在會以時段區間裡面的最後值
(往往是收盤價)做normalization
小弟蒐集的是2023年9月30前的以USDT為交易對的現貨資料
扣除掉低交易量 太過新的交易對 或是穩定幣交互的交易對 (剩下334組 65GB資料)
透過幣安的API蒐集從開始到現在每分鐘的資料 (感恩R CRAN 的 binancer package)
訓練策略分成三部分
從創建交易對到2022年12月31日為訓練資料集 (訓練AI策略用的)
2023年1月開始到2023年12月31日為非實際入場測試(AI策略沒學過的資料 給他跑跑看)
以及如果結果還不錯
預計2024年1月開始透過API製作auto-trader自行讓AI實際入場買賣測試

我個人的經驗在測試上很難做長期投資變化預測
一方面波動巨大另一方面各種黑天鵝事件根本無法去由一些資料提前知道入場出場時機
至少以我自行訓練的結論是勝率大都在30-55%徘徊 = =
不過短期的預測入出場時機倒是相對可行 AI設計的策略也是在短線操作為主
在一開始的時候 只使用了BNB/BTC/ETH的交易資料對來訓練
但出現了嚴重的overfitting 即使用了drop out/L1/L2 regulerization
還有batch normolization以及layer normolization都無法順利消除.....= =
以BNB為例 (
https://lurl.cc/glZ6J)

前兩張是回溯training資料集 confusion matrix其實表現不錯
但在後面的第三張是抓2023年9月10月的資料變化就發現差強人意...
但其他月份的資料表現又還不錯
所以這樣的觀察可以知道大事件發生時對AI學習來說資料diversity可能不夠
也因為如此才心一橫抓了所有USDT交易對讓AI嘗試學習不同山寨幣崩盤等等的時機要退出
(
https://lurl.cc/BPBBG)
這張圖是當時分析不同交易對最適合進出場cutoff時機
不過這張圖是根據交易策略跑出來的 不同策略是不一樣的

回到你前面的問題
回溯要看多久這件事情
我的觀點是如果以前的資料已經拿來訓練了 那回溯其實就不是重點了
因為策略已經學習過了 那他表現可以預期很好
需要判斷是否為適當策略應該要給予沒見過或是沒學習過的資料
我目前大都抓半年到一年 我看其他股票或是加密或幣的論文大多抓1年 給你參考

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.219.218.127 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/DigiCurrency/M.1697446990.A.AEA.html
DarkerDuck1樓推經驗分享,不過連結可以獨立一行,才不會讀取錯誤 10/16 19:17
sdtty2樓明朝的劍是斬不了清朝的官的,LTCM都不能成功,何況是一般 10/16 19:53
sdtty3樓 10/16 19:53
pinner4樓一分鐘的K其實一年的資料就可以做出東西了 10/16 21:15
slayptter5樓我也曾經走過你這段思路 10/17 13:47
slayptter6樓但可惜....結果上來說並不算成功 10/17 13:47
sma10337樓別再用分k來當訓練資料了,偷懶只會得到無效爛結果 10/18 05:11
sma10338樓LTCM失敗的原因是過度槓桿加上忽視系統性風險好嗎 10/18 05:15
hideelou9樓回測其實也是過時數據 10/28 04:10
darkMood10樓終歸還是成敗論英雄,贏家就是正確的。 11/01 00:06