(文末附模擬程式碼)
在投資組合管理與風險管理的領域中,估計N檔股票的協方差矩陣非常重要。
1. 衡量資產間的相關性
- 若兩檔股票在過去的共變性低,代表它們的報酬走勢相對獨立,放在同一組合中可降低整體組合波動度。
- 若僅知道單一股票的波動度(標準差)而不考慮它和其他股票之間的關係,很難準確衡量投資組合的整體風險。
- 協方差矩陣中的 off-diagonal element是資產(股票)之間的共變數(covariance),可進一步轉換成相關係數(correlation)。
2. 投資組合的風險計算(Portfolio Variance)
- 根據現代投資組合理論(Markowitz Portfolio Theory),投資組合的方差(或標準差)不僅取決於各股票自身的波動度,也取決於它們之間的相關性。投資組合的方差可寫成
- 若要最小化投資組合風險,或在相同風險下最大化預期報酬,協方差矩陣是關鍵。
然而,若要直接估計 N 檔股票的協方差矩陣,需要估計約 N(N+1)/2個參數(對角線N個、上下三角(N^2-N)/2),對大型股票池非常困難。這時候要怎麼辦呢? Fundamental Factor Models(基本面因子模型)就派上用場了
Fundamental Factor Models是投資領域的一種多因子風險模型,用來解釋與預測股票或資產報酬的風險來源及其結構。它們與一般的「統計因子模型」不同之處在於:基本面因子模型的因子(Factors)通常是有明確的經濟或財務意義,而非單純從歷史報酬資料進行數學分解(例如 PCA)而得。
核心概念
- 因子(Factors)
- 這些因子通常是與「基本面」或「風格」相關的變數,像是:產業因子:公司所屬的產業或行業分類國家因子:公司所屬國家(或區域)風格因子(Style Factors):Size(市值大小)、Value(估值)、Growth(成長)、Momentum(動能)、Volatility(波動率)、Leverage(槓桿)、Liquidity(流動性)等
- 每檔股票會根據其財務數據、業務結構、或交易特徵,對這些因子有不同程度的「因子暴露(Factor Exposure)」。
- 因子暴露 (B)
- 因子暴露矩陣通常事先由基本面的定義或財務計算取得。
- 舉例:巴拉(Barra)模型中,如果某股票主要業務在「科技」產業,就在科技因子上的暴露為 1,而在其他產業因子上的暴露可能為 0;若公司資產分布在多個產業,就會有多個產業因子的暴露權重加總為 1。
- 因子報酬 (F/f)
- 每個因子在某個時間點(或期間)所貢獻的報酬
- 與資產(股票)無關
- 例如在時間 t,以所有股票在該期的報酬做一次迴歸,就能取得當期各因子的因子報酬 (仔細看,f的腳標僅有時間跟因子,與股票無關)
- 因子風險與殘差(特質)風險
- 估計得知因子報酬後,還會透過歷史資料計算因子之間的協方差矩陣(F),用以描述「因子之間的風險關聯」。
- 股票報酬中,無法被這些因子解釋的部分稱為殘差(特質)風險(idiosyncratic risk),記為 ϵ,其變異數(S)反映每檔股票獨特的風險。
- 通常,殘差(特質)風險會佔25%以上的總體variance
(covariance的bilinearity)
為什麼要用 Fundamental Factor Models
- 明確的經濟/財務含意
- 每個因子都有可解釋的背景:如行業分類、公司財務特徵等,而非單純數值分解出來的「統計因子」。
- 投資組合經理人可根據自身對企業財務與產業結構的研究結果挑選因子,並可輕易理解並監控其組合風險的來源。
- 可大幅降低參數估計的難度
- 引入因子模型後,只需估計:因子暴露矩陣 B(若是基本面因子,甚至不需要做迴歸就已經定義好)、因子協方差矩陣 F(只有 K×K個參數,K≪N)、股票殘差風險 S(N 個對角項)
- 相比之下所需估計的參數數量明顯減少。
- 風險解釋與控制
- 因子模型可以幫助投資人清楚知道某個組合的系統性風險(來自因子)與特質風險(來自個股),也能快速知道若想降低或提升對特定因子的暴露,該如何調整投資組合。
- 結合投資決策
- 很多投資策略,如量化選股或主動投資,都會關注「風格因子」(Style Factors);比如喜好投資「低估值(Value)」或「小市值(Small Cap)」的投資人,就可以依據這些因子的暴露進行篩選或風險控管。
Python Example