使用 RandomForestRegressor 並投入 MACD 的三個關鍵變數,模型能夠學習到比單純訊號線突破更豐富和細緻的市場模式,從而做出更明智的預測和交易決策,這可能是實證結果優於傳統 MACD 量化交易策略的原因。
金融市場的預測一直是金融研究的核心焦點,對於投資者和金融機構而言,精確的股價預測至關重要 。然而,這個領域充滿挑戰,因為金融市場本質上是複雜、動態且高度波動的,並呈現出非線性模式 。傳統的統計方法在捕捉這些錯綜複雜的關係方面往往力有未逮,這使得機器學習(ML)方法受到廣泛關注,因其能夠處理高維數據中的複雜關係,並在一定程度上提升預測效率 。
在眾多機器學習演算法中,集成學習(Ensemble Learning)是一種特別強大的技術,它結合多個機器學習演算法的預測結果,以期達到比任何單一模型更準確、更穩健的成果 。隨機森林(Random Forest)演算法正是集成學習中的一個突出代表,它是一種基於「套袋法」(Bagging)的技術,廣泛應用於分類和迴歸任務,因其多功能性和有效性而備受青睞 。
在sklearn.ensemble.RandomForestRegressor
模型中,投入三個變數因子:
- MACD 線 (DIF, 快線):這是 MACD 的核心線,代表短期 EMA 與長期 EMA 之間的差值 。
- 訊號線 (DEA, 慢線):訊號線是 MACD 線的九週期 EMA。
- 柱狀圖 (MACD Histogram):柱狀圖是 MACD 線與訊號線之間差異的視覺化呈現 。
台灣加權指數:

交易明細
Entry_Date | Entry_Price | Exit_Date | Exit_Price | Profit | Profit_Ratio | |
0 | 2020-03-16 | 9234.089844 | 2020-08-24 | 12728.849609 | 3494.759766 | 0.378463 |
1 | 2020-10-26 | 12546.339844 | 2021-07-19 | 17572.919922 | 5026.580078 | 0.400641 |
2 | 2022-10-17 | 12819.200195 | 2024-07-01 | 23556.589844 | 10737.389648 | 0.837602 |
3 | 2025-04-07 | 19528.769531 | 2025-05-12 | 21843.689453 | 2314.919922 | 0.118539 |
4 | 2025-05-19 | 21670.960938 | 2025-05-19 | 21670.960938 | 0.000000 | 0.000000 |
統計結果
指標 | 數值 |
總交易次數 | 5 |
總損益 (基於每次1股) | 21573.65 |
平均每次交易報酬率 | 34.70% |
總累積報酬率 (假設利潤再投資) | 296.85% |
標普500指數:

交易明細
Entry_Date | Entry_Price | Exit_Date | Exit_Price | Profit | Profit_Ratio | |
0 | 2020-03-14 | 2304.919922 | 2022-03-19 | 4543.060059 | 2238.140137 | 0.971027 |
1 | 2022-06-25 | 3825.330078 | 2022-08-13 | 4228.479980 | 403.149902 | 0.105390 |
2 | 2022-09-24 | 3585.620117 | 2022-11-12 | 3965.340088 | 379.719971 | 0.105901 |
3 | 2022-12-24 | 3839.500000 | 2025-03-01 | 5770.200195 | 1930.700195 | 0.502852 |
4 | 2025-03-29 | 5074.080078 | 2025-05-17 | 5854.180176 | 780.100098 | 0.153742 |
統計結果
指標 | 數值 |
總交易次數 | 5 |
總損益 (基於每次1股) | 5731.81 |
平均每次交易報酬率 | 36.78% |
總累積報酬率 (假設利潤再投資) | 317.78% |
RandomForestRegressor 的 產生的報酬遠遠優於傳統 MACD 中單純使用訊號線突破策略:
實證於台股加權指數及標普500,隨機森林模型報酬,均優於同期大盤240%之報酬。
在傳統 MACD 量化交易中,「訊號線突破」通常指的是 MACD 線 (DIF) 穿越訊號線 (DEA)。
- 看漲訊號 (買入): 當 MACD 線從下方往上穿越訊號線時。
- 看跌訊號 (賣出): 當 MACD 線從上方往下穿越訊號線時。
為什麼投入 MACD 線 (DIF)、訊號線 (DEA) 和柱狀圖作為 RandomForestRegressor 的輸入變數,所產生的報酬率遠優於傳統 MACD 中單純使用訊號線突破策略:
- 模型學習複雜的非線性關係:
- RandomForestRegressor 是一種非線性模型,它可以學習到輸入變數(DIF, DEA, 柱狀圖)與未來報酬率之間更複雜的關係。
- 傳統的訊號線突破策略僅基於一個簡單的交叉事件,無法捕捉這些複雜的模式。
- 整合多個資訊來源:
- RandomForestRegressor 同時考慮了 MACD 線、訊號線和柱狀圖這三個資訊來源。這使得模型能夠從更全面的角度評估市場狀況,而不僅僅依賴單一的交叉事件。
- 柱狀圖的變化可以提供額外的佐證或預警訊號線突破的發生。
- 預測未來報酬率而非僅產生交易訊號:
- RandomForestRegressor 的目標是預測未來的報酬率。這使得它能夠根據預測的報酬率大小來決定是否進行交易以及交易的倉位大小(如果策略允許)。
- 傳統的訊號線突破策略通常只產生買入或賣出的訊號,不涉及對未來報酬率的預測。
- 適應性強:
- 機器學習模型可以通過訓練資料學習市場的動態變化,並在一定程度上適應不同的市場環境。
- 傳統的固定參數技術指標策略可能在某些市場環境下表現良好,但在其他環境下表現不佳。
總結來說,使用 RandomForestRegressor 並投入 MACD 的三個關鍵變數,模型能夠學習到比單純訊號線突破更豐富和細緻的市場模式,從而做出更明智的預測和交易決策,這可能是實證結果優於傳統 MACD 量化交易策略的原因。
發佈留言
很抱歉,必須登入網站才能發佈留言。