正確理解 Barra 的純因子模型

投資 川總寫量化 2019-05-31

1 引言

在(風險)多因子模型中,因子暴露(factor exposure)因子收益率(factor return)是兩個核心的概念。不清楚它們的定義將影響對多因子模型的理解。所謂因子,就是一個可以描述股票某方面特徵的因素,比如行業因子描述了股票是否屬於這個行業,P/E 因子描述股票 Price-to-Earnings ratio。因子暴露就是股票在因子所代表的特徵上的取值,比如一個股票的 P/E 為 15.9,那麼它對 P/E 因子的因子暴露就是 15.9(實際使用中,需要將這個數值標準化)。對於一個給定的因子,按照某種權重組合所有股票便形成了一個基於該因子構建的投資組合,該投資組合的收益率就被定義為這個因子的收益率。

對於給定的因子,如何構建因子投資組合呢?常見的做法是,將所有個股在該因子上的因子暴露在截面上標準化;之後所有股票會按照因子的業務邏輯、根據因子暴露的數值從好到壞排列;最後,假設做多前 10% 或者 20% 的股票,做空後 10% 或者 20% 的股票,以此來構建一個零額投資的投資組合,它就是該因子的投資組合。這個做法在業界非常流行,但它也存在兩個缺陷:

  1. 無法保證該投資組合對該因子的暴露為 1。
  2. 無法保證該投資組合對其他因子的因子暴露為 0。

第一個問題造成在時間序列上評價一個因子的作用時,每期的投資組合對該因子的暴露程度都不一樣。舉個例子,假如相鄰兩個月中,某因子的投資組合對該因子的暴露為 1 和 2,而相應的因子收益率為 1% 和 2%。如果我們忽視了因子暴露程度不同的話,就會得到本期因子收益率較前一期的數值有所提高的錯誤結論。

第二個問題更為嚴重。風險因子大多來源於股票的基本面數據,很多因子之間存在一定的線性相關性。為了正確的評價一個風險因子是否有效以及在什麼程度上有效,必須保證圍繞該因子來構建的投資組合可以最大程度的剝離因子之間的相關性。換句話說,針對某因子構建的投資組合應該避免在其他因子上有任何暴露。

為此,Barra(如今已被 MSCI 收購了)提出了純因子模型(pure factor model),它能夠保證在截面上構建因子投資組合時,每個因子的投資組合對目標因子有 1 個單位的暴露,而對其他因子的暴露為 0*

* 嚴謹的說,根據因子的性質不同(即國家因子、行業因子、風格因子),因子的投資組合在其他因子上是否完全為 0 單位暴露略有差異(下文會具體說明)。但這不影響我們從廣義上說“Barra 的模型中,因子的投資組合對目標因子有 1 個單位的暴露,對其他因子沒有暴露”。這就是純因子模型中“純”字的含義。

純因子投資組合是為了正確量化因子的收益和風險而從純數學的角度構建的。建立時沒有考慮任何可投資性的要求,因此純因子投資組合的可投資性非常低。它滿足對目標因子有 1 個單位的暴露,對其他因子沒有暴露,因此可以正確的衡量因子的有效性。

可投資性是指投資組合中股票的(多、空)倉位是否合理,該組合的換手率和交易成本是否實際,進入該組合的股票是否有足夠的流動性、該投資組合能承擔的資金量(即投資組合的容量)是否足夠大等。

看到這裡也許有的小夥伴會說“沒有可投資性那有什麼用?”。正確的解答是,Barra 的風險因子模型的核心是做風險分析。具體來說有兩個目的:

  1. 計算個股收益率之間的相關係數。市場中個股的數量是非常多的,如果使用個股自身的收益率序列求相關係數,那麼則要求收益率序列的時序長度不低於個股的數量,否則收益率矩陣就不是滿秩的,因此就不可逆。由於這個要求在現實中難以實現,人們就想能不能把個股的收益率分解到一些常見的因子上,然後轉而通過求解因子收益率的相關係數再推導出個股收益率的相關係數。
  2. 為給定的資產或者投資組合做風險歸因。對於一個資產或投資組合,我們想要弄清楚它的收益率的波動率可以由哪些因子解釋。

為了上面兩個目標,構建因子的投資組合時必須能夠正確計算因子收益率,這就是純因子組合的價值所在。雖然純因子組合可投資性低,但它在風險管理和業績歸因中有著非常重要的作用。

今天我們就來簡單聊聊 Barra 的純因子模型。行文的重點將放在從定性層面理解這個模型的優點。

2 Barra 的中國因子模型 CNE5

CNE5 是 Barra 的最新一代面向中國股票市場的多因子模型。該模型考慮了一個國家因子、多個行業因子以及多個風格因子。假設市場中共有 N 支股票,P 個行業,以及 Q 個風格因子。在任意給定時間點,該模型使用因子暴露和個股收益率構建截面迴歸(cross-sectional regression)如下:

正確理解 Barra 的純因子模型

其中 r_n 是第 n 支股票的收益率,r_f 是無風險收益率。X_n^{I_p} 是股票 n 在行業 I_p 的暴露,如果假設一個公司只能屬於一個行業,那麼 X_n^{I_p} 的取值為 0(代表該股票不屬於這個行業)或者 1(代表該股票屬於這個行業)。X_n^{S_q} 是股票 n 在風格因子 S_q 的暴露,它的取值經過了某種標準化(標準化的方法會在下文說明)。u_n 為股票 n 的超額收益中無法被因子解釋的部分,因此也被稱為該股票的特異性收益。f_C 為國家因子的因子收益率(所有股票在國家因子上的暴露都是1);f_{I_p} 為行業 I_p 因子的因子收益率;f_{S_q} 為風格因子 S_q 的因子收益率。

對於給定某一期截面數據(記為 T 期),在截面迴歸時,Barra 採用期初的因子暴露取值(等價於 T - 1 期期末的因子暴露取值)和股票在 T 期內的收益率進行截面迴歸。在 USE4 模型中,因子收益率是日頻的,因此截面迴歸也應該是日頻的,所以按照上述說明,在 T - 1 日結束後更新因子的暴露,並利用 T 日的股票收益率和因子暴露做截面迴歸。以下說明來自 Barra Risk Model Handbook。

... the previous steps have defined the exposures of each asset to the factors at the beginning of every period in the estimation window. The factor excess returns over the period are then obtained via a cross-sectional regression of asset excess returns on their associated factor exposures ...

上式就是 CNE5 多因子模型。在這個模型中,國家因子的因子暴露和 P 個行業的因子暴露之間存在共線性。具體來說,國家因子的因子暴露向量可以表達為 P 個行業因子因子暴露向量的線性組合。這會造成上式的解不唯一。為此,對行業因子的因子收益率作如下限制:

正確理解 Barra 的純因子模型

其中 s_{I_p} 是所有屬於行業 I_p 的股票的按流通市值計算出的權重之和。

通過截面迴歸,對 CNE5 模型求解的對象是每個因子的投資組合中所有股票的配比權重。對於因子 k 和股票 n 來說,用符號 ω_{kn} 來表示。一旦得到所有的 ω_{kn},便可通過下式求出當期因子的收益率 f_k:

正確理解 Barra 的純因子模型

對 CNE5 模型求解其實是一個多因子迴歸的求解。把多個因子放在一起迴歸同時求解就是為了考慮不同因子之間的相關性。這可以保證根據因子權重 ω_{kn} 來構建的因子投資組合對於這個模型所涉及的所有因子都是純因子的投資組合。對於任何一個風格因子 S_q,上述截面迴歸保證了它的投資組合僅僅在這個因子上有 1 個單位的暴露,而在其他所有因子上均沒有任何暴露,即

正確理解 Barra 的純因子模型

對於國家因子和行業因子的投資組合,“純因子”組合的解釋略有不同,我們會在第 4 節中闡述。

前面說到,在使用截面迴歸求解時,必須對風格因子的因子暴露進行標準化(國家和行業因子的因子暴露不需要標準化)。令 s_n 表示股票 n 的流通市值權重。對風格因子的因子暴露進行標準化的初衷是這樣的:按照股票的流通市值權重構建的投資組合等同於整個市場,而市場對所有的風格因子都應該是中性的。因此,按流通市值權重構建的股票投資組合在所有風格因子上的暴露必須是 0。這意味著經過標準化後的風格因子暴露 X_n^{S_q} 必須滿足:

正確理解 Barra 的純因子模型

此外,我們還必須對風格因子的因子暴露進行標準差的標準化,即要求對每一個風格因子 S_q,X_n^{S_q} 的標準差為 1。這樣便完成了對風格因子的因子暴露的標準化。

3 國家因子的本質

相比於早期的中國股票因子模型,CNE5 中的關鍵變化之一是加入了國家因子。(類似的,在針對美國市場的最新模型 USE4 中,Barra 也加入了這一因子。)那麼,國家因子投資組合的本質是什麼呢?

國家因子投資組合的實質是按流通市值為權重的市場組合。

有點繞?沒關係,一步一步來。對於國家因子,所有個股的暴露都是 1,這個組合的收益率為 f_C。而在市場組合中,個股是按流通市值權重配置的,我們用 r_M 表示市場組合的收益。那麼,只有當 f_C 近似的等於 r_M 時,上面的結論才成立。下面就來看看 f_C 和 r_M 是否近似相等。

由前文所述,s_n 是股票 n 的流通市值權重。將 {s_n}, n = 1, …, N 這一組權重帶入到 CNE5 的因子模型中可以得到如下關係。其中左側就是市場收益 r_M,右側是使用國家因子、行業因子、風格因子、以及個股特異性收益率對 r_M 的分解。

正確理解 Barra 的純因子模型

上式中最後一項是所有股票特異性收益的和,由於它的值非常小(接近 0),因此在推導的最後一步被忽略了。推導中的核心在於倒數第三步中的中間兩項如何變為 0。對於第一個 0,它用到了行業因子收益率按行業市值加權為 0 以排除行業和國家因子之間的共線性這個約束條件。對於第二個 0,它是根據風格因子是使用流通市值權重來標準化這個定義來的。由此可見,在 CNE5 模型的定義下,f_C 這個國家因子收益率確實近似的代表了市場組合的收益率,因此國家因子的組合就(近似地)是市場組合。在新版多因子模型中增加這一項是非常必要的。

事實上,在對 CNE5 進行截面迴歸求解後可以發現,國家因子的投資組合中,個股 n 的權重 ω_{Cn} 非常接近它的流通市值權重 s_n。

4 純因子投資組合的性質

通過上面的介紹我們已經知道,Barra 的截面迴歸模型針對國家因子、行業因子以及風格因子分別構建了純因子投資組合。那麼,這些組合有著怎樣的性質呢?

4.1 國家純因子投資組合

由 f_C ≈ r_M 可知,國家純因子投資組合就是近似的市場組合,它是純多頭組合:

  • 國家純因子是滿額投資的(fully invested)。國家純因子的投資組合中所有股票(近似)按流通市值取權重,因此全部大於 0,即均為做多,不存在做空任何個股的情況。該投資組合使用了 100% 的資金。
  • 國家純因子投資組合對行業的暴露不為 0。由定義可知,該投資組合在行業 I_p 的因子暴露為:
正確理解 Barra 的純因子模型

由於每個行業都包括一些股票(即對任何一個行業 I_p,總有一些股票滿足 X_n^{I_p} = 1),且股票的權重 s_n > 0,因此上式大於 0。事實上,國家純因子投資組合按照行業的市值權重暴露於不同的行業之中。

  • 國家純投資組合在所有風格因子上的暴露均為 0。

4.2 行業純因子投資組合

行業因子的純因子投資組合是一個多空組合,它滿足以下特徵:

  • 行業純因子投資組合是零額投資(dollar-neutral)。在這個投資組合中,我們做空一部分股票,然後用賣出股票的錢來做多另外一部分股票,因此整體來看我們的絕對投資額度為 0。
  • 行業純因子投資組合的本質是 100% 做多該行業,並 100% 做空國家純因子組合(市場組合)。由於國家純因子組合對所有行業都有暴露,因此行業純因子對自身行業有正的暴露,對其他所有行業有負的暴露。行業純因子投資組合是 100% 做多該行業 100% 做空市場,因此從業務上解釋,這個組合就是認為該行業可以跑贏市場,該組合對應的就是該行業相對於市場的超額收益。
  • 行業純因子投資組合對所有風格因子的暴露為 0。該投資組合賺取的僅僅是行業相對市場的超額收益,這個超額收益不來自對任何風格因子的風險暴露(因為該組合對任何風格因子的風險暴露為 0)。

4.3 風格純因子投資組合

風格因子的純因子投資組合同樣是一個多空組合,它滿足下列特徵:

  • 風格純因子投資組合是零額投資(dollar-neutral)。在這個投資組合中,我們做空一部分股票,然後用賣出股票的錢來做多另外一部分股票,絕對投資額度為 0。
  • 風格純因子投資組合對該因子有 1 個單位的暴露。
  • 風格純因子投資組合對自身風格因子外的其他所有因子、包括國家因子、行業因子和其他風格因子,的暴露都是 0。從業務上解釋,該投資組合是靠僅僅暴露於該因子來賺取這個風險因子的超額收益。

暫時拋開純因子組合的可投資性,上面的結果對於因子投資有著非常重要的意義。它說明,如果我們從整體上看好市場,那麼只需要持有國家因子的純因子組合(即近似的市場組合);如果我們看好了某些行業,那麼只需要持有那些特定行業的行業純因子組合,從而賺取行業相對於市場的超額收益;如果我們看好了某個風格因子(比如小市值、價值等),那麼只需要持有這些因子的純因子組合,去賺取通過暴露於這些因子的超額收益。

這就是 Barra 這個模型的最大意義 —— 它可以針對我們喜歡的因子(無論是市場、行業或是風格),構建出純粹的僅僅針對於那些因子的投資組合,從而捕捉這些因子的風險收益。

5 如何理解風險因子收益

經過了上一節的解釋,我們更願意把因子收益理解為一籃子股票(即圍繞該因子構建的投資組合)的共性收益(系統性風險溢價)。該投資組合如果賺錢,那麼靠的是該投資組合在該風險因子上的單位暴露,靠的是該風險因子在時間維度上所帶來的有效而穩定的風險溢價。從風險暴露的角度來說,所有股票 —— 無論被做多還是被做空 —— 在該組合中的貢獻都是“一樣的”,都是必不可少的。這和精選個股(通過深度研究或者靠其他歪門邪道)來賺取個股的特異性收益 u_n 是完全不同的,因為純因子投資組合中股票的特異型收益幾乎為 0。

當然,在現實中,我們不得不面對“可投資性”的問題。當我們無法按照純因子投資組合的權重來實際構建投資組合(比如無法做空一些股票)時,我們就面臨兩個問題:

  1. 實際的投資組合已經不再是純因子投資組合;它無法保證純因子投資組合在因子暴露上的特點。
  2. 對個股的特異性收益和其風險無法做到充分分散,所以就不能忽視股票特異性收益自身的風險。

以上兩點說明,在種種限制下,如果構建的投資組合的權重和純因子投資組合理論權重不一致時,該投資組合便沒有有效的暴露在該因子之下,也沒有對其他因子隔離。此外,該組合又引入了無法忽略的特異性收益的風險。

美國的 AQR 基金寫過一篇文章來分析巴菲特的選股能力(Frazzini et al. 2013)。結果顯示,巴菲特選股的收益率幾乎可以完全被 1 個市場因子和 5 個風格因子的收益率來解釋。它說明巴菲特的投資組合能賺錢是因為它以一定的權重有效的暴露在了這 6 個因子之中,長期穩定地賺取了這 6 個因子的風險溢價。巴菲特有一個科學的價值投資框架來保證它的投資組合對最合理的風險因子有著最合理的風險暴露,這些風險因子的風險溢價為他帶來了年復一年的優秀收益。

6 不是所有的風險因子都能帶來超額收益

對 CNE5 的求解僅僅用到了給定時間(比如某月或者某季度)的股票截面數據。因此,得到的因子收益率僅僅反映在該時刻因子能取得什麼樣的收益。為了驗證一個風險因子是否可以有效的帶來超額收益,我們必須在時序上對該因子的收益率做統計分析。

正確理解 Barra 的純因子模型

上圖展示了 4 種典型的因子收益率在時間維度上的統計特徵:

  1. 在左上角的第一幅圖中,因子收益率在大部分時間為正,但波動較大。這說明該因子雖然可以貢獻超額收益,但是其自身波動也帶來了它對應的系統性風險。
  2. 在右上角的第二幅圖中,因子收益率在大部分時間為正,且波動很小。這說明該因子不但可以穩定的貢獻超額收益,其自身的系統風險也非常低。這在理論上是最優秀的收益因子
  3. 在左下角的第三幅圖中,因子收益率時正時負,波動很大,在統計上無法貢獻非0的超額收益。因此,該因子無法帶來超額收益,但是它可以顯著的描述某種系統性風險。因此這個因子是一個優秀的風險因子,但它不是收益因子。
  4. 在右下角的第四幅圖中,因子收益率在過去顯著為正,可以貢獻穩定的超額收益,但是在最近不再有效,轉變為純粹的風險因子,無法貢獻超額收益,僅能產生系統性風險。

在評價一個風險因子時,應按照正確的方法得到每個時間截面的純因子投資組合,進而算出每一期的因子收益率。然後,通過對因子收益率的時間序列進行統計分析,最終判定該因子能否在長期穩定的貢獻超額收益。同時,對因子收益率的統計分析也可以得到因子收益率之間的協方差矩陣,它是推導個股之間的協方差矩陣的必要條件之一。

參考文獻

  • Frazzini, A., D. Kabiller, and L. H. Pedersen (2013). Buffett’s alpha. Working paper 19681, National Bureau of Economic Research.
  • Barra Risk Model Handbook (2007). MSCI.

相關推薦

推薦中...