barra風險模型因子計算中的半衰期?
在barra最近的risk model中,因子計算和協方差矩陣計算中多處提到了半衰期的概念,這裡半衰期具體是怎樣應用的呢。比如,在計算beta時,提到了beta is estimated over the trailing 252 trading days of returns with a half-life of 63 trading days. 那麼這個beta的回歸是怎麼做的呢?
話說我有那麼一點點答非所問,這個確實是一種lambda用法,但是不是beta的,容我再看看。
瀉藥,這是種叫指數平滑動態加權法。曾因為在JPMC的官用風險紕漏軟體RiskMetrics里被冠以0.94的lambda值廣泛使用也被稱為RiskMetrics series.和其他的區別只不過risk matrics的權重根據他們歷史的數據直接賦值了0.94
構造時的原則是這樣:
1.方差基本符合平方可加性2.方差具有序列相關,並隨時間遞減
於是就有了一個簡單的合乎要求的序列:
這麼做,把每天的收益加權的,因為的遞減性,所以上一天權重最大 為 (1-lambda),然後依次遞減。
然後我們看所謂的半衰期:
這麼設置的特性是,一開始的權重很大,然後到設定期限的一半的是時候,lambda項自動變成了0.5,構成了所謂的半衰期。
關於lambda怎麼測得的,可以考慮最大似然法。給r設定一個密度,然後取讓log概率最大的lambda。分布取什麼是另一個話題了我想我應該明白了。。從ols來看,這裡是等權相加的。
加入半衰期的概念以後,就相當於給了一個權重
其中,半衰期為63個交易日,回歸樣本長度為252個交易日,i是從遠到近的日期如我解MSCI所說義,是法步驟如下:第一步:CNE5給出的EWMA半衰期為63個交易日,據此計算衰減因子:
第二步:CNE5給出的EWMA窗口期為252個交易日,據此建立權數矩陣,也就是GLS中的協方差矩陣:
第三步:使用最近252個交易日的個股n的日收益 ;股票池日超額收益(一般是某個指數收益或所有股票的自由流通市值加權收益);無風險日收益(s=1, 2, ..., 252代表前第s個交易日,下文中用到的下標t代表最近一個交易日,注意區分),對以下模型進行半衰期為63天的指數加權回歸:
注意所有數據都是日收益,不是年化的。α和β的下標t代表最近一個交易日,下文、、同樣如此。
具體而言,令:
那麼:
、是α、β的估計值,e是252個的列向量。計算e是為了後面residual volatility因子中計算描述性變數HSIGMA。methodology上說HSIGMA是的EWMA標準差,根據我的理解,最可能是上述回歸的根均方誤差(root mean squared error):
(HSIGMA =) 其中df=252-2=250,是自由度。第四步:個股n的未經標準化的descriptor就是,經過標準化得到descriptor後,由於CNE5中beta因子就一個descripor,因此不用再次標準化就可以作為beta因子。
MSCI的methodology我一開始也沒明白,猜是加權回歸,看了樓上@紅領巾的回答後基本確認就是這個方法,在此感謝!至於HSIGMA部分,我也不是特別確定,如有差錯歡迎指正。我的理解的回歸的指數權重,最新的為0.5^(1/half),次新的為0.5^(2/half),然後最老的數據為0.5^(252/half),這個權重看做殘差平方和的權重,sum wi*(yi-(alpha+beta*xi))^2,通過求解殘差平方和最小,得到beta,不知這樣理解是否準確?與消除異方差的加權最小二乘應該有差別,252 trading days of returns with a half-life of 63 trading days with...是修飾return的,表明收益率不再是平等的機會出現,而是最新的收益率的出現的機會更大,老的收益率的機會出現的機會要小,所以該權重直接用在sum wi*(yi-(alpha+beta*xi))^2上,而不是wi^2,此處回歸應該是普通的最小二乘回歸,只是回歸時考慮了不同觀測值出現的概率不同,增加權重並不是為了解決異方差的問題。
用這個函數可以,不需要自己造輪子了:statsmodels.regression.linear_model.WLS
推薦閱讀: