對數回報 Log Return 與技術指標入門|Quant Theory 第 10 講筆記
第 10 課・共 34 課
目錄
這是 Liu Peng 大學級量化交易課程第 6 講的筆記,主題是對數回報 Log Return 與技術指標 Technical Indicator。講者先用 Python 實機示範三種計算累積回報的方法,藉此帶出對數回報「化乘法為加法」的數學優點;其後引入趨勢交易的基本概念,解釋動量的方向與強度,以及技術指標在產生交易訊號中的角色。
學習重點
- 對數回報的定義:$r_t = \ln(1 + R_t) = \ln(P_t / P_{t-1})$,即在 1+R 格式回報上取自然對數,是一種方便計算的數學變換。
- 可加性是核心優點:由對數性質 $\ln(AB) = \ln A + \ln B$,多期回報的累積由連乘(cumprod)化簡為連加(cumsum),數學分析容易得多。
- 三種算法殊途同歸:首尾價格直接相除、單期回報連乘、對數回報連加再取指數,三者得出的終值回報完全一致,講者以程式逐項驗證相等。
- 動量是向量:有方向(向上或向下)與大小(趨勢自我延續的強度)兩個屬性,趨勢跟隨策略的假設是升勢續創新高、跌勢續創新低。
- 技術指標是人工特徵:由歷史開高低收價或成交量經數學運算衍生,用來產生進出場訊號,但高度依賴個別證券,不能一概而論。
詳細筆記
由價格數據到終值回報
講者以 Google(GOOG)股票作示範,用 yfinance 下載 2023 年第一週的價格數據。數據由 1 月 3 日開始——並非每日都是交易日,2023 年首個交易日是 1 月 3 日。欄位方面,有開市價、最高價、最低價、收市價、調整後收市價與成交量,這就是整個示範所用的原材料。

講者以買入一股股票的情境說明:期初收市價是建倉時的價格,期末收市價是投資期結束時的價格。計算整段期間的終值回報 Terminal Return,最直接的方法是用這兩個價格點:期末收市價除以期初收市價,再減 1:
$$R_{0,T} = \frac{P_T}{P_0} - 1$$其中 $P_T / P_0$ 是 1+R 格式(代表期末手持資產相對期初本金的倍數),減 1 後還原成簡單回報。示範中股價在該週下跌,得出的終值回報約為 $-1.72\%$,反映持倉價值縮水——價格跌,回報自然是負數。這個算法只需兩個數據點,勝在直觀,但它沒有利用中間任何一日的價格資訊。
第二種算法:單期回報連乘
第二種方法先計算每個交易日的單期回報,再經序列複利 Sequential Compounding 累積。程式上對收市價序列應用百分比變化函數(pct_change),得出每期回報:
$$R_t = \frac{P_t}{P_{t-1}} - 1$$留意第一期的值是空值(NaN),因為它之前沒有價格點可供計算。接着把回報轉成 1+R 格式(代表「手上資金」的逐期倍數),再用累積乘積函數(cumprod)把截至當期的所有回報連乘:
$$R_{0,t} = \prod_{i=1}^{t} (1 + R_i) - 1$$最後減 1,把 1+R 格式還原成簡單回報。cumprod 輸出的是一條完整序列:每一期的數值代表由期初持有到該期的累積回報,可以觀察資金中間的升跌軌跡,而不只是終點。對比最後一期的累積值,與首尾價格法算出的終值回報完全相同——兩條路徑抵達同一終點。這呼應了風險與回報|第 7 課推導過的結論:多期回報是複利連乘,中間項全部對銷後只剩 $P_T / P_0$。
第三種算法:對數回報登場
第三種方法引入本講主角。把 1+R 格式的單期回報取自然對數,就得到對數回報 Log Return:
$$r_t = \ln(1 + R_t) = \ln\left(\frac{P_t}{P_{t-1}}\right)$$同樣地,第一期因沒有前期價格而為空值。關鍵分別在下一步:原本要用累積乘積(cumprod),現在改用累積求和(cumsum)。原因正是對數函數的基本性質——乘積的對數等於對數之和:
$$\ln(A \cdot B) = \ln A + \ln B \quad\Longleftrightarrow\quad A \cdot B = e^{\ln A + \ln B}$$套用到多期回報:$1+R$ 格式的終值倍數本是各期 $(1 + R_i)$ 的連乘積,取對數後變成各期對數回報的總和,再取指數便還原原來的乘積。整條推導鏈如下:
$$\prod_{i=1}^{t} (1 + R_i) = \exp\left(\sum_{i=1}^{t} \ln(1 + R_i)\right) = \exp\left(\sum_{i=1}^{t} r_i\right)$$因此累積回報的對數回報版本是:
$$R_{0,t} = \exp\left(\sum_{i=1}^{t} r_i\right) - 1$$
過程經歷幾重變換——取對數、累積求和、取指數、減 1——但最終計算的是同一樣東西。講者用程式逐項核對:對數回報累積結果、cumprod 累積結果、首尾價格法的終值回報,三者全部相等,驗證回傳 True。
為何要繞這個圈?講者點明:加法比乘法容易處理得多。把問題轉到對數空間,連乘變連加,數學分析(例如微分、統計建模)大為簡化;需要實際回報數字時,取指數轉回原來尺度即可。這是量化研究普遍採用對數回報的根本原因。具體而言,對數回報的可加性帶來三個實際好處:其一,任意期間的回報可由每日對數回報直接加總得出,毋須逐期連乘;其二,加法運算在統計上較易處理,均值、方差等分析工具都建基於可加變量;其三,程式實現上 cumsum 比 cumprod 簡潔,數值穩定性亦較好。
趨勢交易與動量
完成回報計算的討論後,講者轉入本講第二部分:趨勢交易 Trend Trading。這是一類捕捉單向走勢收益的策略,核心是資產價格的動量 Momentum。
講者建議把動量想像成一個向量 Vector。向量有兩個屬性:其一是方向——動量可以向上或向下;其二是大小——動量有多強。對應到市場語言:
- 趨勢 Trend:資產價格朝着一個整體方向移動,向上或向下。
- 動量 Momentum:價格走勢自我延續的能力與強度——趨勢能否保持下去。

建基於此,趨勢跟隨策略 Trend-following Strategy 利用動量捕捉前向走勢:上升趨勢預期續創新高,下降趨勢預期續創新低。換言之,策略的基本假設是「趨勢會延續」——跟隨趨勢,就是賭新高之後還有新高、新低之後還有新低。這是假設而非定律,策略成敗繫於市場是否真如假設般運行。
技術指標的角色與局限
如何把「趨勢延續」這個模糊概念落實成可執行的規則?答案是技術指標 Technical Indicator——一套基於歷史數據的數學計算,原材料可以是最高價、最低價、開市價、收市價或成交量。指標的用途是產生交易訊號 Trading Signal,即進場與離場時點;交易者據此建立好倉或淡倉。

講者特別強調兩點。第一,從機器學習的角度看,技術指標本質上是人工構建的特徵 Manually Engineered Feature——由人憑經驗設計的衍生變數,而非模型自動學習出來的表示。第二,指標高度依賴個別證券 Security-dependent:對某項資產有效的指標,換一項資產未必有效,沒有放諸四海皆準的設定。
實務用途上,技術指標用來確認市場處於哪種狀態:是跟隨趨勢,還是區間橫行 Range-bound——價格在某個上下限之間反覆震盪,始終不突破邊界。趨勢交易者尋找的,正是有足夠動量突破區間上下限的走勢;區間市中的訊號多屬噪音。
兩種市況的分辨之所以重要,是因為策略的適用性取決於市場狀態:趨勢跟隨策略在區間市中會反覆進出、累積虧損,區間策略在趨勢市中則會逆着大方向操作。技術指標正是用來輔助這個判斷,然後才談得上產生具體訊號。
本講到此為止,具體指標的計算與完整策略留待下一講。回顧全講脈絡:對數回報提供了處理多期回報的數學利器,動量與趨勢提供了策略的經濟直覺,技術指標則是把直覺變成訊號的工程工具——三者正是建構趨勢跟隨策略的三塊基石。
🙏 覺得內容有用?本站所有內容免費提供,使用推薦碼開戶就是支持我們繼續營運的最大鼓勵:
ZA Bank 邀請碼 P20923
—— 你享 HKD 2,000 迎新獎賞,本站獲得營運支持。
立即開戶 →
(聯盟連結|投資涉及風險,受條款及細則約束,此資料僅可於香港境內分發)
欣利克的看法
- 概念釐清:對數回報與簡單回報的適用場景不同。做時間序列分析(加總多期回報、計算波動率、擬合統計模型)時,對數回報的可加性令推導順暢,是量化研究的預設選擇。但計算投資組合橫切面回報——各資產按權重加權——簡單回報才正確,因為組合回報等於各資產簡單回報的加權平均,對數回報沒有這個性質。兩者各有管轄範圍,混用是常見錯誤。
- 常見誤區:以為兩種回報可互換使用。單期數值上兩者接近(約 $r_t \approx R_t$,僅在回報幅度小時成立),但回報越大偏差越明顯——單日跌 50% 的簡單回報,對應對數回報約 $-69\%$。波動劇烈的資產若把兩者當成同一回事,累積誤差足以扭曲回測結論。
- 觀點比較:技術指標的定位因人而異。講者把指標定性為「人工構建的特徵」,是特徵工程的一環;傳統圖表派則傾向把指標當成獨立的判市工具。前者強調可回測、可組合,後者強調經驗與盤感。量化路線下指標必須經得起樣本外驗證,這是兩種視角的分水嶺。
- 時效提醒:指標有效性隨市場結構漂移。講者明言指標高度依賴個別證券;更進一步,同一證券在不同年代的市場微結構下,指標表現亦會改變。截至 2026 年中的市場環境與數年前已有不小差異,任何基於歷史數據調校的指標參數,都應定期重新檢驗,不宜當成永久有效。
名詞解釋
- 對數回報 Log Return:取 1+R 格式回報的自然對數,具時間可加性,多期累積由連乘化簡為連加,是量化研究的標準回報口徑。
- 技術指標 Technical Indicator:以歷史價量數據經數學運算得出的衍生數值,用來產生進出場訊號,屬人工構建的特徵,高度依賴個別證券。
- 動量 Momentum:價格走勢自我延續的傾向與能力,可視為具方向與大小的向量,是趨勢跟隨策略的核心假設。
- 趨勢跟隨 Trend Following:順着已形成的趨勢方向交易,不預測轉勢,假設升勢續創新高、跌勢續創新低。
- 開高低收 OHLC:開市價、最高價、最低價、收市價四個價格欄位,是計算技術指標最基本的原材料。
- 成交量 Volume:特定時段內的成交股數或金額,與價格並列為技術指標的兩大數據來源。
常見問題 FAQ
對數回報與簡單回報有何分別?
簡單回報是 $R_t = P_t / P_{t-1} - 1$,對數回報是 $r_t = \ln(P_t / P_{t-1})$。單期數值上兩者接近,但數學性質不同:對數回報在時間維度可相加,多期累積只需連加再取指數;簡單回報則要連乘。量化分析多用前者,計算組合加權回報則用後者。
為何對數回報的累積用加法而不用乘法?
因為對數函數把乘積變成求和:$\ln(AB) = \ln A + \ln B$。1+R 格式的多期回報本是連乘積,取對數後自然變成各期對數回報的總和(cumsum),要還原實際回報時取指數再減 1 即可。加法在數學分析與統計建模上遠比乘法容易處理。
用三種方法計算終值回報,結果真的一樣嗎?
一樣。首尾價格直接相除、單期回報經 cumprod 連乘、對數回報經 cumsum 連加再取指數,三者數學上等價。講者在示範中以程式逐項比對,驗證結果全部相等——分別只在計算路徑與後續分析的便利程度。
技術指標對所有股票都有效嗎?
不是。講者明言技術指標高度依賴個別證券:對某項資產有效的指標與參數,用於另一項資產未必成立。指標是基於歷史價量數據的人工特徵,其有效性受該資產的波動特性、流動性與市場參與者結構影響,應用前必須針對個別標的回測驗證。
原影片
本文整理自以下影片,版權屬原創作者所有,建議配合原片觀看: