厦门做网站优化哪家好,全国城建中心官网入口,wordpress提交新字段到表,如何推广公司米筐科技#xff08;RiceQuant#xff09;策略研究报告#xff1a;Barra 结构化风险模型实现(1)——沪深300指数的风格因子暴露度分析 江嘉键1 年前1 概述Barra 结构化风险模型是全球知名的投资组合表现和风险分析工具。最近一段时间#xff0c;我们米筐科技量化策略研究团… 米筐科技RiceQuant策略研究报告Barra 结构化风险模型实现(1)——沪深300指数的风格因子暴露度分析 江嘉键 1 年前1 概述 Barra 结构化风险模型是全球知名的投资组合表现和风险分析工具。最近一段时间我们米筐科技量化策略研究团队对该模型进行了系统研究并在米筐科技公司的策略研究平台上进行了实现。接下来一段时间我们将以系列专题的形式展示我们的研究成果。在这一份报告里我们将对 Barra 结构化模型作简单介绍并对因子的构建及暴露度的计算进行探讨。为了对因子的有效性作简单的测试我们对沪深 300 组合 从 2014 年 5 月到 2016 年 3 月共 23 期的因子暴露度进行了计算和分析。 2 均值-方差模型Markowitz Mean-Variance Model 1952 年马柯维茨发表了《证券组合选择》建立起现代投资组合理论的框架。马科维茨认为投资者可以用预期收益率 以及收益率的标准差 来完全构建和衡量一个投资组合因此该模型又称为均值-方差模型。依据他的观点对于一个资产数目为 且各资产头寸相同的投资组合如果已知每一个资产收益率的方差 和资产两两之间的协方差 则我们可以计算这个投资组合的方差 对于包含 个资产的投资组合我们需要计算 个协方差通常以协方差矩阵来表示 此时资产的协方差矩阵包含了我们投资组合的一切风险信息。在实际计算中我们需要通过历史数据来计算经验协方差矩阵 (empirical covariance matrix)作为协方差矩阵的估计。然而使用经验协方差矩阵存在以下问题 1数据量要求大。要对协方差矩阵实现较为准确的估计需要保证观测值数目大于矩阵的维数。考虑以沪深 300 的 300 个成分股作为投资组合以月度数据计算经验协方差矩阵则需要至少 300/12 25 年的数据因此缺乏现实可行性 2依据历史数据进行协方差估计无法反映投资组合中资产的结构性变化例如并购 3大量资产两两之间的协方差计算容易出现多重比较谬误multiple comparison fallacy的问题因而引起资产之间相关性的错误判断。 4历史数据中包含大量的噪音因此简单使用资产的协方差矩阵进行预测会造成较大的偏差。 2 结构化风险模型 (Structural Risk Model, SRM) 针对以上用资产的协方差矩阵来衡量投资组合风险所存在的缺陷国际著名的投资组合表现分析研究机构 MSCI Barra 使用结构化风险模型也称多因子模型以下简称 SRM来衡量投资组合的表现和风险。其核心思想是我们可以选取一系列公共因子common factors和特异因子 idiosyncratic factors来描述一个投资组合的风险。常用的公共因子有所属行业成长性市盈率等特异因子则是和公共因子相对的概念用于解释每个资产的收益率中不能用公共因子解释的部分。基于这个思路投资组合的收益率 可以用资产的头寸 因子暴露factor exposure矩阵 因子收益率 和特异因子idiosyncratic factors收益率 的线性组合来表示 其中因子暴露 又称因子载荷factor loading用于衡量因子对投资组合收益率的贡献。当因子为行业因子时 为取值只有 0 和 1 的哑变量dummy variable表示该资产是否属于该行业当因子为市盈率等连续变量时为减少回归建模中残差的异方差性通常要进行剔除离群值和标准化的处理。 另外SRM 给出了以下的两个假设1对于同一个资产 因子收益率和特异收益率不存在线性相关即 2对于两个不同的资产 和 它们的特异收益率也不存在线性相关即 。基于这两个假设我们可以推导出 SRM 的投资组合风险表达式 其中 为投资组合收益率的标准差 为因子收益率的协方差矩阵。 和 分别为权重向量和特异因子收益率方差矩阵。 上述两个表达式即为结构化风险模型的核心。虽然它们的形式上稍显复杂但它们的意义是明确的投资组合的风险可以用因子收益率的协方差矩阵而非投资组合中资产的收益率的协方差矩阵来描述。从数据处理的角度来看SRM是一种数据降维技术。因此它具有数据降维通常的优点 1去除数据中的噪音 2它能够大大减少计算量因此也降低了出现多重比较谬误的可能性。例如一个包含 500 个资产的投资组合如果要构建其相关系数矩阵则需要计算 500*(500-1)/2 124,750 个相关系数如果选用 50 个因子的相关系数来描述则只需要计算 50*(50-1)/2 1225 个相关系数 3因子的统计量通常比资产的统计量有更好的稳定性因此基于SRM能给出更精确的长期预测 4因子暴露度的调整可以捕捉资产的结构性变化 5因子本身有清晰的经济学涵义在对 SRM 的因子进行筛选的过程中也会加深我们对于投资组合风险来源的认识。 3 公共因子的选择 在一般的 SRM 实现中因子被分为两大类行业因子和风格因子。参照国家统计局的行业分类方法我们选定了 19 个行业因子表1以取值为 0 或 1 的哑变量dummy variable表示。而风格因子则对应一些选择投资组合常见的主题和标准包括9个类型贝塔值beta动量momentum规模size盈利率earnings yield波动率volatility成长性growth价值value杠杆leverage和流动性liquidity。因此在目前的建模中我们一共使用28个因子。 4 风格因子的实现 行业因子的定义见表1。 表1依据国家统计局的分类选定的行业因子 接下来我们将介绍如何构建风格因子。在部分风格因子的构建中我们使用了多个细分因子一些资料称其为 atom descriptors来组成一个因子以表征该因子不同的特征。例如在盈利率因子的构建中我们使用了市盈率每股经营活动产生的现金流量净额和每股收益扣除/稀释三个描述变量。如果在线性回归模型中直接使用这些细分因子因为它们所属的类型相同因此可能会导致有多个细分因子所属的因子类型对模型参数估计的影响力过大且容易引起共线性的问题。对此我们把属于同一类型的多个因子进行加权组合得到该类型对应的暴露度。而因子的权重可通过对上一期数据进行随机森林random forest回归分析获得。 另外我们需要对一些稳定性较差自相关性较低的因子动量和波动率进行指数加权处理给予时间较近的交易日数据较大的权重。具体地我们采用半衰期为30天的指数系数此时在风险暴露度矩阵的估计中近 30 个交易日的数据将会占一半的权重。我们在 200 个交易日处做截断更早的交易日的权重非常小已可忽略不计。在下面的因子计算中我们将会统一使用 表示归一化指数权重向量。 最后在风格因子的计算中除了在 RiceQuant 策略研究平台上调用的变量外我们还需要定义以下的衍生变量和运算 衍生变量 和 分别表示股票和基准组合的 200 个交易日的每日超额收益率时间序列和 分别表示股票和基准组合中资产的 200 个交易日的每日收益率时间序列 表示归一化指数权重 是贝塔值计算后得到的残差截距项。outstanding_shares 表示流通股本TotalVolumeTraded/outstanding_shares 计算得到的即我们通常说的换手率。 运算 表示计算变量的协方差表示计算变量的方差 表示计算向量 和向量 的内积 表示对变量取对数 表示计算变量的标准差 表示计算变量均值和 分别表示取一组数据中的最大值和最小值。 基于以上的讨论我们的风格因子构建所需的变量见表2具体计算见表3。 表2RiceQuant 策略研究平台上调用的变量 表3风格因子的的定义和计算 5 沪深300的因子暴露度分析 接下来我们将把沪深300指数和各个风格因子的变化趋势进行比较分析图1和图2。在这里我们首先给出沪深300指数的基本计算公式 报告期指数报告期成份股的调整市值/基日成份股的调整市值×1000 其中基日为2004年12月31日。由于可以看出沪深300指数主要决定于其成分股的市值。基于这个认识我们对各个风格因子的变化进行分析。 5.1 规模因子盈利率因子和价值因子 基于风格因子的定义规模因子的暴露度是直接对市值取对数而盈利率因子暴露度中的市盈率和市值成正比因此这两个因子和沪深300的变化趋势基本一致图1而对于价值因子的暴露度其和市值成反比因此和沪深300的变化呈相反趋势图2。 5.2 贝塔值因子 贝塔值是衡量一个投资组合对基准组合的敏感性的指标。在这里虽然我们使用的投资组合是沪深300的300个成分股但贝塔值并不恒等于1。其原因在于我们进行每一期因子暴露度计算时都使用月底的成分股权重和过去 200 个交易日沪深 300 指数成分股的权重稍有不同。在图 1 中我们可以看到当指数出现大幅震荡时贝塔值因子暴露度会明显偏离于 1即依据每期月末的权重构建的沪深 300 成分股组合和过去 200 个交易日的沪深 300 指数的敏感性显著提高或是降低图1。 5.3 动量因子 在动量因子的构建过程中我们使用了 200 个交易日的加权平均值来展示个股的长期动量对比沪深 300 指数的和动量因子的变化趋势可以发现当市场出现大幅震荡时这个因子暴露度的变化呈现出一定的滞后性。2015年下半年市场出现大幅下跌但2016年2月动量才从正变为负图1。 5.4 波动率因子 波动率因子暴露度的走势和沪深300指数的走势基本一致较好地反映了市场的波动情况图1。 5.5 成长性因子 成长性因子的构建使用了四个变量的同比增长率和企业的股票市值并没有直接联系。有意思的是沪深300的成长性因子暴露度出现三个峰值这三个峰值均出现在市场波动较小的阶段可能反映出在市场行情较为平淡时投资者较为倾向于投资具有较好成长性的股票图2。 5.6 杠杆因子 杠杆因子的计算公式是负债合计总资产/总资产和企业的股票市值没有直接联系但其暴露度变化和沪深300指数的变化呈现相反的趋势。可能反映在牛市当中杠杆低的企业的股票更受投资者青睐图2。 5.7 流动性因子 流动性因子的走势和沪深300指数的走势基本一致较好地反映了市场的整体交易情况图2。 图1 沪深300指数变化和风格因子贝塔值动量规模盈利率和波动率的对比 图2 沪深300指数变化和风格因子成长性价值杠杆和流动性的对比 6 总结 在这一份报告里我们简要介绍了Barra 结构化风险模型并对一系列风格因子进行了构建和分析。我们以沪深 300 成分股作为投资组合进行测试。测试结果表明大部分因子均较好地反映了沪深 300 指数的变化特征以及在不同的市场环境下投资者的一些投资倾向。在动量因子的分析中我们发现因子只能反映市场的长期动量变化而当市场出现大幅震荡的行情时其变化出现了一定的滞后性。所以在下一步的建模中我们将进一步添加表征短期和中期动量的细分因子使其能够捕捉不同情况下的市场变化趋势。