iT邦幫忙

0

Day24解決類別不平衡問題

d24
  • 分享至 

  • xImage
  •  

目標: 增加 Target=1 的樣本數量,讓模型有更多正樣本可以學習。
降低主程式中的 RETURN_THRESHOLD。
將他降至0.0015

if __name__ == "__main__":
    # ✅ 設定資料時間範圍
    START_DATE = "2025-06-01"   # 想從哪一天開始抓
    TIMEFRAME = "1h"

    # ✅ 根據起始日期自動計算 TOTAL_LIMIT
    TOTAL_LIMIT = calc_total_limit(START_DATE, timeframe=TIMEFRAME)

    # Walk-forward 預設參數 (固定這兩個,讓 TRAIN_WINDOW 變化)
    TARGET_FOLDS = 7
    FIXED_TEST_WINDOW = 300
    FIXED_STEP = 300
    RETURN_THRESHOLD = 0.0015 # 0.15% 漲幅才算 Target=1

https://ithelp.ithome.com.tw/upload/images/20251013/20178967iNJ7ylVTNr.pnghttps://ithelp.ithome.com.tw/upload/images/20251013/20178967vzMEqtt1S3.png
Target=1 樣本數 (Support) 59 筆變成101 筆
數據平衡性大幅改善。 樣本量增加,為模型提供了更多學習正向趨勢的機會。
Target=1 召回率 (Recall) 0.14 (14%)變成0.32 (32%)
模型抓取上漲信號的能力翻倍。 模型在真正上漲時,能夠識別出來的機率大幅提升。
Target=1 F1-Score 0.17變成0.30
預測綜合表現提升。 Target=1 的綜合性能幾乎翻倍,證明模型正在更有效地學習。
勝率 40.00%變成10.00%
勝率下降,但交易次數不變 (10次)。
這表示這次的測試區間中,模型新增的 Target=1 信號很多是「假陽性」,但其帶來的「敗筆」被止損有效控制,或是整體報酬由幾次超級大賺的交易所貢獻。
所以下一步會進行的優化是引入預測機率濾網 (Priority 1)


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言