因子类投资模型框架简介(待续)

一、capm模型

1964年由夏普(Willim Sharpe)提出的capm模型奠定了本类模型的方向与基础。
它在若干理想化假设下,将资产的收益率分成无风险收益和风险收益,后者与市场整体风险的关系用一个“弹性系数beta”表示,即:

r i − r f = β ( r m − r f ) + ϵ i r_{i} - r_f = \beta (r_{m}-r_f) + \epsilon_{i} rirf=β(rmrf)+ϵi

二、apt模型

1976年由罗斯(Steven Ross)提出的apt模型扩展了capm模型,放松了capm模型的部分假设。
它认为,资产收益由无风险收益、系统性风险收益、非系统性的资产自身特异风险收益组成,其中资产的特异风险收益可以通过多资产组合中合掉,即:

r i − r f = β ( r m − r f ) + Σ 1 n β i , n r i , n + ϵ i r_{i} -r_f = \beta(r_{m}-r_f) + \Sigma_1^n\beta_{i,n} r_{i,n} + \epsilon_{i} rirf=β(rmrf)+Σ1nβi,nri,n+ϵi

对一个资产组合来说,如果认为系统风险就是市场风险,apt模型就视同为capm模型。

三、Fama-French模型

1992年法玛(Eugene Fama)与佛伦奇(Kenneth French)提出的Fama-French三因子模型,基于时间序列回归,将资产收益率的影响因素具化为市场、市值、账面市值比,即:

R i = β 1 i r m + β 2 i S M B i + β 3 i H M L i + ϵ i R_i = \beta1_ir_m+\beta2_iSMB_i +\beta3_iHML_i +\epsilon_i Ri=β1irm+β2iSMBi+β3iHMLi+ϵi
其中, R i = r i − r f R_i = r_i - r_f Ri=rirf

Fama-French模型后来进一步发展成市场、市值、账面市值比、盈利、投资五因子模型。

四、Barra模型

1、概述

巴尔·罗森伯格(Barr Rosenberg)在1974年提出了采用基于截面回归的多因子风险模型分析投资组合风险和收益的首个版本,随后成立公司,并运用所建立的模型管理客户资产。本文基于其 CNE5 的版本。
barra模型中 资 产 n 资产_n n 的风险收益可以表示为:

r n = f c + ∑ i X n , i f i + ∑ s X n , s f s + u n r_n = f_c + \sum_iX_{n,i}f_i+\sum_sX_{n,s}f_s+u_n rn=fc+iXn,ifi+sXn,sfs+un

s . t . ∑ i X n , i = 1 , s u m i w i f i = 0 s.t. \sum_iX_{n,i} = 1,sum_iw_if_i= 0 s.t.iXn,i=1sumiwifi=0

其中,
r n r_n rn,为 资 产 n 资产_n n 的风险收益率
f c f_c fc,为国家因子
f i f_i fi,为行业因子
f s f_s fs,风格因子
u n u_n un,为 资 产 n 资产_n n 的特异收益率

2、因子构成

序号Barra因子底层因子权重说明定义
1SizeLNCAP1规模市值的自然对数
2BetaBRTA1贝塔资产收益日序列对市场指数收益日序列WLS回归的系数,其中序列长为252个交易日,半衰期为63个交易日
3MomentumRSTR1动量从上个月(即21个交易日前)算起,过去2年(504个交易日)超额收益率的指数加权之和。
R S T R = ∑ L T + L ω t ( l n ( 1 + r t ) − l n ( 1 + r f t ) ) RSTR=\sum_L^{T+L}\omega_t(ln(1+r_t)-ln(1+r_{ft})) RSTR=LT+Lωt(ln(1+rt)ln(1+rft))
r f r_f rf是无风险收益, w t w_t wt 为指数加权权重,半衰期H=126。
4Residual VolatilityDASTD0.74超额收益率年化波动过去252个交易日日超额收益率的波动率,再按指数加权,半衰期为42个交易日。
D A S T D = ∑ t n ω t ( r e t − r e ‾ ) 2 DASTD=\sum_t^n\omega_t(r_{et}-\overline{r_e})^2 DASTD=tnωt(retre)2
5Residual VolatilityCMRA0.16年累计超额收益率离差个股过去12个月累积超额收益率中最大值与最小值的差。其中连续的21个交易日视为一个月。
Z ( T ) = ∑ t = 1 T [ l n ( 1 + r t ) − l n ( 1 + r f , t ) ] , Z(T)=\sum_{t=1}^T[ln(1+r_t)-ln(1+r_{f,t})], Z(T)=t=1T[ln(1+rt)ln(1+rf,t)]
C R M A = l n ( 1 + Z m a x ) − l n ( 1 + Z m i n ) CRMA=ln(1+Z_{max})-ln(1+Z_{min}) CRMA=ln(1+Zmax)ln(1+Zmin)
(实际多采用 C R M A = Z m a x − Z m i n CRMA=Z_{max}-Z_{min} CRMA=ZmaxZmin)
6Residual VolatilityHSIGMA0.1Beta回归残差年化波动率Beta 因子残差的标准差
H S I G M A = s t d ( r t ) HSIGMA=std(r_t) HSIGMA=std(rt)
HSIGMA 最后要与 beta 因子、size 因子正交,以消除它们之间的共线性。
7Non-Linear SizeNLSIZE1非线性市值因子size因子的立方对size因子回归后,将其残差缩尾、标准化
8Book-to-PriceBTOP1账面市值比最近一期季报公司普通股净资产除以公司当前市值
9LiquiditySTOM0.35月度换手率最近一个月(21个交易日),每日的(日交易量 / 流通股本)之和的对数
S T O M = l n ( ∑ t = 1 21 V t S t ) STOM=ln(\sum_{t=1}^{21}\frac{V_t}{S_t}) STOM=ln(t=121StVt)
10LiquiditySTOQ0.35季度换手率最近三个月日换手率之和的对数
11LiquiditySTOA0.3年度换手率最近十二个月日换手率之和的对数
12Eearnings YieldEPFWD0.68盈利预期预期盈利市值比,预期盈利是分析师对未来12个月预期盈利的加权平均值
13Eearnings YieldCETOP0.21现金流量比过去12个月历史现金流量与资产市值的比值
14Eearnings YieldETOP0.11历史盈利市值比过去12个月历史净利润与资产市值的比值,是pe_ttm的倒数
15GrowthEGRLF0.18长期利润率预期未来3-5年分析师预期盈利增长率
16GrowthEGRSF0.11短期净利润预期未来1年分析师预期盈利增长率
17GrowthEGRO0.24长期历史净利率过去5年盈利增长率,即最近5个财政年度的净利润额对时间回归的斜率值,除以年平均净利润
18GrowthSGRO0.47长期历史销售率过去5年营收增长率,即最近5个财政年度的营业收入对时间回归的斜率值,除以年平均营业收入
19LeverageMLEV0.38市场杠杆 m l e v = m e + p e + l d m e mlev=\frac{me+pe+ld}{me} mlev=meme+pe+ld,其中 me 是普通股市值,pe是优先股账面价值,ld是长期负债
20LeverageDTOA0.35资产负债比 d t o a = t d t a dtoa=\frac{td}{ta} dtoa=tatd,其中 td 是总负债账面价值,ta 是总资产
21LeverageBLEV0.27账面杠杆 b l e v = b e + p e + l d b e blev=\frac{be+pe+ld}{be} blev=bebe+pe+ld,其中 be是普通股账面价值,pe 是优先股账面价值,ld是长期负债

3、基础因子数据处理方法

3-1)异常值处理

异常值有两种,一种是缺失值,包括 nan、None、 ± \pm ±inf 等,一种是与同期其他资产的值偏离非常大的离群值。
缺失值的处理,在 barra 中是用相似股票(同行业或者市值)的因子均值替换。
离群值的处理,在barra中是线判断是否潜在的错值,是则剔除,如果不是,但是超过当期样本均值加减3个标准差,则缩尾至3个标准差的位置。一般为了减小成本,离群值多是直接缩尾。

3-2)中性化处理

barra 中只对风格因子进行中性化处理。它通过对市值因子和 beta 因子求 ols 回归,减少了风格因子与市值、beta 因子的共线性,使因子回报率更稳定。其中因子都要缩尾后标准化,回归得到的残差需要再次标准化。
f i = x 1 f s i z e + x 2 f b e t a + e i f_i=x_1f_{size}+x_2f_{beta}+e_i fi=x1fsize+x2fbeta+ei

3-3)标准化处理

barra 的标准化算法是 zscore,即截面上的因子统一减去截面均值,再除以截面标准差。

3-4)半衰期计算

barra 的模型中广泛采用半衰期来计算因子暴露。半衰期的原意是影响减少到初期一半所用的时间。对无法完全消除自相关性的时间序列,其最新值会受到历史值的影响,但是不同的历史值施加的影响与它距离当前时间的远近成反比。
常用的计算公式有两个。

公式一:

y 0 = x 0 y_0 = x_0 y0=x0
y t = ( 1 − α ) y t + α x t y_t = (1-\alpha)y_t+\alpha x_t yt=(1α)yt+αxt
因此,
y t = ( 1 − α ) t x 0 + ( 1 − α ) t − 1 α x 1 + . . . + ( 1 − α ) α x t − 1 + α x t y_t=(1-\alpha)^tx_0+(1-\alpha)^{t-1}\alpha x_1+...+(1-\alpha)\alpha x_{t-1}+\alpha x_t yt=(1α)tx0+(1α)t1αx1+...+1α)αxt1+αxt
则权重 ω i \omega_i ωi为:
ω i = { ( 1 − α ) i , ( i = t ) ( 1 − α ) i α , ( i < t ) \omega_i=\begin{cases} (1-\alpha)^i, & (i=t)\\ (1-\alpha)^i \alpha, & (i<t) \end{cases} ωi={(1α)i,(1α)iα,(i=t)(i<t)

其中,
α = 1 − e l n 0.5 h a l f _ l i f e \alpha=1-e^{\frac{ln0.5}{half\_life}} α=1ehalf_lifeln0.5
half_life 是半衰期参数。
实际使用中,一般是设定时间窗口 = 252交易日,半衰期时长 = 63个交易日,算出每天的权重 w(t) 后,最后再统一除以时间窗口内权重之和,使得各日权重之和为1。
在python里对应的处理函数是 pandas.ewma() 或者 pandas.ewm().mean(),注意要令参数 adjust=True,否则就是采用近似权重,即 ω i = ( 1 − α ) i \omega_i=(1-\alpha)^i ωi=(1α)i

公式二:

衰减因子 δ = 0. 5 1 H \delta=0.5^{\frac{1}{H}} δ=0.5H1
其中,H 是半衰期参数。
据此建立 T × T T\times T T×T 的权重矩阵 W
W = { δ 1 0 ⋯ 0 0 δ 2 ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ δ T } W= \left\{ \begin{matrix} \delta^1 & 0 & \cdots & 0\\ 0 & \delta^2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \delta^T \end{matrix} \right\} W=δ1000δ2000δT

4、回归过程(待续)

参考资料:
[1]. Barra CNE5
[2]. Model Insight China Equity Model CNE5 Empirical Notes July 2012
[3]. BARRA风格因子的计算方式

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值