研报复制(八):系统风险集中度在行业轮动策略中的应用
01
序
本文是对海通证券报告《系统风险集中度在行业轮动中的应用》的复制,不保证正确性,欢迎指正。
背景什么的我就不写了,直接贴报告图
报告认为,系统性风险集中度越高,各种类型的风险越统一,故而市场分散风险的能力越弱,受到负面影响时更容易受到冲击,反之系统风险集中度越低,表明资产内部分散化效果越好,防御能力越强,出现负面消息时不易趋同产生崩塌。
综上报告认为这个因子应该是负向的,但个人感觉逻辑上可能有点问题,因为这里只考虑了负向信息的影响,没有考虑正向信息的影响。如果风险集中度高,那么正向信息的冲击也会越强。总之这里需要细想一想。
02
系统性风险集中度刻画
关于系统性风险集中度的定义,这篇报告参考了Kritzman, Li, Page 与Rigobon在文献《Principal Components as a Measure of Systemic Risk》中提出的吸收比例(Absorption ratio)。
计算方式如下
这里的吸收比率是根据主成分分析定义的,听上去很高端,但是后来想了一下,这东西不就是主成分分析中的方差解释度吗,AR画一张图不就是碎石图吗,所以也不是什么新的概念。
但这里用主成分分析的方法比较有新意,主成分分析的原理是对原数据的协方差矩阵进行旋转,找使方差最大的方向。旋转之后的各个主成分都是正交的,不相关。所以如果固定个数的主成分可以解释的方差比率越高,表明市场中的信息一致性越好,固定个数的主成分可以解释的方差比率越小,表明市场比较混乱,可以解释的信息有限。
报告计算了每个中信行业的吸收比率作为因子,进行行业轮动的测试。
本文首先复制了这部分内容,此外,去查了前面提到的那篇英文文献,文献中指出除了前一种吸收比率的计算方法,也可以计算Herfindahl指数,不过效果没有吸收比率好,所以也测试了Herfindahl指数进行行业轮动的效果。
Herfindahl指数定义如下,分母和吸收比率是一样的,分子上有细微差异,可以简单理解为吸收比率的分子度量的是方差的一阶距离,Herfindahl指数度量的是方差的二阶距离
03
回测说明
本文基于米筐平台,使用中信一级行业进行测试(申万一级行业的测试结果见聚宽同名文章)。
同报告参数,月度调仓,每月末提取各行业的当期成分股,用过去100个交易日的收益率数据计算吸收比率和Herfindahl指数,计算月度IC和分层测试结果。
获取参考文献和代码后台回复“吸收比率”
04
回测结果
先任意取一个行业,看看行业指数和因子值的情况,以食品饮料为例,收盘价和两个因子的指标值对比如下
再把每个指标按照过去三年的值进行标准化,结果如下
没有明显规律,不太能看出来什么,月度IC、ICIR结果如下
累积IC如下
首先,确实是负向的因子,而且absorb的效果要比Herfindahl好一点。
其次,标准化之后效果没有变好,说明标准化的方法有些问题,不知道报告里是怎么标准化的。
最后,absorb大概是再2018年二三月之后突然反转了,而这篇报告的发布日期是
好巧不巧。
分层结果如下,只给出IC最高的absorb的
周度没有测试,算因子太慢了,但毕竟是量价的因子,也许会更好一些吧,有兴趣可以试试。
05
其他说明
如果要优化absorb,可以考虑加上方向性。此外,前文提到的英文文献的作者新发了一篇文章,基于AR构造交易中心度C,也许可以借鉴,之后会尝试测试一下,看看结果。
06
代码
只给出关键的计算两个因子的函数,全部代码文件自取。
def getHerfindahl(x,n):
pca = PCA(n_components = n)
pca.fit(x)
H_up = ((pca.explained_variance_**2).sum())**0.5
H_down = x.var(ddof = 1,axis = 0).sum()
H = H_up/H_down
return H
def getAR(x,n):
# x = indret.iloc[:500,:].values;n = 29
pca = PCA(n_components = n)
pca.fit(x)
AR = pca.explained_variance_ratio_.sum()
return AR
参考文献
[1]20180301-海通证券-金融工程专题报告:系统风险集中度在行业轮动策略中的应用
[2]Kritzman M , Li Y , Page, Sébastien, et al. Principal Components as a Measure of Systemic Risk[J]. The Journal of Portfolio Management, 2011, 37(4):112-126.
相关文章
- 敏捷项目管理方法在大型复杂创新物流系统仿真中的应用
- 考研竞赛每日一练 day 21 函数不等式的证明(单调性和泰勒公式的应用)
- 物理系统数字化复刻——数字孪生技术的应用
- web3.0区块链技术与系统开发应用方案
- 7.29VR行业大事件:FTC起诉Meta 阻止其收购VR健身应用开发商;《VRChat》加入反作弊系统禁用Mod
- 移动应用的手动测试策略
- Javascript与MATLAB联合编程应用实例【AppDesigner开发必备】
- 苹果应用商店上架
- SDL在Linux系统下的应用(sdllinux)
- 现代生活中微型Linux系统的应用(微型linux系统)
- Java枚举(Enum)类型的研究与应用详解编程语言
- MySQL视图:改善数据库管理的简洁方法(mysql视图应用)
- 让企业受益匪浅:应用Linux环境下SAP HANA(linuxhana)
- 思源黑体在Linux系统下的应用(思源黑体linux)
- 深度探析Oracle系统数据库的优势与应用(oracle系统数据库)
- 深入了解Oracle系统时间的格式与应用(oracle系统时间格式)
- SMBus在Linux中的应用(smbuslinux)
- MySQL 5.6 优化:索引的使用与应用(mysql5.6索引)
- 深入探究蓝牙技术在Linux系统的应用与优化(蓝牙linux)
- Windows 11和10将获得新的Outlook应用以替代旧版“邮件和日历”
- sscanf在Linux系统中的应用方法(sscanflinux)
- MySQL:推动信息发展的动力(mysql 的应用)
- 探究Linux麦克风音频技术:Mic在Linux系统中的应用与优化(linuxmic)
- Linux下的ELF文件格式:一种应用非常广泛的可执行文件格式(linux elf 格式)
- 本地构建基于Redis的应用系统(本地建立redis)
- HVR在Oracle环境中的应用分析(hvr oracle)
- MySQL数据库在C语言系统中的应用(c mysql 转议)
- 深入浅出MySQL两段提交原理及应用(mysql两段提交)
- Oracle数据库中大型系统的应用(oracle下big系统)