
1. 概述
Momentum(動量策略) 是量化交易領域最常見、最實戰的一類趨勢增強策略。
它基於一個核心假設:
「強者恆強,弱者恆弱」:最近表現強的標的,更可能持續上漲;最近表現差的標的,更可能繼續走弱。
在 PulseForce 中,內建的 momentum 策略並不是“只看漲跌幅”的簡單動量,而是綜合了:
- EMA 交叉(ema_fast / ema_slow):確認短期與中長期趨勢方向
- 近期高點突破(recent_high_window):確認價格是否真正突破壓力位
- RSI 動量信號(rsi_period / rsi_buy_threshold / rsi_sell_threshold):衡量多空強弱
- 成交量放大(volume_window):確認漲勢是否由真實資金推動,而非「無量空漲」
- CatBoost AI 過濾器(可選):在基礎規則上,再用 AI 過濾劣質信號
同時,策略透過:
- 強制止盈 / 止損(force_take_profit / force_stop_loss)
- 日級止盈 / 止損(daily_take_profit / daily_stop_loss)
- 動態資金分配(allowable_funds_*)
管理風險與倉位,並支援 PulseForce 中的 HyperOpt 自動搜尋最佳參數組合。
2. 策略起源與發展簡述
動量效應擁有相當紮實的學術背景與長期實證支持:
- 1993 年 Jegadeesh & Titman 經典論文證明:
買入過去贏家、賣出過去輸家 可產生顯著超額報酬。 - 後續大量研究發現,動量效應存在於:
股票、期貨、外匯、商品、指數、甚至加密貨幣市場。
實戰中,動量策略常用於:
- 中短週期趨勢交易
- 產業/板塊輪動
- 多資產多空組合
- 高频趨勢濾波模組
PulseForce Momentum 策略,即是在這些經典思想基礎上,加入多指標確認與 AI 過濾的增強版。
3. 這個 Momentum 策略在解決什麼問題?
PulseForce 的 momentum 旨在解決以下幾項實戰痛點:
僅看漲跌幅不足,需要多維度確認「真動量」
→ EMA 交叉 + 近期高點突破 + RSI + 成交量共同判定。如何避免「假突破」「假拉升」?
→ 價格必須突破一段期間高點,且成交量必須放大。如何在趨勢加速時及早上車,而非等到太晚?
→ 使用近期突破 + RSI 強勢區間判定動量加速。如何降低劣質信號、避免深度回撤?
→ 加入 CatBoost AI 過濾器 + 更細緻的止盈止損機制。
4. 核心指標與信號邏輯
4.1 核心技術指標
Momentum 策略主要使用以下(於 1 分鐘級別計算)指標:
| 指標 | 含義 |
|---|---|
ema_fast |
快速 EMA,反應敏感,代表短週期動量 |
ema_slow |
慢速 EMA,代表中長期趨勢 |
recent_high |
近期高點,用於確認突破 |
rsi |
相對強弱指標,用於衡量買盤強度 |
volume_mean |
均量,用於判斷是否放量 |
部分指標計算程式碼:
1 | df["rsi"] = ta.RSI(df, timeperiod=rsi_p).fillna(0) |
4.2 趨勢標記:短趨勢 / 長趨勢 / 日趨勢
策略基於 EMA 進一步標記:
short_trend:由ema_fast與ema_slow判定long_trend:由更長周期 EMA 組合計算daily_short_trend / daily_trend:由 1m 重採樣至 1D 得出
這些欄位可用於:
- AI 模型特徵
- 風控模塊
- PulseForce UI 趨勢展示
5. 核心買入/賣出邏輯(含 Runner + AI 過濾)
5.1 買入邏輯:突破 + 強動量 + 放量 + EMA 多頭 + AI 過濾
populate_buy_trend 等效邏輯如下:
1 | # 1) Runner 基礎動量判定 |
概括為:
「突破 + 強勢 RSI + 放量 + EMA 多頭 → 若 AI 也認同,此信號則為高品質動量突破。」
5.2 賣出邏輯:動量衰退 + SL/TP 結合
動量退化條件(簡化版):
1 | def _has_sell_signal(self, row): |
退出邏輯:
1 | # ① 強制止損 / 強制止盈 |
總結為:
- 強制 SL/TP 永遠優先
- 若未出現動量衰退,不輕易離場
- 只有「動量衰退 + 觸及日級 SL/TP」才會退出持倉
6. PulseForce 參數配置與超參優化
PulseForce 提供完整策略可視化配置介面,支援回測、每日交易與超參優化。


6.1 基礎參數組(支援 HyperOpt)
| Key | 名稱 | 作用 | 可優化 | 建議初始搜尋範圍 |
|---|---|---|---|---|
| ema_fast | 快速 EMA | 越小越敏感 | ✅ | 15 ~ 30 |
| ema_slow | 慢速 EMA | 越大越平滑 | ✅ | 50 ~ 90 |
| recent_high_window | 近期高點窗口 | 用於突破確認 | ✅ | 20 ~ 45 |
| rsi_period | RSI 週期 | — | ✅ | 10 ~ 25 |
| rsi_buy_threshold | RSI 買入閾值 | 越高越保守 | ✅ | 60 ~ 75 |
| rsi_sell_threshold | RSI 賣出閾值 | 動量衰退判定 | ✅ | 20 ~ 45 |
| volume_window | 均量窗口 | 判斷是否放量 | ✅ | 10 ~ 30 |
6.2 資金管理(預設不參與 HyperOpt)
| 參數 | 含義 |
|---|---|
| max_funds_allowed_using | 最大可動用資金 |
| allowable_funds_neutral | 中性市況使用比例 |
| allowable_funds_uptrend | 上升趨勢使用比例 |
| allowable_funds_downtrend | 下跌趨勢使用比例 |
6.3 止損參數(支援 HyperOpt)
| Key | 名稱 | 作用 | 可優化 |
|---|---|---|---|
| force_stop_loss | 強制止損 | 硬止損 | ✅ |
| daily_stop_loss | 日級止損 | 僅動量衰退時檢查 | ✅ |
6.4 止盈參數(支援 HyperOpt)
| Key | 名稱 | 作用 | 可優化 |
|---|---|---|---|
| force_take_profit | 強制止盈 | 鎖定極端獲利 | ✅ |
| daily_take_profit | 日級止盈 | 動量衰退後檢查 | ✅ |
7. 適用場景與特點
適用於
- 具有明顯波動與趨勢的標的(成長股、熱門 ETF、加密貨幣)
- 1m / 5m 短週期趨勢交易
- 具穩定成交量、易出現突破行情的標的
- 需要 HyperOpt 自動尋參的研究環境
不適用於
- 長期窄幅震盪的標的
- 成交量極低的小盤股
- 完全由消息面驅動的超短線行情
8. 策略優勢與不足
優勢
- EMA + 突破 + RSI + 放量 → 多維度「真動量」確認
- AI 過濾器降低劣質信號
- 賣出邏輯細緻:動量衰退 + SL/TP
- 完整支援超參優化
- 與 PulseForce 生態深度整合
不足
- 策略較複雜,依賴數據品質
- 在震盪市中訊號可能偏少
- AI 過濾效果取決於模型訓練品質
9. 總結
PulseForce 內建的 momentum 動量策略,是建立在經典動量思想之上、結合多指標確認與 AI 過濾的 增強型趨勢策略。
- EMA 快慢線 → 趨勢方向
- 近期高點突破 + RSI 強勢區間 + 放量 → 動量品質
- AI 模型 → 二次審核
- Force / Daily SL/TP → 風控更智慧
- HyperOpt → 自動搜尋最適化參數
若你希望在 PulseForce 中構建 更聰明、更穩健的動量策略,這是一個非常成熟且可擴充的基礎模組。
想了解更多策略與最新功能:
👉 PulseForce 官網:https://www.hiforce.ai