专栏首页王的机器Quantopian Risk Model (QRM)

Quantopian Risk Model (QRM)

本文献给今天 36 岁的自己

本文含 2758 字,27 图表截屏

建议阅读 16 分钟

0

引言

在量化投资领域中,因子(factor)就是对股票池进行筛选的指标。大家耳熟能详的因子模型(factor model)有

  • 单因子(市场因子)模型 Capital Asset Pricing Model(CAPM)
  • Fama-French 三因子(市场、规模、价值因子)模型
  • Ross 提出的多因子模型 Arbitrage Pricing Theory(APT)

本帖考虑的是量化平台 Quantopian 中的风险模型(Quantopian Risk Model, QRM),它是建立在 APT 之上,详细原版文档可点击左下角的阅读原文获得。

1

模型简介

1.1

风险模型

QRM 本质上是一个多因子线性模型,用 J 个行业因子和 K 个风格因子来描述资产收益。

其中

  • ri,t 是第 i 个资产在时点 t 上的收益
  • J 是行业因子的个数
  • K 是风格因子的个数
  • βseci,j,t 是第 i 个资产的第 j 个行业因子在时点 t 上的因子载荷
  • fsecj,t 是第 i 个资产的第 j 个行业因子在时点 t 上的因子收益
  • βstyi,k,t 是第 i 个资产的第 k 个风格因子在时点 t 上的因子载荷
  • fstyk,t 是第 i 个资产的第 k 个风格因子在时点 t 上的因子收益
  • εi,t 是第 i 个资产在时点 t 上的残差收益

因子载荷(factor loading)也称作因子暴露(factor exposure),因子收益(factor return)也称作因子回报。

下两节分别介绍 QRM 里的行业因子和风格因子。

1.2

行业因子

行业因子(sector factor)反映不同行业对收益产生的影响。我们用晨星(Morningstar)里的行业 ETF 收益来表示行业因子收益 fsecj,t。下表总结出行业、ETF 代号、晨星代号、SID 和 Quantopian API 里变量名称之间的映射。

每种股票都会映射到某个行业中,而该行业的因子收益是已知的,需要估计的是行业的因子载荷。

1.3

风格因子

QRM 考虑五个风格因子(style factor),分别是动量(momentum)、规模(size)、价值(value)、短期反转(short-term reversal)和波动率(volatility)。每个风格因子都可以用来复制一个传统的投资策略。下表总结出五个风格因子的定义。

风格因子的定义比较抽象,可用不同的代理(proxy)方法来量化,下面介绍 QRM 对这五个风格因子的具体实现方法。

动量因子

动量因子用「过去一年扣除最近一月的收益率」来量化。

其中 ri,t 是第 i 个资产在第 l 天的收益,而 c 是每个月的交易日的天数,通常设为 21。

规模因子

规模因子用「流通市值的自然对数」来量化。

其中 Mi,t-1 是第 i 个资产在第 t-1 天的流通市值。

价值因子

价值因子用「权益和流通市值的比率」来量化。

其中 Si,t-1 是第 i 个资产在第 t-1 天的权益。

短期反转因子

短期反转因子用「近 14 日的相对强弱指数的相反数」来量化。

其中 RSIi,t-1 是第 i 个资产在 (t-15, t-1) 时期内的 14 天相对强弱指数。

波动率因子

波动率因子用「近 6 个月收益率的标准差」来量化。

其中 bar{ri} 是第 i 个资产在 (-6c+t-1, t-1) 时期内的平均收益。

2

理论框架

2.1

方法论

整个 QRM 的方法论是将下面模型

划分成以下两个子模型

在 N 只股票,T 天历史,J 个行业和 K 种风格的设置下,我们选取 Quantopian 3000 只股票,采用 2 年历史数据,涉及 11 个行业和 5 种风格,因此 N = 3000, T = 500, J = 11, K = 5。令现在为时点 T,那么时点 t 代表历史第 T-t 天。

子模型一

第一个子模型目的是计算行业残差收益(sector residual return)矩阵,大小为 T×N,具体算法步骤总结在下表中。

步骤 2 中这种在「不同时点对相同股票」的回归被称作时间序列回归(time-series regression),上述算法进行了 N 次时间序列回归。

假设我们拿 6 只股票举例,而且只计算 4 天的历史收益。第 1 只股票是高盛,属于金融行业;第 2 只股票是 AT&T,属于电信行业。上述算法的简易版可视化如下图。

将 6 只股票做同样的回归而计算残差,堆叠后的残差矩阵(大小 6×4)如下图。

这个残差矩阵作为下个子模型的输入。

子模型二

第二个子模型目的是计算所有股票的风格残差收益(style residual return)矩阵,大小为 T×N。

首先将所有股票分成两大类

  • 第一类包含房地产投资信托(REITs)、美国存托凭证(ADRs)和流动性差的股票,称为补充股票(complementary stock)
  • 第二类包括剩余的股票,称为正常股票(normal stock)

对于 N1 只正常股票,我们已知其风格因子载荷,回归得到风格因子收益;假设五个风格因子适用于所有股票(正常股票和补充股票),那么对于 N2 只补充股票,用之前的风格因子收益,回归得到风格因子载荷。具体算法步骤总结在下表中。

步骤 1 中这种在「相同时点对不同股票」的回归被称作横截面回归(cross-sectional regression),步骤 2 中这种在「不同时点对相同股票」的回归被称作时间序列回归(time-series regression)。上述算法进行了 T 次横截面回归和 N2 次时间序列回归。

在 6 只股票中,假设前 4 只(N1 = 4)是正常股票,后 2 只(N2 = 4)是补充股票,步骤 1 的可视化如下图。

整理成矩阵形式,得到

垂直堆叠的风格因子收益矩阵 Fsty(大小 T×K)和风格残差收益矩阵 Σsty(N1) (大小 T×N1)如下图。

在步骤 2 中, 我们用 Fsty 对补充股票的残差收益做回归,其可视化如下图。

垂直堆叠风格残差收益矩阵 Σsty(N2)(大小 T×N2)如下图。

最后在步骤 3 将 Σsty(N1) 和 Σsty(N2) 合并成一个整体矩阵。

2.2

Quantopian 实现

方法论弄清楚后,实现以上两个算法其实不难,至于模型最后效果如何,确实需要考虑其他细节,如下图所示(第 73-81 行)。

麻烦的是如何得到行业因子收益和风格因子载荷。贴心的是 Quantopian 有一个 risk_loading_pipeline 的 API,可以获取所有股票任何历史时期的上述指标。

展示代码如下:

有了这些数据,就可以选股(用混合法或整合法)、配置权重(用 MVO, Risk Parity 等等),做回测了。

3

总结

本帖介绍了 QRM,它本质就是个多因子模型,但是有自己独到的处理方法。

  • QRM 先计算行业 ETF 收益,做行业因子收益的代理指标,再用时间序列线性回归得到行业残差收益
  • QRM 把所有股票分成正常股票和补充股票
    • 先计算正常股票的风格因子载荷,再用横截面线性回归得到风格因子收益
    • 假设所有股票的风格因子收益一样,再用时间序列线性回归得到补充股票的风格因子载荷

再用表格的形式总结 QRM 的方法论。

Stay Tuned!

本文分享自微信公众号 - 王的机器(MeanMachine1031),作者:王圣元

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 麦肯锡教我的思考武器

    这篇文章不是关于金工-量投-机学的,为什么跨度这么大写这篇文章,原因是硬实力 (比如专业) 和软实力 (比如管理) 两手都要抓,而当你职位越来越高时,软实力也就...

    用户5753894
  • 盘一盘 Python 特别篇 21 - 分箱之 qcut

    当处理连续数值型数据时,将其分箱 (binarize) 成几个组对之后的数据分析是很有用的。本贴介绍的 qcut 就能做到这件事情。首先引入要用到的工具包:

    用户5753894
  • 衍生交易精品书籍

    Taleb 的大名就不用多说了,《The Black Swan》, 《Fooled By Randomness》, 《The Bed of Procrustes...

    用户5753894
  • 过去十年A股哪些因子长期有效?

    过去几年Smart Beta因子投资策略开始在A股逐渐得到普及。虽然过去十年才真正红起来,其实Smart Beta这个词1970年就开始被机构投资者使用,在20...

    量化投资与机器学习微信公众号
  • 单因子测试框架

    SignalFactorAnalyse单因子测试框架哪些因子可以为组合提供超额收益?这是构建多因子模型的第一步,也是最关键一步。 特征选择非常关键,只有把握关键...

    企鹅号小编
  • 101因子新测评,会有哪些新发现?

    之前公众号分享过网友自行编写的WorldQuant 101因子源代码,大家有需要可以点击链接进行免费获取。

    量化投资与机器学习微信公众号
  • 单因子测试(上)——因子中性化

    之前做了很多因子测试的工作,但一直没有总结,感觉很凌乱,决定花时间把这部分东西写一写,温故知新,也为后续学习打基础。首先写一下单因子测试部分,分三篇,数据预处理...

    量化小白
  • Barra系列(一):Barra因子构建和因子测试框架

    主动管理决策是由预测和一致预期收益率之间的差异驱动的,套利定价理论在主动投资组合管理中具有重要意义,它给出了预测收益率的框架,但并未说明用什么因子预测,应用套利...

    量化小白
  • 因子战国:q-factor模型的五大讨论!

    金融圈里,大家一直在探索一个问题,那就是:什么因素能驱动股票带来长期回报?在市场有效的情况下,要想获得超额收益,就要承担更多的风险,但在承担风险之前,我们必须要...

    量化投资与机器学习微信公众号
  • 【Python量化投资】基于单因子的Alpha预测

    AlphaHorizon介绍 - 以非流动性因子ILLIQ为例 ? 名称解释:AlphaHorizon是优矿团队实现的基于单因子的Alpha研究和实现一种过程和...

    量化投资与机器学习微信公众号

扫码关注云+社区

领取腾讯云代金券