動量策略 Momentum Trading:橫截面選股與多空組合|Quant Theory 第 12 講筆記
第 12 課・共 34 課
目錄
這是 Liu Peng 大學級量化交易課程第 7 講的筆記,主題是動量交易策略 Momentum Trading Strategy。講者先界定動量策略利用價格走勢的強度作為開倉依據,再把它與上一講的趨勢跟隨策略對照,帶出「橫截面、相對動量」這個核心分別,最後示範如何按回報排名選出頂部與底部股票,組成多空組合並計算策略利潤。
學習重點
- 動量策略的定義:根據近期價格走勢的強度,對一組選定資產買入或沽空,背後假設是走勢有足夠力量,會沿原方向延續。
- 橫截面是本質:動量策略在同一時點比較多隻資產的相對強弱,屬相對動量;趨勢跟隨只看單一資產自身歷史,屬絕對動量,兩者是最根本的分別。
- 雙窗口設計:一個統一的回望窗口(look-back)量度所有資產的歷史表現,另一個統一的前瞻窗口(look-ahead)設定持有期,兩者對所有資產長度一致。
- 三個時期分工:量度期(measurement period)算回報指標、建倉期(formation period)做交易決策、評估期(evaluation period)檢視表現,每月循環一次。
- 實現靠排名:按六個月累積回報把資產分為五等份,買入最高兩成、沽空最低兩成,策略利潤等於好倉平均回報減淡倉平均回報。
詳細筆記
動量策略的基本概念
講者開宗明義:動量交易策略是一類利用價格變動趨勢的策略,以價格走勢的強度作為開倉基礎,對象是一組選定的資產,方向可好可淡。操作的具體內容是:按近期價格趨勢的強弱,買入或賣出這批資產。背後的關鍵假設只有一個——只要價格變動背後有足夠力量,趨勢就會沿原方向繼續行。
動量交易者要做的事,是在某個方向上找出主導趨勢的「驅動資產」(driver assets),即那些動量最強、預期價格變動最可觀的資產,然後從中獲利。講者特別點出,動量策略依賴三個重要因素:成交量 Volume、波幅 Volatility 與時間框架 Time Frame。成交量反映走勢背後的參與程度,波幅關乎價格變動的幅度與風險,時間框架則決定量度動量的尺度——三者共同決定一個動量訊號是否值得跟隨。
學術上,動量效應是自 Jegadeesh 與 Titman 於 1993 年的經典研究起被廣泛記錄的市場異象:過去 3 至 12 個月表現最好的股票組合,在隨後數月傾向繼續跑贏表現最差的組合。後續研究把類似效應擴展至多國股市與外匯、商品、債券等資產類別,令動量成為因子投資中歷史最悠久、證據最充分的因子之一。講者本講的設計——回望六個月、持有一個月——正是這類研究的典型參數配置。
與趨勢跟隨策略的根本分別
講者強調,動量策略與之前講過的趨勢跟隨策略之間,第一個、也是最重要的分別是:動量策略是橫截面 Cross-Sectional 的。意思是它在同一個時間點,把多隻資產的動量並排比較,從中揀選動量最高的來投資。舉例:手上有 10 隻資產,策略會按動量排名,揀出最強的 5 隻持有。本質上,它分析的是多隻資產在特定時點的相對差異——「相對」二字是關鍵。因此動量策略又稱為相對動量 Relative Momentum。

反觀趨勢跟隨策略,它使用的是時間序列動量 Time-Series Momentum,只看某一資產自身的歷史回報,完全不與其他資產比較,所以又稱絕對動量 Absolute Momentum。操作上,它用一長一短兩個回望窗口各自產生一條移動平均線(典型參數是 5 與 20),兩線交叉時發出交易訊號。由此帶出兩個操作層面的差異:
- 交易時機:趨勢跟隨沒有固定交易週期,何時行動純粹由數據驅動,取決於交叉何時出現;動量策略則按固定節奏(例如每月)定期重新排名、調整倉位。
- 比較對象:趨勢跟隨是資產與自己的過去比,動量策略是資產與同儕比。一個是垂直於時間軸的自我審視,一個是橫切同一時點的群體排名。
雙窗口設計與三個時期
動量策略涉及兩個窗口。第一是回望窗口 Look-Back Window,對所有資產長度一致(所以稱為 uniform),用來評估各資產的歷史表現——例如計算過去六個月的累積回報,作為排名的指標。第二是前瞻窗口 Look-Ahead Window,同樣對所有資產一致,用來決定建倉後的持有期,可以是一個月或兩個月。前瞻窗口可理解為樣本外 Out-of-Sample 期間:在當下時點制定策略、做交易決策,然後觀察這段窗口內的實際表現。一個週期完結後,在下一個時點重複整個流程:再回望六個月、再決策、再持有一個月,如此循環。

講者進一步用一條時間軸(每格代表一個月)把流程拆成三個時期:
- 量度期 Measurement Period:回望窗口內的歷史段,本講設定為六個月,用來計算量度動量的指標。
- 建倉期 Trade Formation Period:當前這一個月。由於策略以月度運作,交易決策可在月內任何時點形成,整個月都屬建倉期。
- 評估期 Evaluation Period:又稱表現期(performance period),即建倉後往前看的一個月,用來檢視這輪決策的實際成果。
值得注意的是指標的選取:雖然量度期有六個月數據,講者示範時用的是期終月度回報——把六個月的歷史表現壓縮成單一指標(六個月累積月度回報),作為跨資產比較的共同尺碼。六個月的原始數據歸納為一個數字,再在當月產生交易訊號,到評估期才量度表現,整個決策鏈條就是這樣運作。
這套三時期架構還有一層方法論意義:決策只用量度期內已實現的數據,評估期的表現在決策當刻完全未知。換言之,每次循環都是一次真正的樣本外檢驗,結構上杜絕了以未來資訊做決定的可能——這正是量化研究中最忌諱的前視偏差 Look-Ahead Bias 的防線。把「每月固定重做一次」寫進策略規則,也令整個流程可以完全自動化、可複製,不依賴交易員的即市判斷。
策略實現:排名、選股與利潤計算
講者最後展示程式碼的核心邏輯(詳細實驗室環節留待後續影片)。數據上,先準備一個數據框(DataFrame),存放每隻股票截至量度期末的六個月累積月度回報,即每隻資產一個動量指標。接着是排名與篩選:
- 把所有資產按動量指標分為五等份(五分位)。排名屬最高一份(rank 等於 4,即頂部 20%)的股票抽出來,成為好倉名單——示範中約有 6 隻股票,如 AMGN、CVX、IBM、KO、MRK、TRV。
- 同樣地,把排名屬最低一份(底部 20%)的股票抽出來,成為淡倉名單,如 BA、CRM、CSCO、DIS、HD、NKE。邏輯是:根據過去六個月數據,這些股票的跌勢有足夠動量延續,因此沽空 Short Selling 它們。

設第 $i$ 隻資產在量度期的動量指標為其六個月累積回報:
$$R_i^{mom} = \prod_{t=1}^{6} (1 + R_{i,t}) - 1$$其中 $R_{i,t}$ 是資產 $i$ 在第 $t$ 個月的回報。按 $\{R_i^{mom}\}$ 由大至小排名後,取頂部 20% 組成好倉組合 $L$、底部 20% 組成淡倉組合 $S$。在評估期內,策略的總回報就是好倉組合的平均回報,減去淡倉組合的平均回報(因為是淡倉,符號為負):
$$\pi_{mom} = \frac{1}{|L|} \sum_{i \in L} R_i^{eval} - \frac{1}{|S|} \sum_{j \in S} R_j^{eval}$$這正是學術文獻中的「贏家減輸家」(winner-minus-loser)組合。講者示範的程式碼將其寫成一行:momentum_profit = long_return_df.mean() - short_return_df.mean(),算出的月度利潤約為 $1.59%$。需要留意,這只是單一月份的示例數字,說明計算結構,並非策略長期表現的證據。
🙏 覺得內容有用?本站所有內容免費提供,使用推薦碼開戶就是支持我們繼續營運的最大鼓勵:
ZA Bank 邀請碼 P20923
—— 你享 HKD 2,000 迎新獎賞,本站獲得營運支持。
立即開戶 →
(聯盟連結|投資涉及風險,受條款及細則約束,此資料僅可於香港境內分發)
欣利克的看法
- 「相對」與「絕對」動量不宜混為一談。初學者常把動量策略與趨勢跟隨視為同一回事,其實兩者的訊號來源根本不同:一個橫向比較群體,一個縱向審視單一資產的歷史。實務上兩類訊號可以互相矛盾——某股票自身在跌,但相對同業仍屬最強。釐清這層分別,是讀懂動量文獻的前提。
- 常見誤區是把單期示例當成策略承諾。講者示範中 1.59% 的月度利潤只是某一輪循環的結果,用以展示公式結構。策略的長期表現取決於資產池、窗口長度、市場環境與交易成本,單期數字沒有統計意義;評估時必須看多年、多市況下的樣本外表現。
- 動量崩盤 Momentum Crash 是繞不開的風險概念。文獻(如 Daniel 與 Moskowitz 2016 年的研究)指出,動量策略在趨勢急劇逆轉時——典型情境是熊市見底反彈——會出現極端虧損:被沽空的「輸家」股大幅反彈,「贏家」股同步回吐,多空兩邊同時受創。動量策略長期正回報與間歇性劇烈回撤,其實是同一枚硬幣的兩面。
- 參數選擇本身就是研究結論的一部分。回望六個月、持有一個月、五分位分組,這些數字來自美股研究的傳統設定,並非普遍最優。不同資產類別的動量特性各異,窗口與分組方式需要重新驗證。截至 2026 年中的研究共識是:動量效應普遍存在,但強度與穩定性隨時期波動。
- 多空結構的含義要想清楚。贏家減輸家組合理論上是市場中性的,大市齊升齊跌時兩邊互相抵銷;但實務上淡倉涉及借貨成本、按金要求與夾倉風險,這些摩擦在回測中容易被低估。閱讀回測結果時,值得先問:交易成本與沽空限制有否計算在內。
名詞解釋
- 動量 Momentum:價格走勢維持原方向延續的傾向,有方向與強度兩個屬性,是動量策略與趨勢跟隨的共同基礎。
- 橫截面動量 Cross-Sectional Momentum:在同一時點比較多隻資產的相對表現,買入最強一組、沽空最弱一組的動量策略形式。
- 時間序列動量 Time-Series Momentum:只按單一資產自身歷史回報判斷方向的動量形式,又稱絕對動量,趨勢跟隨策略屬此類。
- 回望窗口 Look-Back Window:策略用來量度歷史表現的固定時間長度,例如動量策略的六個月量度期。
- 沽空 Short Selling:先借入資產賣出、日後買回歸還的操作,用來在預期跌市中獲利,本講用於構建輸家組合的淡倉。
- 樣本外 Out-of-Sample:策略制定時未曾使用的數據期間;動量策略的前瞻窗口性質上就是逐月的樣本外檢驗。
常見問題 FAQ
動量策略和趨勢跟隨策略有甚麼分別?
最核心分別在比較對象:動量策略是橫截面的,在同一時點比較多隻資產的相對強弱(相對動量);趨勢跟隨是時間序列的,只看單一資產自身的歷史走勢(絕對動量)。操作節奏上,動量策略按固定週期(如每月)重新排名調倉,趨勢跟隨則由移動平均線交叉等訊號驅動,交易時機不固定。
動量策略為甚麼要同時建立好倉和淡倉?
多空結構有兩個作用。第一是對沖市場整體方向:大市齊跌時,好倉的損失可由淡倉的利潤部分抵銷,令策略回報主要反映「強弱之間的差異」而非大市走向。第二是學術檢驗的需要:贏家減輸家(winner-minus-loser)組合的回報,正是文獻用來量度動量效應是否存在的標準工具。
回望窗口和前瞻窗口應該怎樣設定?
本講採用學術研究的典型設定:回望六個月、持有一個月。一般文獻發現動量效應在 3 至 12 個月的量度期較為顯著,持有期多為一個月至一季。但這些參數並非鐵律,不同市場與資產類別需要各自回測驗證;窗口太短易受雜訊干擾,太長則訊號滯後,選擇時要在兩者之間取捨。
動量策略最大的風險是甚麼?
是動量崩盤(momentum crash):當市場趨勢急劇逆轉(例如長期跌市後突然大幅反彈),被沽空的弱勢股往往反彈最急,而強勢股同時回吐,令多空組合兩邊同時錄得重大虧損。歷史上動量策略的長期正回報與間歇性的劇烈回撤並存,評估策略時不能只看平均回報,也要審視最差時期的回撤幅度。
原影片
本文整理自以下影片,版權屬原創作者所有,建議配合原片觀看: