Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

台灣 Fama-French 五因子模型實證研究

本專案使用 TEJ Pro(台灣經濟新報)資料,依 Fama & French (2015) 原始方法論,建構台灣股票市場的 Fama-French 五因子模型(FF5),並在全市場因子的基礎上,進一步檢驗因子表現是否隨產業而異。

五因子定義

FF5 模型以五個投資組合報酬的線性因子解釋股票橫斷面報酬,五個因子分別為:

因子 全名 建構方式 經濟意義
Mkt-RF 市場超額報酬 全市場價值加權報酬 − 無風險利率 承擔市場系統性風險的溢酬
SMB Small Minus Big 小市值投組報酬 − 大市值投組報酬 規模溢酬:小型股是否優於大型股
HML High Minus Low 高 B/M(價值股)投組報酬 − 低 B/M(成長股)投組報酬 價值溢酬:便宜股是否優於昂貴股
RMW Robust Minus Weak 高獲利能力投組報酬 − 低獲利能力投組報酬 獲利溢酬:高獲利公司是否優於低獲利公司
CMA Conservative Minus Aggressive 低投資(保守)投組報酬 − 高投資(激進)投組報酬 投資溢酬:保守擴張的公司是否優於激進擴張的公司

實務上,SMB / HML / RMW / CMA 皆透過「市值(Size)× 排序變數」的 2×3 投資組合,取價值加權(VW)報酬後合成:

HML = 0.5 × (S_H + B_H) − 0.5 × (S_L + B_L)          (依 B/M 排序)
RMW = 0.5 × (S_R + B_R) − 0.5 × (S_W + B_W)          (依 OP  排序)
CMA = 0.5 × (S_C + B_C) − 0.5 × (S_A + B_A)          (依 INV 排序,方向為低減高)
SMB = 三組排序(B/M、OP、INV)各自得到的 Small−Big 分量之平均

其中 S/B 代表 Small/Big(依 6 月底市值中位數分組),H/N/L 或 R/N/W 或 C/N/A 代表依對應變數 30/70 百分位分成的三組。詳細公式與變數定義見文末〈方法論附錄〉。

資料背景與樣本

  • 資料來源:TEJ Pro 台灣經濟新報,涵蓋月頻股價/報酬/市值資料,以及年頻財務資料(股東權益、資產總額、營收、營業成本、營業費用、利息支出)。
  • 市場範圍:TSE(上市)+ OTC(上櫃),排除全額交割(REG)、TIB、PSB 等特殊交易類別。
  • 產業範圍:排除金融股(銀行、保險、金控、證券),因其財報結構與一般產業不同,TEJ 下載財務檔時已預先排除。
  • 樣本對齊:只保留同時出現在股價檔與所有財務檔的公司,任何變數缺值一律刪除、不做填補。價格宇宙與財務宇宙取交集後,最終有效樣本為 921 家公司
  • 因子期間2015/07 ~ 2025/12,共 126 個月。之所以從 2015 年(而非資料起始的 2000 年)開始,是因為 INV(投資變數)需要連續兩年的資產總額,財務資料最早僅到 2013/12,故首個可計算 INV 的排序年度為 2015 年。
  • 每年排序樣本數:746 ~ 893 家公司(依年度而異)。
  • 產業分類data/raw/sector.xlsx 提供 962 家公司的 TSE 產業別(32 種粗分類)與 TEJ 產業別(87 種細分類),本專案延伸分析採用 TSE 32 種分類。

專案結構

本研究分兩個層次進行:

  1. 全市場分析:把整個台股市場當作單一母體,依標準 FF5 方法做排序與因子計算,得到一組適用於全市場的五因子。
  2. 產業層分析:檢視全市場因子是否過度簡化、掩蓋了產業間的差異,採兩種互補做法:
    • 產業時序迴歸:用全市場五因子當解釋變數,對各產業的投組報酬做時序迴歸,檢視是否存在全市場因子解釋不到的異常報酬(α)。
    • 產業內部因子建構:在公司數夠多的產業內部重新做一次排序,建構「該產業專屬」的五因子,再與全市場因子比較。
ff5/
├── README.md
├── CLAUDE.md
├── src/
│   ├── step1_load.py            # 讀取清理
│   ├── step2_factors.py         # 時間對齊、排序、FF5 因子計算
│   ├── step3_analysis.py        # 描述統計、t 檢定、相關、走勢
│   ├── step4_industry_B.py      # 產業時序迴歸
│   └── step5_industry_A.py      # 產業內部因子建構
├── data/raw/                    # TEJ Pro 原始下載檔(xlsx)
└── output/
    ├── step1/  step2/  step3/   # 全市場分析
    ├── step4/                   # 產業時序迴歸
    └── step5/                   # 產業內部因子建構

執行方式

# 全市場分析
python src/step1_load.py
python src/step2_factors.py
python src/step3_analysis.py

# 產業層分析
python src/step4_industry_B.py   # 產業時序迴歸
python src/step5_industry_A.py   # 產業內部因子建構

Part I — 全市場 FF5 實證結果

一、怎麼讀這個 t 檢定

每個因子的虛無假設都是:

H₀:該因子月均值 = 0(也就是「這個因子在 2015–2025 年的台灣市場沒有溢酬」)

判斷標準:

  • |t| > 1.96 約在 5% 顯著水準下拒絕 H₀(因子「顯著」存在)
  • *** p<0.01;** p<0.05;* p<0.10
  • 「不顯著」不等於「因子=0」,只代表「沒有足夠證據說它不為零」

二、五因子描述統計

因子 月均值 t-stat p-value 顯著性 年化報酬 年化 Sharpe
Mkt-RF 1.17% 2.744 0.007 *** 14.10% 0.85
SMB 0.02% 0.090 0.928 0.27% 0.03
HML 0.15% 0.579 0.564 1.86% 0.18
RMW 0.17% 0.600 0.550 2.04% 0.19
CMA -0.14% -0.638 0.524 -1.71% -0.20

Mkt-RF(市場溢酬)— 顯著:月均 1.17%、年化 14.1%、Sharpe 0.85,p=0.007,在統計上可以肯定 2015–2025 台股存在真實的市場溢酬。這段期間是強多頭格局(後 QE、COVID 反彈、2023–2025 AI 行情),市場 beta 是主要報酬來源。

SMB(小型股−大型股)— 不顯著:月均 0.02%,幾乎等於零。這段期間小型股並未跑贏大型股,反映台股由少數權值股(台積電、聯發科、鴻海等)主導、市值集中度極高的行情特徵,也呼應許多市場自 2000 年後規模溢酬減弱的全球現象。

HML(價值股−成長股)— 不顯著:月均 0.15%,方向為價值股略勝但統計上不顯著。在科技與 AI 主導的行情下,低 B/M 的成長股(多為半導體、電子業)並未被便宜的價值股打敗,FF 原版於美國 1963–1990 觀察到的價值溢酬,在當代台股樣本期間不成立。

RMW(高獲利−低獲利)— 不顯著:月均 0.17%,方向為高獲利公司略勝但不顯著。台股「高獲利」與「大型科技股」高度重疊,其超額報酬多已反映在市場 beta 中,因此獨立的獲利溢酬效果被稀釋。

CMA(保守−激進投資)— 方向與 FF 原版相反,且不顯著:月均 -0.14%(FF 美國原版為正)。這段期間資本支出、資產快速擴張的公司(如台積電、聯電擴建晶圓廠、AI 伺服器供應鏈擴產)表現反而較好,使得「激進投資」公司優於「保守投資」公司。

三、因子累積報酬走勢

Taiwan FF5 Factors Cumulative Return

Mkt-RF 在樣本期間累積報酬達 +278%,遠遠拋離其餘四個因子(SMB -2%、HML +15%、RMW +16%、CMA -20%)。下方月報酬長條圖亦顯示,市場超額報酬的主要波動集中在 2020 年(COVID 反彈)與 2022 年底、2024–2025 年(AI 行情)幾個區間。

四、因子相關矩陣

Taiwan FF5 Factors Correlation Matrix

MKT-RF SMB HML RMW CMA
MKT-RF 1.00 -0.31 -0.24 0.08 -0.46
SMB 1.00 0.30 -0.53 0.32
HML 1.00 -0.66 0.56
RMW 1.00 -0.56
CMA 1.00

三個關鍵的高相關:

  • HML 與 RMW = -0.66:價值股(多為傳產、老產業)獲利能力普遍偏弱,成長股(多為半導體)獲利能力普遍偏強。
  • HML 與 CMA = +0.56:價值股多屬成熟保守型(資產不擴張),成長股多屬激進擴張型。
  • RMW 與 CMA = -0.56:高獲利公司往往再投資率也高(賺錢就擴產)。

這代表台股的四個非市場因子並非相互獨立的訊息,而是同一個「科技成長股 vs 老經濟價值股」二分維度的不同切法:HML/RMW/CMA 高度共線,本質上都在描述「買科技股還是傳產股」。因此 FF5 在台灣的解釋力,比較接近「1 個市場因子 + 1 個產業集中因子」,而非 5 個獨立的解釋面向。

此外 Mkt-RF 與 CMA 相關為 -0.46:多頭時激進投資的公司表現領先(CMA 為負值),因此市場走強與擴張型企業走強高度同步。


Part II — 產業層延伸分析

全市場 FF5 把所有產業放在同一組排序裡,本節檢視因子表現是否因產業而異,分兩種互補做法進行。

產業時序迴歸

方法:以全市場算出的 FF5 五因子為解釋變數,對 31 個 TSE 產業的價值加權超額報酬分別做時序迴歸,取得各產業的 α(截距)、五個因子 loadings(β)與調整後 R²。若某產業 α 顯著不為零,代表全市場 FF5 無法完全解釋該產業的報酬,該產業存在因子模型外的系統性溢酬或折價。

樣本:104,083 筆月度觀察值,涵蓋 921 家公司、31 個 TSE 產業,期間與全市場因子一致(2015/07–2025/12,126 個月)。每月平均公司數最多的產業為電子零組件(89.3 家)、半導體業(69.0 家);最少的為數位雲端(3.7 家)、玻璃陶瓷(5.0 家)。

結果:31 個產業中有 8 個 α 在 p<0.1 顯著:

產業 月均 α t 值 顯著性 調整 R²
M2324 半導體業 +0.563% 3.045 *** 0.923
M1721 化學工業 -0.446% -1.920 * 0.729
M9900 其他 -0.496% -2.220 ** 0.652
M2200 汽車工業 -0.643% -1.662 * 0.483
M1400 紡織纖維 -0.880% -2.953 *** 0.572
M3700 運動休閒 -0.932% -2.292 ** 0.427
M2326 光電業 -1.176% -2.552 ** 0.557
M2100 橡膠工業 -1.284% -3.419 *** 0.498

半導體業是唯一 α 顯著為正的產業:全市場 FF5 系統性低估其報酬,代表半導體業有全市場因子無法解釋的額外溢酬。其餘七個顯著產業 α 皆為負,代表全市場 FF5 反而高估了這些傳產業別的應有報酬。

FF5 Alpha by TSE Industry

FF5 Factor Loadings by TSE Industry

從 β heatmap 可觀察到產業間 loadings 差異很大:市場 β 從貿易百貨(0.32)到航運業(1.36)不等;RMW、CMA 的 loadings 在部分產業出現極端值(如玻璃陶瓷 RMW = -2.15、數位雲端 CMA = -1.12),顯示單一全市場因子難以捕捉個別產業的風險特徵。

產業內部因子建構

方法:篩選出每年公司數 ≥ 40 家的大產業,在該產業「內部」重新做一次 2×3 排序,建構產業專屬的 FF5 因子,與全市場因子做同窗期比較。

篩選結果:31 個 TSE 產業中,僅 5 個 通過門檻——電子零組件、半導體業、電腦及週邊設備業、建材營造、光電業(電腦及週邊設備業因樣本略薄,實際僅 114 個有效月)。

顯著結果(8 組產業-因子組合,p<0.1):

產業 因子 月均值 t-stat 顯著性
M2324 半導體業 MKT-RF 1.959% 3.122 ***
M2328 電子零組件 MKT-RF 1.688% 2.701 ***
M2325 電腦及週邊設備業 MKT-RF 1.220% 2.283 **
M2500 建材營造 MKT-RF 0.848% 1.880 *
M2328 電子零組件 HML 0.786% 2.575 **
M2326 光電業 SMB 0.944% 2.362 **
M2324 半導體業 RMW -0.920% -1.798 *
M2500 建材營造 CMA -0.672% -2.362 **

與全市場因子(同窗期)對照,最明顯的差異在 Mkt-RF:半導體業內部的市場溢酬(月均 1.96%)遠高於同期全市場(1.18%),電子零組件(1.69%)與電腦及週邊設備業(1.22%)亦同樣高於全市場水準。換言之,「產業內」市場溢酬在科技相關產業被顯著放大,而全市場單一 Mkt-RF 無法反映這種產業間差異。

Industry-Internal Factor Comparison

Industry-Internal Cumulative Return

半導體業產業內因子的累積報酬圖顯示,其 MKT-RF 因子在樣本期間累積超過 700%,遠高於全市場 Mkt-RF 的 278%,顯示產業內排序放大了半導體股票彼此之間的報酬離散度。


整體結論

Fama-French 五因子模型在台灣 2015–2025 年的解釋力集中於市場因子。 全市場層級的 SMB、HML、RMW、CMA 統計上都無法拒絕「無溢酬」的虛無假設;但把樣本切到產業層級後,半導體業存在 FF5 無法解釋的顯著正 α,且其產業內市場溢酬遠高於全市場平均,顯示因子表現在產業間並不均質。

主要原因:

  1. 樣本期偏多頭、且科技主導:2015–2025 涵蓋 COVID 反彈與 AI 行情,市場結構高度集中於少數權值股,使規模、價值、獲利、投資的橫斷面差異被市場 beta 淹沒。
  2. 因子間高共線性:HML、RMW、CMA 三者高度相關,反映台灣產業結構集中(半導體業獨大),不像美國市場有多元產業可分散。
  3. CMA 方向反轉:受惠於 AI/晶圓廠擴建週期,激進投資的公司在此樣本期表現優於保守投資的公司,與 FF 美國原版方向相反。
  4. 產業層級存在異質性:半導體業無論在產業時序迴歸(顯著正 α)或產業內部因子建構(產業內市場溢酬顯著高於全市場)都展現出全市場模型無法完全捕捉的特徵;多個傳產業別(橡膠、紡織、運動休閒、光電)則呈現顯著負 α,代表全市場因子對這些產業存在系統性高估。

投資意涵:

  • 台股單純持有大盤(Beta)即可取得樣本期間主要報酬,主動因子策略在此期間沒有顯著的全市場超額報酬。
  • 若要做多因子配置,需留意 HML/RMW/CMA 之間分散效益有限;若鎖定半導體或特定產業,全市場 FF5 可能低估其應有報酬。
  • 在台股尋找 alpha,可能需要跳出全市場 FF5 框架,改以產業層模型(如本專案的產業時序迴歸/產業內部因子建構)、或納入動量、品質等其他因子維度。

研究限制

限制 說明
樣本期短 126 個月、僅 11 個排序年度,統計檢定力有限
期間特殊 多頭且科技主導,未必能代表「正常」期間
存活者偏誤 中途下市公司在後續月份自動消失,可能略微高估報酬
報酬定義 TEJ 月報酬是否含現金股利尚未驗證;若不含,所有數值會略低估
因子定義 採 FF (2015) 原始定義,未嘗試 q-factor、Carhart 四因子等替代模型
產業樣本規模 僅 5 個產業公司數足以支撐產業內部因子建構,其餘產業僅能用產業時序迴歸檢視

方法論附錄

變數定義

變數 公式 來源
BE(Book Equity) 股東權益總額 TEJ 財報(千元)
AT(Total Assets) 資產總額 TEJ 財報(千元)
OP(Operating Profitability) (Revenue − OpCost − OpExpense − Interest) / BE TEJ 財報
INV(Investment) (AT_t − AT_t-1) / AT_t-1 TEJ 財報
BM(Book-to-Market) (BE / 1000) / Dec ME TEJ 財報 + 月股價
Size June ME(6 月底市值) 月股價(百萬元)
Rf 初級 CP 90 天期年率 ÷ 12 TEJ 貨幣市場

投組排序與因子合成(FF 2015 原版)

  • Size 排序:每年 6 月底市值中位數 → S/B 兩組
  • B/M、OP、INV 排序:30/70 分位 → L/N/H(或 R/N/W、C/N/A)三組,三因子各自獨立做 tercile 排序
  • 2×3 投組:每個排序變數各自產生 6 個 Size × 因子格子,以 June ME 加權(鎖定持有 12 個月)
  • 因子合成
    • HML = 0.5(S_H + B_H) − 0.5(S_L + B_L)
    • RMW = 0.5(S_R + B_R) − 0.5(S_W + B_W)(依 OP 排序)
    • CMA = 0.5(S_C + B_C) − 0.5(S_A + B_A)(依 INV 排序,方向為低減高)
    • SMB = 三組排序(B/M、OP、INV)各自得到的 Small−Big 分量之平均
    • Mkt-RF = 全市場 VW 月報酬(以前月底市值 lag ME 加權)− 月化無風險利率

時間對齊(避免 look-ahead bias)

  • 每年 7 月換股,使用 6 月底市值做 Size 分組
  • 財務變數取前一會計年度(t-1 年 12 月)數字,避免前視偏誤
  • 組合持有期為 7 月(t 年)~ 6 月(t+1 年)
  • 首個有效 portfolio_year 為 2015(INV 需要 AT_2013 與 AT_2014)

資料來源:TEJ Pro 台灣經濟新報

About

Fama-French 5 factors model replication in TW stock market (all public company).

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages