主題:30 天打造一個 AI 加密貨幣市場分析助手
這個主題是要在 30 天內,從零開始建構一個基於機器學習的加密貨幣自動交易輔助系統。
我們成功整合了數據獲取 (Binance API)、特徵工程 (技術指標)、穩健的模型訓練 (Walk-forward) 及高擬真度的回測引擎。
這個專案的最大挑戰在於處理金融數據的時間序列特性與類別不平衡問題,並最終透過優化風險管理參數,成功將模型的微小預測優勢轉化為一個具備 高勝率、低回撤 的實戰量化交易策略。
最終策略的總報酬率超過 500%,並成功部署到模擬交易環境。
專案進度與實作核心(Day 1 - Day 30):
數據基礎建立(Day 1 - Day 7):
環境設定、Binance API 數據獲取、初階與進階技術指標 (MA, RSI, MACD, BB, ATR, ROC, 動能) 計算。
關鍵目標:建立穩健的歷史數據來源及豐富的特徵集。
模型訓練與校準(Day 6 - Day 15):
初始 ML 模型 (RandomForest)、Walk-Forward Validation (步進式前向驗證) 引入、目標定義優化 (Return Threshold)、模型參數調校。
關鍵目標:解決數據時間序列問題;提高模型對「有意義漲幅」的預測能力。
策略與回測優化(Day 5 - Day 17):
初始策略回測、高擬真度回測模組 (Position Sizing, 手續費, 止損/止盈) 建立、引入 ATR 動態止損。
關鍵目標:建立貼近實戰、包含風險管理機制的交易策略。
指標診斷與精煉(Day 19 - Day27):
首次結果檢討、訓練模式優化 (Sliding-Window)、評估指標切換 (Accuracy -> F1-Score)、類別平衡調整、預測機率濾網引入、MACD 趨勢確認。
關鍵目標:解決類別不平衡問題;確保模型信號的精確度 (Precision) 與召回率 (Recall) 平衡。
策略參數與部署(Day 28 - Day29):
止損/止盈參數優化 (Parameter Hunting),發現最佳策略組合
關鍵目標:將理論優勢轉化為實戰績效。
挑戰與突破:
挑戰一:數據量與未來資訊洩漏
遇到的難題:
初始數據量僅 500 筆,導致模型訓練不足且易產生偏差。
傳統的隨機分割 (Train/Test Split) 忽略時間順序,導致模型學習到「未來資訊」(Future Leakage),回測結果失真。
克服方式:
數據擴充與 Walk-Forward 引入:
挑戰二:模型評估的誤導性與類別不平衡
遇到的難題:
簡單的「準確率 (Accuracy)」在金融數據中極具誤導性,因為「大幅上漲」的訊號 (Target=1) 非常稀少 (類別不平衡)。
模型即使亂猜「下跌/小幅波動」(Target=0) 也能獲得高 Accuracy (Day 12, Day 23)。
克服方式:
指標替換與目標調整:
挑戰三:回測結果與實戰的巨大鴻溝
遇到的難題:
初始回測結果過於完美,但在低勝率下獲得極高報酬 (Day 19),懷疑策略邏輯不夠現實。
克服方式:
高擬真度策略與參數優化:
總結與成果:
1.策略本質: 成功打造一個 「ML 輔助的超關鍵績效指標短線高勝率策略」。
2.總報酬率: 506.02% (在 Day 28 的最後一次回測中)、最大回撤 (MDD): 0.12%、勝率: 63.16%、交易次數: 19 次 (中等頻率)
3.但是在最後要連接到幣安的模擬交易這部分不知道為什麼都沒有執行交易。