说说Barra风险因子
由polll创建,最终由polll 被浏览 55 用户
最近有学妹问我关于Barra的事,刚好之前实习在做这个,所以借知乎这个平台写一写自己的理解,如果有什么不对的地方大家可以多多指教。
这个主要是给小白写的,因为国君的那篇研报《基于组合权重优化的风格中性多因子选股策略--数量化专题之五十七》中确实有一些值得商榷的地方。
这篇主要先说说Barra风险因子的做法,文中的所有截图来自于CNE5。
1.Size
![](data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1240' height='223'></svg>)
这个没啥好说的,就是总市值的对数。
2.Beta
![](data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1249' height='444'></svg>)
beta的计算就稍微有点麻烦了,这里是用过去252天的数据去做加权最小二乘的回归,权重是半衰期=63的半衰期加权,半衰期加权在barra的文档中经常会用到,在这里再多说一句半衰期加权的算法。t是半衰期,那么 ,则相应的权重为: , , ,……
然后使权重之和为1,距离比较近的时间的数据要相应的赋予比较大的权重。
还有一个问题是,这里无风险利率存在一定的争议,可以根据情况灵活处理。
3.Momentum
![](data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1230' height='427'></svg>)
这个没啥说的,直接算就行。
4.Residual Volatility
![](data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1548' height='365'></svg>)
![](data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1393' height='551'></svg>)
![](data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1408' height='371'></svg>)
DASTD的意思是过去252个交易日的日超额收益率加权平均和,权重依然使用半衰期为42天的半衰期加权。
CMRA:这里Z(T)的意思是过去T个月的累计超额对数收益率,每月定为21个交易日。对于每一个交易日,分别计算出Z(1),Z(2)……Z(12),然后得到 ,之后可得CMRA。
HSIGMA:计算beta时候的的残差的标准差,建议算beta的时候直接把这个值保存下来。
值得注意的是,这里需要再做一步正交化。所谓正交化就是,把Residual Volatility当作y,把Beta和Size当作x来进行多元回归,把残差作为新的Residual Volatility因子。
5.Non-linear Size
![](data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1511' height='328'></svg>)
用对数市值的立方对对数市值做回归,之后取残差。
6.Book-to-Price
![](data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1466' height='267'></svg>)
总权益/总市值
7.Liquidity
![](data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1463' height='253'></svg>)
![](data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1165' height='752'></svg>)
STOM:对于每个交易日,求出过去1个月(21天)的换手率之和,再取对数。
STOQ:对于每个交易日,求出过去3个月(3*21天)的 均值,再取对数。
STOA:对于每个交易日,求出过去12个月(12*21天)的 均值,再取对数。
8.Earnings Yield
![](data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1241' height='544'></svg>)
EPFWD:forward-looking earnings/当前市值,这里forward-looking earnings用到了分析师一致预期的数据,一致预期的数据质量也是有待商榷的。
CETOP 和 ETOP比较简单,直接算就行,注意要使用TTM值。
9.Growth
![](data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1330' height='261'></svg>)
![](data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1478' height='551'></svg>)
EGRIF和EGRSF分别是长期和短期的一致预期净利润增长率,在有些地方,出于对一致预期数据质量的考量,就没有考虑这两个值。
EGRO:使用过去5年的每股净利润对T=1,2,3,4,5做回归,得到的系数除以平均每股净利润。
SGRO和EGRO的方法相同。
10.Leverage
![](data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1307' height='905'></svg>)
Leverage的计算方法比较简单,直接算就可以。
barra因子的计算方法有些细节可能还需要具体把握,比如无风险利率市场利率的选择,缺失值的处理什么的等等。
之后可能会继续放上我实际进行因子测试的结果。如果有人看我会继续写哒。=。=