LambdaMART 截面排名動能策略:以Learning to Rank 強化台灣 50 動能選股

圖片來源 : Unplash

前言與策略背景

傳統動能策略通常將選股視為報酬預測問題,試圖精確估計每支股票的未來絕對報酬率。然而,主動選股的本質並非預測報酬的精確數值,而是在截面上找出「哪幾支股票相對更強」—— 這是一個排名問題(Ranking Problem)

本策略根據論文 Learning to Rank Enhancing Momentum Strategies Across Asset Classes,將截面選股重新定義為機器學習中的 Learning to Rank(LTR)任務:以多個動能因子作為特徵,訓練 LambdaMART 模型直接最大化截面排名的 NDCG(Normalized Discounted Cumulative Gain)目標。與單因子動能或線性多因子合成相比,LambdaMART 能自適應地學習因子之間的非線性交互作用,並以排名目標取代均方誤差,使模型更直接服務於選股決策。

策略以歷史台灣 50 成分股(TW50)投資標的 ,採月度再平衡,每期買入 LTR 分數最高的前 10 支股票,等權配置。訓練採用 Walk-Forward 架構,每預測一個月份前僅使用過去所有月份的歷史資料,嚴格避免前瞻偏差。

本研究採用專為台股開發的 TQuant Lab 回測系統,透過與 TEJ API 深度整合,大幅提升因子運算與數據整併效率:

  • TQuant PIT 資料集:提供 Point-in-Time 資料,精確紀錄數據發布的原貌,有效排除「前瞻偏差 (Look-ahead Bias)」,確保回測結果具備高度實戰參考價值。
  • TejToolAPI 資料整併:支援跨頻率數據轉換,能一鍵整併季、月、日等不同頻率的資料(如財報與日股價),簡化進出場訊號的建構流程。
  • 專業分析模組:內建 Zipline 回測引擎與 Pyfolio 績效模組,並支援 Alphalens 進行因子健檢,在回測前即可先行驗證因子的預測力與穩定性。

TQuant Lab 回測系統提供標準化且具高度重現性的實驗平台,助您精確模擬真實交易邏輯。

👉 立即造訪 TQuant Lab 官網,掌握台股量化開發利器。

量化定義與資料來源(Data & Methodology)

策略邏輯

特徵因子(6 個)

策略使用以下 6 個動能與波動率相關特徵因子

說明計算方式
三時間尺度 MACD 合成訊號三組快慢線  移動平均( (天數為8/24、16/48、32/96),各組計算 MACD / σ(近63日價格) 後套用轉換函數 φ(x) = x·exp(−x²/4)/0.89,三組等權合成
波動率調整動能21 日報酬 ÷ 21 日日報酬標準差
短期動能近 21 個交易日(約 1 個月)報酬率[1] 
中期動能(跳過最近一個月)從 T-64 到 T-22 的報酬率,跳過最近 1 個月以避免短期反轉偏差
中長期動能(跳過最近一個月 )從 T-127 到 T-22 的報酬率,同樣跳過最近 1 個月
波動率因子近 21 個交易日日報酬標準差

Walk-Forward 滾動訓練架構

每個回測月份 T 的預測流程如下:

  1. 訓練集:使用歷史累積月份 $[0, T-1]$ 的數據(包含各期特徵與前向 1 個月報酬的分位數標籤)
  2. 標籤定義:在每個月份截面內,依前向 1 個月報酬分為 5 個分位組(0 = 最差,4 = 最佳)
  3. LambdaMART 訓練:採用排序學習(Rank Optimization) 為目標訓練,評估指標為 NDCG@5 與 NDCG@10;並設定月份截面分組,使模型理解截面排名結構
  4. 預測:對當前月份 T 各檔股票輸出排序分數
  5. 執行:買入排序  分數最高的前 10 檔股票,進行等權配置。 

模型設定參數

參數說明
學習目標 (Objective)lambdarank以截面排名最佳化為目標
評估指標 (Metric)ndcg衡量排序結果品質的權重累積增益
評估截面深度[5, 10]著重評估前 5 與前 10 名之排序精準度
學習率 (Learning Rate)0.05模型學習步長
樹葉節點數 (Num Leaves)31控制單棵樹之最大複雜度
葉節點最小資料量5防止過擬合的節點資料限制
迭代輪數 (Boost Rounds)100提升樹之建構次數
seed 隨機種子 (Seed)42確保結果可重現

策略交易執行機制

  • 每日盤前處理:每個交易日開盤前,自動更新最新因子運算結果與當期目標持股名單。
  • 定期再平衡:設定僅於每月第一個交易日執行實際的部位調整與下單作業。
  • 進場邏輯:對於當期目標持股名單內的每檔股票,以等權重(各占資產約 10%)下單買入。
  • 出場邏輯:對於原持股中已未列入當期目標名單的個股,進行全數賣出平倉。
  • 資料動態更新:模型的排序分數按月載入,並於月內自動延續與保持最新狀態

資料來源與期間設定

– 資料來源:TEJ 投資用資料庫

– 投資標的:台灣 50 成分股

– 訓練資料期間:2016-01-01 ~ 2019-12-30(4 年,純訓練用,不進入回測)

– 回測期間:2019-12-30 ~ 2024-12-31- 最短訓練月份:12 個月(首次預測前需累積至少 1 年訓練資料)

– 再平衡頻率:月度,每月第一個交易日)

– 持股數量:前 10 名,等權配置,每檔約 10%

– 初始資金:新台幣 100 萬元(- 交易成本:買入 0.1425% 手續費;賣出 0.1425% 手續費 + 0.3% 證券交易稅(- 滑價成本:`VolumeShareSlippage(volume_limit=0.025, price_impact=0.05)`

– 基準指數:IR0001(臺灣加權股價報酬指數)

實戰回測與圖表分析

指標項目策略台灣加權指數 (Benchmark)
年化報酬率 (Annual return)43.656%18.348%
累計報酬率 (Cumulative returns)475.965%125.74%
年化波動率 (Annual volatility)29.43%18.61%
夏普比率 (Sharpe Ratio)1.381.00
索提諾比率 (Sortino Ratio)1.981.40
卡瑪比率 (Calmar Ratio)1.070.64
最大回撤 (Max Drawdown)-40.757%-28.553%
 歐米茄比率 (Omega Ratio)1.261.19
日風險價值 (Daily VaR)-3.547%-2.271%
日換手率 (Daily Turnover)5.651%
Alpha0.19
Beta1.26

圖 1:策略累計報酬率 vs 加權指數(Equity Curve)

說明:LTR 排序策略於 2019-12-30 ~ 2024-12-31 期間累計報酬達 475.965%,遠超 加權指數的 125.74%,超額累計報酬約 350 個百分點。策略 Beta 為 1.26,反映持股整體波動高於大盤;但 Alpha 達 0.19,代表在承擔市場風險以外,LambdaMART 排名模型確實帶來了顯著的超額報酬。2020 年 V 型反彈與 2023-2024 年 AI 相關行情的高 Beta 特性,有助放大策略在多頭期間的絕對表現。

圖 2:策略回撤曲線(Drawdown Curve)

說明:策略最大回撤為 -40.757%,顯著深於基準的 -28.553%。Beta 1.26 放大了市場下行時的損失,2022 年全球升息環境造成的科技股修正可能是主要回撤來源。Calmar Ratio 1.07(年化報酬 / |最大回撤|)優於基準的 0.64,代表在承擔更深回撤的同時,報酬補償相對充足。

圖 3:月度報酬分布(Monthly Returns Bar Chart)

由月報酬分佈圖(Distribution of monthly returns)可見,策略的單月報酬主要集中在零軸附近的正值區間(黃色虛線代表之平均值高於零),呈現小幅度的正向偏移。大部分月份皆錄得正報酬,僅少數月份出現較大的極端正報酬或較深的負報酬,整體分佈型態大致維持對稱,未見顯著的單邊失衡現象

深度洞察與優化建議

回測結果判讀

本策略的 Alpha 來源有兩層:因子本身的預測力LambdaMART 對因子非線性組合的學習能力。台灣50 成分股流動性高、資訊效率相對充足,因此單一因子 alpha 的強度預期低於全市場選股,但同樣受益於以下結構特性:

  • 有利的市場情境:當 台灣50 成分股出現明顯的截面分化(例如半導體族群強勢而傳產族群落後),多時間尺度MACD訊號與中短期動能因子將捕捉到清晰的排名訊號,LambdaMART 的 NDCG 最優化在此情境下效果最佳。
  • 不利的市場情境:當 台灣50 成分股高度同步(例如系統性拋售或指數期貨帶動的全面下跌),截面排名訊號雜亂,模型排名能力(排序分數離散度趨近零)下降,選出的前 10 支股票與其餘成分股報酬差距縮小,策略退化為接近等權 台灣50。此時策略仍保持多頭曝險,無法避免系統性回撤。
  • Walk-Forward 架構的穩健性:策略使用 2016-2019 年(4 年)作為預訓練資料,確保 2019-12-30 回測第一天就有 12 個月以上的訓練樣本(。Walk-Forward 的每期訓練集持續累積,理論上模型會隨時間改善,但也可能在市場風格急劇切換時出現短暫的模型滯後(訓練資料仍以舊風格為主)。

綜合回測表現,本策略在報酬效率與風險調整後收益上均顯著超越基準大盤,然而,較高的市場曝險 (Beta) 也導致策略在空頭市場中承受更深的最大回撤。整體而言,模型展現了強大的超額報酬創造能力,但投資人仍需具備承受階段性較高波動與回撤的風險承受度。 

策略侷限性與潛在風險

  • 過擬合風險:LambdaMART 的超參數(在本版本為固定值,未進行 Walk-Forward 內部交叉驗證。若 台灣50 的截面樣本數每月僅約 42-50 支,訓練樣本相對模型複雜度的比例需關注,存在過擬合至特定歷史風格的風險。
  • Small universe 問題:台灣50 約 50 支成分股,每月截面樣本數有限。LambdaMART 在大截面(數百支股票)中排名效果更穩定;小截面下的 NDCG 最優化可能受雜訊影響較大,實際排名能力與大截面論文結果可能有落差。
  • Long-only 無空頭保護:策略等權持有排名前10的股票,無做空機制。在系統性風險(如 2022 年升息環境)中,所有持股同步下跌,最大回撤可能與加權指數相當甚至更大。
  • 交易成本侵蝕:每月換倉的交易成本(買入 0.1425% + 賣出 0.1425% + 0.3% 證交稅 = 0.585%)在持股排名前10、等權配置下,每換 1 支股票(佔 10% 部位)成本約 1/10 × 0.585% = 0.0585%。若每月換手 4-6 支,年化交易成本約 3-4%,對策略淨 Alpha 影響顯著。

可行的量化優化方向

  1. 加入 Walk-Forward 內部驗證:在每期訓練時用最近 3 個月作為驗證集(早期停止 early stopping),動態調整模型迭代輪 ,降低過擬合風險。
  2. 擴大標的至 TWSE 前 150 大市值:增加截面樣本數可提升 LambdaMART 的排名學習效果,同時保持流動性。論文原始實驗即採用較大截面,台灣50 是此次實作的保守起點。
  3. 加入市場 趨勢/總體 濾網(Market Regime Filter) :當 加權指數 月報酬連續 2 個月為負時,將持股數降至前五名或全部轉為現金,減少空頭期間的系統性曝險。
  4. 加入排序離散度( LTR Spread) 自動監測:若滾動 3 個月的平均排序分數差距 低於閾值(代表模型排名能力退化),自動縮減部位至 50%,等 排序能力 回升後再恢復全倉。
  5. 增加基本面特徵:可加入盈餘殖利率、帳面市值比等價值因子,讓 LambdaMART 在動能衰退期間能以基本面特徵為替代排名依據,提升跨 市場環境的穩健性。

TEJ 產品推廣

TEJ 量化資料庫:克服前瞻偏差的關鍵數據

量化回測最忌諱使用「未來資料」。TEJ 量化資料庫 的核心優勢在於完善的 Point-in-Time (PIT) 當時點數據架構。這代表資料庫紀錄的是數據「當時」發布的正確數值與時間點,而非事後修正後的數字。透過 PIT 數據,您能確保回測時使用的是當時市場真正能取得的資訊,徹底排除「前瞻偏差(Look-ahead Bias)」,讓回測績效具備極高的實戰參考價值。

TQuant Lab:一站式量化策略開發平台

TQuant Lab 是專為量化交易者設計的專業開發環境,整合了從數據調取、策略研發至績效評估的全流程優勢:

  • 精準數據與高效整併:內建 Point-in-Time (PIT) 量化資料集,配合 TejToolAPI 自動完成跨頻率數據整併(如將季、月頻率財務指標轉換至日頻率),讓使用者在排除前瞻偏差的前提下,快速建構如「營收成長率」等複雜選股因子。
  • 高模擬度事件驅動回測:採用 事件驅動 (Event-driven) 架構,全方位模擬台股真實交易環境。回測過程中嚴謹計入證交稅、手續費與滑價成本,並具備注意股、處置股等流動性過濾機制與資金控管功能,確保回測績效具備高度的可執行性。
  • 多構面績效量測指標:系統化產出專業評估報表,包含涵三大構面:
  • 報酬指標:累計報酬率、年化報酬率、Alpha 值。
  • 風險指標:最大回撤 (MDD)、夏普比率 (Sharpe Ratio)。
  • 持股分析:前十大持有標的占比、換手率統計。

數據的品質與工具的效率,決定了量化模型的生命力。不論您是想複製大師經典策略,或是開發獨門的因子模型,TEJ 與 TQuant Lab 都是您在資本市場中最堅實的數據後盾。

🚀 準備好開啟您的量化交易之路了嗎?

本文內容僅供研究與學術探討之用,不構成任何投資建議。 

延伸閱讀

這篇文章對您有幫助嗎?
返回總覽頁
×
Processing...