本文用浅显易懂的语言详细地解释了什么是风险模型,并从实战的角度介绍模型应用的方方面面。
1、何为风险模型?
有句话说得好,只有痛过之后才会记忆深刻,在A股市场的表现更是淋漓尽致。
A:请问你是做什么的?
B:搞量化的。
A:喔~撸中小创的咯!
没错,是人类的智慧,人类之所以能主宰地球,也主要是因为人类强大的归纳和推导能力,用哲学的话说应该是发现规律、利用规律。
其实,从我们踏入学堂开始,我们就在接受先辈们给我们发现的一套理论体系,苹果从树上掉下来我们便想起了牛顿的万有引力,进而我们利用万有引力实现了人类的飞天梦,那么引力实际上是什么呢?磁场又是个什么东西呢?我们实际上感知不到,甚至我们可以假设有比人类更高阶的一个物种可以用xxx理论来解释自然现象,从而打败我们从小*知所有知识,但就目前来看,在已知的所有理论体系下,我们解释了自然现象,同时也将其用到我们的生活中。
那么同样的,对于股市我们的思路也一样,我们试图寻找一个理论体系来解释股票的收益,从而将其用在我们的投资中,而风险模型就是其中的万有引力定律。
承接上文,我们的目的是构建一套理论体系用以解释股票的收益,最一般的来讲,就是站在今日24:00解释明天股市所有股票的日收益率。
那么我们如何去解释呢?首先要发现规律,我们发现每天同一个行业的股票涨跌幅比较接近,又发现市值大股票和市值小股票走势有明显差异,那么一个直觉是我们就可以用行业和市值这两个属性来作为我们解释次日股票收益的工具。
假设我们现在已经在24:00获取了所有股票的因子暴露,那么就开始解释明日股票收益,方法就是大伙熟知的多元线性回归,下面将详细介绍。
多元线性回归的方程是r=Xf+u,其中r为n*1列向量,代表着n个股票的次日收益率,X为上面提到的因子暴露Exposure,f为因子收益factorreturn,u为股票特有收益specificreturn。
这样我们就实现了对次日股票收益的解释,又或者说,我们将股票的收益可以拆分成公共部分和特有部分,公共部分就是Exposure的部分,比如市值因子带来的收益是多少,股票特有的收益是多少。
听到这里,大伙肯定很好奇,就这么一个Exposure就可以解释明天股票的收益了吗?当然不是全部,每天的回归都会产生一个rsquare,我们统计了滚动40天的rsquare,平均值接近50%,最高时接近90%,最低时也不低于20%,这也就是说我们的模型只解释了收益的50%,应该算是非常高的解释力,讲个笑话,要是再高些的话就没有purealpha可以搞了。
那么是不是我们每天做这么个回归就好了呢?当然不是的,一般的介绍风险模型都是从预测组合风险入手,那么我们就需要预测一个包括所有股票的方差协方差矩阵,但是由于历史数据不够、需要估计的变量太多等因素,所以就将估计问题转到预测公共因子和特质因子的波动上,这类介绍是市面上的通用术语,但我们这里从更深的层次引入风险模型的概念,从对收益的解释入手,这样才好理解模型本身的诸多应用。
在做完每天的回归之后,我们便有了每天的factorreturn数据和specificreturn数据,这样我们就可以估计公共因子的方差协方差矩阵F,股票的特质波动率Δ。
于是乎,我们便有了所有股票的方差协方差矩阵V,基于此我们便可以计算任何股票组合的预测风险值,假设组合持仓为h,那么组合波动率可以表示为h′(XFX′+Δ)h。
至此,风险模型的几大核心部件都已经介绍完了,分别是因子暴露Exposure、因子收益factorreturn、特有收益specificreturn、因子协方差矩阵factorcovaraicne、股票特有风险specificrisk。
在过去的两个月里,我有幸和众多专业机构就风险模型进行了深入交流,但发现的结果是大家对风险模型了解甚少,有在使用的机构也没有发挥到模型的最佳价值。
为了让本部分更有条理性以及更有说服力,我们将从实战的角度来阐述使用风险模型的理由,从盘前、盘中、盘后等方方面面来介绍风险模型的使用价值。
如下图所示,一个完整的投资流程应该包含如下几个步骤,简单来看就是盘前、盘中和盘后
盘前:
首先是更新信号库,那么在信号的研究和计算的过程中我们是需要风险模型进行信号提纯
然后是策略生成,那么我们需要用到风险模型数据进行组合构建,生成满足我们对风险和收益要求的持仓。
最后是风格监控,市场行情瞬息万变,我们需要动态了解市场微观结构的潜在变动,然后最好相应的对策。
盘中:
这一块主要涉及监控和交易,和盘前和盘后内容重复,不详细介绍
盘后:
收益归因:一天行情结束了,不管我们组合是赢是亏,我们总要知道发生了什么,是什么给我带了的收益,正如我们开篇提到的风险模型解释了50%的收益,那么我们组合的收益在50%的解释里主要集中在哪些风险因子上,purealpha收益又有多少?
风险归因:同样,在风险模型的理论框架下,我们不仅能将收益拆解,风险同样可以拆解,让我们可以看得更仔细。
因子暴露/组合偏离分析:组合在经过几天行情之后,必然会和我们当初建仓时理想的状态有所偏离,比如涨幅多的行业可能会出现高配,同时在风格上也会产生些许偏差,那么就需要对组合的最新持仓进行偏离度分析,做到动态了解,知根知底。
2.2盘前
A、信号提纯
在优矿上我们提供的neutralize()函数就是干这事的,你们可以在帮助文档可以看到该函数的详细用法。
在如上的这个步骤中,我们就需要用到风险模型的Exposure数据,正如前面介绍,exposure就是市场上最最常见的风格因子和行业因子构成的矩阵,刚好拿来直接用,在优矿中我们可以非常方便的调用如下DataAPI获取(DataAPI.RMExposureDayGet)。
B、组合构建
简单讲,组合构建就是求解一个带限制条件的二次优化问题,一个典型的例子如下(其他很多种变形这里不详细讨论)。
上式中的风险预测矩阵Ω就是来自风险模型,Ω=XFX′+Δ
另外,在各种constrains中也需要用到Exposure矩阵。
从上面可以看到,组合构建就是提供了一套完整的理论和实践框架,让我们对组合的方方面面做好把控,什么风险值得去主动暴露、什么风险又必须控制好。
说到这里就特别想提下今年独特的市场行情,若没有这次的小盘股风波,恐怕国内众多的量化产品依然会无视对风险的把控,依然在迷糊中量化。
另外还想提一点,国内众多卖方金工在做因子研究构建组合时,就是简单的行业中性下等权处理,由于国内各大指数基本是市值加权的,所以等权构建组合必然会带来小市值暴露,但这一点卖方金工是不会告诉你的(控制市值后因子效果会有一定折扣,这样影响阅读量的事是肯定不会干的)。
所以,我们看到今年的量化产品出现了两极分化,没控制市值风险的就排名垫底,控制了市值风险的就屡创新高,未来IPO还会继续,愉快搞小票的时代一去不复返了,未来估计要看真正的量化本事了。
作为一个严肃认真的量化实践者,我在优矿上的参赛策略也在近期屡创新高,15年10月至今绝对收益高达38%,累计跑赢沪深300指数26%,信息比高达3.06,贴图供大家娱乐娱乐(我们的态度:优矿做量化是认真的!)
C、风格监控
如果说投资是一个军队参加战争的话,那么对风格的监控绝对是冲在一线的精锐部队,或者叫特种部队。
正如前面介绍,每天早上我们在构建组合时需要确定风格、行业偏好,那么如何确定呢?一个很自然的想法就是看看近期市场是什么状况,看看各风格因子长期、短期表现如何,市场结构是否发生了变化。
风险模型中的一个中间产物叫做因子收益factorreturn,应该都还有印象吧,简单来讲factorreturn可以近似作为该类风格的代表(PS:每一个factorreturn都对应着一个factorportfolio,这个factorportfolio可以近似代表这该风格组合的表现,当然更精确的做法是构建styleunitalphaportfolio,这一块不在这里细说,因为这两者差异不大,整体趋势是一致的)。
以SIZE因子为例进行说明,我们可以通过DataAPI.RMFactorRetDayGet获取到factorreturn的历史数据,这里直接给结果。
上面两张图分别绘制的是SIZEfactorcumulativereturn的长期和短期走势。
左边这张图很明显看到累计收益稳定为负,代表了在A股市场上极其明显的小市值效应,有两个地方值得注意下,一个是14年12月,一个是17年4月以来,可以看到累计收益掉头向上,代表着明显的小盘股之殇。
右边这张图是最近一年SIZE因子的表现,可以看到从16年10月以来风格就开始有了微妙的变化,倘若我们能够找找发现,再结合政策分析,应该是能够避免掉这一波的,但不管怎么说,我们可以利用好这个监控雷达,避免雷区&发现战机。
更直观的,我们可以通过如下一张表格来看看10大风格因子的表现,每天早上动态监控。
看到这里大伙应该都有点冲动想看看其他风格因子的走势吧,看看有没有值得bet的,你们想得到我当然也想得到啦~
下图是盈利质量因子EARNYILD的走势图,我不会告诉你们,我最近靠这个因子跑赢了指数不少的,我也不会告诉你,我上面展示的策略在近期可是对EARNYILD有刻意的主动暴露的,低调低调~
严肃点,咱们是搞投资呢。。。。。好吧,我是这么看这个问题的:
1、IPO快马加鞭、供给侧改革去产能,那么在现有经济持续探底的大背景下,大企业相比小企业会呈现剩着为王的局面,同时各大央企的重组合并,未来不乏会出现新的垄断形式,规模优势明显。
2、MSCI纳入A股、房价暂时稳住,带来的资金自然会找出处,在美国加息的背景下国内债市不会有太多机会,那么股市作为替代品必然会部分受益,而这些大规模资金天生是风险厌恶者,对比上面一条的分析,必然会选择估值低、未来有稳定业绩预期的行业龙头(当然又是龙头又有较快增长的更好,比如消费升级下的白色家电和白酒)。
3、简单讲未来会是一个对盈利质量高度重视的市场,我不敢断言现在的蓝筹股行情走了多久,未来或许有回调,但回调过后我还是更愿意选择白马蓝筹,业绩在那我更有信心。
4、yy一下,长期来看,也行现在的蓝筹行情上半场才刚结束,下半场或许更精彩。
2.3盘中
盘中这块涉及更多的是交易以及一些监控,比如大类信号表现的实时监控、组合alpha实时监控等.
由于这部分内容大多和盘后的归因一致,只是多了实时性的要求,这里就不详细展开。
另外,个人是非常提倡在多因子的基础上再加上些能增加收益的其他策略,比如T+0,那么同样的,我们可以将组合收益进行更加细致的分解,首先分解到各个小策略层面(择时/T+0等),然后在分解到各个因子上,不管怎么说,这一套理论体系受用到我们投资的每个地方。
2.4盘后
A、收益归因
下面以我自己实际组合的某一天情况为例进行说明,2017年7月18日组合相比沪深300有24bps主动收益,那么这24bps是否真的是alpha收益呢,还是只是说某个风格带来的收益,上面我也提到了说我刻意对EARNYILD有主动暴露(因为我就是觉得EARNYILD要很牛逼),那么这一块是否给我带了收益呢,下图将详细分解
为了说明的更清楚,图中绘制了组合对各风格的主动暴露情况以及对应在风格上的主动收益,最右边的SRET是特有收益,也就是alpha收益,所以是没有主动暴露的。
从图中很清楚看到,由于组合对EARNYILD有0.65的主动暴露,由此带来了32bps的主动收益,而对BTOP的主动暴露带来了-10bps主动收益,最后,可以看到,我们的alpha收益大概是7bps。
总的来说,通过分解,我们可以将组合24bps的主动收益分解到风险模型的框架上,一分不多一分不少,刚刚好。
B、风险归因
activerisk=xσρ
在实践中,我个人更倾向于用主动暴露来代替主动风险,一方面是更直观,另一方面是因为我们在组合构建里控制的就是主动暴露,倘若主动暴露为0,那么主动风险必然为0
而主动暴露的计算是每天都要干的一件事,下面就详细看看组合偏离分析。
C、因子暴露/组合偏离分析
如之前描述,组合在经过几天行情之后,必然会和我们当初建仓时理想的状态有所偏离,比如涨幅多的行业可能会出现高配,同时在风格上也会产生些许偏差,那么就需要对组合的最新持仓进行偏离度分析,做到动态了解,知根知底。
所以在每天盘后我们都需要计算组合在风格、行业上和基准的偏差,看看是否和理想的目标值偏差太大,若偏离太大可能就有必要介入微调或是调仓。
如下图,我就计算了组合相比基准和行业的主动暴露情况,为了对比方便,我把基准在这些因子上的暴露也列示出来,这样就可以看得更清楚。
然后呢?
一天行情结束了,我们就再来一个轮回,继续盘前——盘中——盘后的步骤。
我们可能还需要不断研究新的alpha因子,我们也还需要监控近期市场表现,看看是否发生了大的变化。
这一切都是周而复始的轮回,而我们的风险模型理论体系贯穿在每个角落,就好比生活中的任何角落都离不开数学一样!
2.5总结和反思
好了,到现在我们从一个完整的流程介绍完了风险模型的价值,不知道各位看官是否找到了使用风险模型的理由?
值得深入思考的几个问题:
day/short/long:风险模型不就是预测风险吗?搞个day/short/long三个版本是什么鬼?
factorportfoliovsfactorreturn:如何深入理解风险模型里的factorreturn,每一个factorreturn其实都对应着一个factorportfolio,组合长啥样呢?
sizenlfactorreturn之谜:如果用过风险模型的都是知道sizenl的累积factorreturn是异常稳定的,但如何获取这部分收益呢?
如何理解sizenl:在SIZE因子基础上怎么又来了个sizenl,如何理解?做多中盘股同时做空大小盘股?为什么其他因子exposure分布都是正太的,而sizenl分布却这么非主流呢?
不同universe风险模型:针对A股就一个风险模型就够用了吗?那大盘股和小盘股对某些因子表现确实不太一样又该怎么搞?
欢迎大家留言补充!
好了,坚持看到这里的你,是否感觉更加了解风险模型了呢?