【討論組】多因子模型和barra模型
多因子模型有非常多種形式,今天介紹兩種:fundamental factor model和economical factor model。雖然這兩種model形式上都是linear regression,但是本質上有很大區別。我們可以把factor models寫成如下形式:
其中
是第
支股票的return,
是factor exposure,
是factor premium,
滿足
。 對於fundamental factor model來說,factor exposure是已知的,factor premium是未知的(需要透過迴歸確定)。舉個例子,最近銀行行業行情較好,那麼工商銀行在銀行這個因子上的exposure是1,同時銀行這個因子帶來的收益(premium)可以用迴歸來得到。想要獲得超額收益就需要承擔風險,而風險可以表示為
其中diversifiable risk可以透過diversification來消除。
對於economical factor model來說,factor exposure是未知的,factor premium是容易計算的。舉個例子,比如股票size的factor premium,就是先根據股票的size把股票池分成若干組,每一組作為一個portfolio,然後根據long-short portfolio(比如long size最大的那一組,short size最小的那一組)的收益作為factor premium。這裡的factor exposure可以根據pooled cross-sectional regression確定。cross-sectional regression就是一個時間節點的所有股票資料做一次regression,pooled就是多個時間節點的所有股票資料一起拿來做一次regression。
在前面兩次討論會,我們提到了CAPM模型,其中估計covariance matrix是重要的一步。用傳統方法估計covariance matrix並不容易。假設我們需要估計3000支股票之間的covariance matrix,並且我們擁有100個return的資料點(每個return是用20天的資料計算的,這樣就要2000個交易日的資料),那麼我們的樣本矩陣為
,估計的covariance matrix為
。不合理之處在於:1。 covariance matrix的一般是滿秩的,但是這裡估計的秩上限就是100; 2。 我們需要估計的引數遠超過樣本的數量。所以很難用傳統的方法準確估計covariance matrix,常見的方法是用barra模型進行估計。
barra模型是業界應用非常廣泛的一個fundamental factor model,它本身做得非常細緻,有一本比較詳盡的handbook【引用】,對於風險的管控非常的到位,對於要操盤大量資金的投資經理來說非常有用。接下來我們來學習barra模型。
barra首先進行了一個factor return estimation:
我們可以透過factor covariance matrix和specific risk對covariance matrix進行估計:
接下來問題就來到了如何估計factor covariance matrix以及specific risk的估計。對於factor covariance matrix的估計,最簡單的方法就是用過去的factor returns的樣本進行估計。用這種方法進行估計需要基於一個假設,那就是factors之間的相關性是不變的。然而有證據表明,factor returns之間的相關性是不斷變化的。因此,我們在估計的過程中,對於近期的樣本點需要分配更大的權重。
我們用exponential weighting來做這件事。假設60個月前的樣本只能分配到近期樣本一半的權重,令
為當前時刻的時間點,
為過去任意時刻的時間點,以及
。對於
時刻的樣本,分配到的權重為
,這樣,60個月前的樣本分配到一半的權重,120個月前的樣本分配到四分之一的權重。60也可以被稱為“半衰期”。在這個例子中,60是隨機取的,你可以透過實驗來選定合適的“半衰期”。
除了上述步驟,barra還介紹了一種方法,利用計算市場波動率(market volatility)來對factor covariance matrix進行精調使其更加準確。有大量的證據表明,市場波動率是可以進行預測的,我們通常會利用GARCH的變種對其進行預測:
上述就是GARCH(1,1)模型。然而,GARCH(1,1)模型不能捕捉到一種市場裡常見的現象,那就是高波動率之後通常會在一段時間內出現正常值以下的returns。因此,我們可以利用extended GARCH來對市場波動率進行建模:
在計算出市場波動率之後,我們可以對factor covariance matrix進行調整,使得利用factor covariance matrix計算出的market portfolio的波動率和利用GARCH模型計算出的市場波動率一致。
接下來,我們的任務變成了如何計算specific risk。回顧一下,我們的模型是:
因此我們需要計算
,在barra中,specific risk被分解為兩部分的乘積:
首先,我們對
進行建模:
這個簡單的模型可以捕捉mean-reversion,也可以捕捉到trends,以及市場上漲時的低average specific risk和市場下跌時的高average specific risk。
接下來,我們對
進行建模,並利用pooled cross-sectional regression對引數進行估計:
最終的specific risk的預測可以寫成如下形式:
其中scaling coefficient是為了矯正
的偏差,計算方法如下:根據capitalization的分位數把securities分組,對於每一組,我們用上一步的specific risk的值和這一步的specific risk的預測值來計算bias,然後另平均bias為0來計算scaling coefficient的值。
參考文獻
[1] Qian E E, Hua R H, Sorensen E H。 Quantitative equity portfolio management: modern techniques and applications[M]。 CRC Press, 2007。
[2]
http://www。
alacra。com/alacra/help/
barra_handbook_US。pdf