花一周时间,做了一个银行量化系统
全文5900字,不想看系统构建过程的,直接拉到最后看结论朋友们。
花了一周的时间,用workbuddy做了一个银行量化系统,调用1017模型,最终只消耗了不到2000积分,少于我的预期。
目标是解决这样几个问题:
如果只能持有4家银行,那么过去10年哪种策略表现最好?
选用的是哪些因子?不同因子之间有什么关联?
如果我们使用回测出的最优策略,在现在的时点选出来的将是哪4家银行?
使用最优策略,与我做主观估值时使用的框架有什么差异?
需要说明的是,在研究这个量化系统之前,我是一个完全没有任何经验的量化小白,所以我做出来的这个东西,在专业量化团队看来是非常简陋、粗糙的。
但是没关系,万事都有第一步。
就像一个月以前我还从来没有自己写过一套程序,程序员这个职业离我非常遥远,但现在我已经在每天有模有样的Vibe Coding了,已经做出了好几个自己频繁使用的网页版程序了,大大简化了我的投研过程。
这些事情在以前是想都不敢想的!
我想说的是,AI的发展速度一定会远远超过普通人的想象。人这种碳基生物的能力,未来一定会借助硅基实现几何倍数的拓展,但是人与人之间的差异也会被拉得无限大。
现在能意识到这一点的人可能还不足0.001%,而最终能做到与硅基完美融合的人,估计也就不到5%。
越早意识到硅基的强大,越早扔掉碳基偏见,毫无保留的去拥抱硅基的人,才能享受到时代的巨大红利!
现在我将这套量化系统毫无保留的分享给大家,包括选用了哪些因子,因子的权重,因子如何影响了最后的回测业绩,我踩过哪些大坑,等等等等。
1、为什么是4家银行的组合?
对于普通散户来说管理仓位始终是个大问题。
我们的持仓一定是越精简、数量越少越好,在能实现不错回报的前提下。
这个时候我最初的设定是银行不能超过10家。
后面用数据反复测,3家、4家、5家、6家,直到10家都测过了。
最优策略其实是5家。
4家的结构不如5家,但比6家要好,而5家组合的年化只比4家组合高了0.3%,夏普比率稍高。
考虑实际交易的话,持有4家的情况下我们的调仓频率一定远远小于5家,这个时候佣金、印花税等摩擦成本,还一些持有时间过短导致的所得税问题可能还能避免一些,最终结果和5家就接近了。
所以我最后敲定了组合结构就是4家银行,等权,各25%。
2、样本银行和业绩回测时间
目前确定的总样本数是38家银行。
现在上市银行达到了42家,凭经验去掉了一些资产质量很差(风险过高),上市时间太短的超小型银行。我们的研究主要还是为以后服务的,要提前避险。
所以是在38家样本里,选到4家银行。
我最初想测试过去10年的业绩,但很多中小银行都是在2016年以后陆续上市的,在这之前银行数量偏少,样本量不足。
量化策略要算不同因子、指标的百分位,在样本量不足的情况下计算横截面百分位的意义就没那么大。
另外我自己加了一个规则,就是银行一定要上市满一年,才能开始加入我们的池子(剔除次新股早期极高估值的影响),所以到2017年9月29日的时候,池子正好累计到了20家。
后面测算出来的所有业绩、年化回报这些数据,区间都是在2017年9月29日到2026年9月30日之间的数据,每隔一个季度做一次调仓,不断在组合内部做轮换。
9年时间,总共是36个周期,也就是36个季度的数据。
我觉得9年也足够长了,能说明一些问题了。
3、确定因子
因为对银行行业的充分了解,我把认为有点用的,对银行业绩和估值可能产生影响的因子全部扔给系统测试。
因子总数大概是36个。
其中包括我们耳熟能详的,什么PB、PE、ROE、利润增速、营收增速、股息率、分红比率、拨备覆盖率、拨贷比、不良率、关注率、逾期贷款率、逾期90天以上贷款率等,这些是最重要的因子;
还有一些与市场相关的,比如换手率,过去12个月的动量,过去6个月的动量等,动量就是特定银行相对于行业平均值的价格表现强弱;
另外是一些根据上面的基础因子衍生计算出来的。
比如不良率这个指标,我们知道不良率低的银行资产质量更好,未来可能有更好的市场表现。
在这个基础上我们还可以设定一个边际变化的概念,比如当期的不良率相对一个季度以前的变化,我们设为不良率(-3M),相对半年以前的变化我们设为不良率(-6M)。同样的,拨贷比、拨备覆盖率、关注率、逾期率这些也设定边际变化因子;
最后我还加了一些我自己认为非常重要,但是市场通常不关注的两个:固定ROE的预期回报和真实ROE。
经常看我内容的朋友应该对这两个指标非常熟悉了。
固定ROE的预期回报是使用极简估值模型计算出来的,假设未来PB不变、分红比率不变,ROE使用的是滚动ROE,也就是过去4个季度报表ROE的累加;
真实ROE就不用说了,全市场可能只有我一个人在反复比较,是对拨备进行还原后计算的银行真实业绩。比如最近一个季度青岛银行拨备暴增,真实ROE的水平超过其他银行很多,这个时候青岛的真实盈利能力是非常好的。
以前计算真实ROE很困难,现在有AI后,我只需要告诉它规则和计算公式,历史数据能轻松跑出。
实践下来的结果是,我看中的固定ROE的预期回报和真实ROE两个因子,对于价格的解释能力都非常的好,远好于市场看重的营收增速、净利润增速等。
需要说明的是,在因子的选择上,我是边学习边研究。
比如净息差这个指标,我自己深研银行后认为没那么重要,因为高息差意味着高风险,后面高营收可能通过更高的信用减值损失折损掉,落不到利润上。
但是市场显然非常看中净息差。其实这个指标和营收紧密相关,高息差,或者息差在快速提升的话,会直接体现在营收增速上,所以这种就是相对无效的因子。
有些因子看起来很不错,市场也很重视,实测下来效果一般,这种都要排除掉。
最后的结果是,我们拿到相对靠谱的因子是24个,剔除了无效的14个。
4、筛选因子
先给一张24个因子的总表,以及测试的部分结果:


24个因子分为4组,指向银行的4个不同维度,其中:
在估值维度,因子有6个,定义为A1到A6,分别是PB、PB的分位(某只银行在38家银行中PB的相对位置)、PE分位、股息率、股息率-10Y国债(股息率对于国债回报率的吸引力)、固定ROE的预期回报(我主动加入的核心因子);
盈利能力维度的4个,定义为B1到B6,分别是滚动ROE、营收增速、净利润增速、真实ROE(我主动加入的另一个核心因子);
资产质量维度的11个,分别是不良率、关注率、拨备覆盖率、拨贷比、逾期率等,包括这些比率的边际变化。实测是6个的变化更敏感,3个月的变化几乎没什么用;
市场维度的3个,换手率、相对动量(6-1)、相对动量(12-1),6就是6个月动量,12就是12个月动量,那么这里为什么要-1呢?
这是避免年末或者季末的“短期反转效应”,你可以理解为之前11个月涨的太好的,最后可能会获利回吐,会有人被动调仓。实测的时候6-1的效果不明显,而12-1的效果很好,最后我们留下的关键因子也是相对动量(12-1)。
24个因子的问题解释清楚了。
下面说一下量化系统是怎么判断哪些因子有效,哪些因子无效的?或者说哪些因子更重要?
这里要提到3个概念,分别是IC(信息系数)、胜率、IR(信息比率)。
简单的说,IC决定了因子的强弱,也就是赔率;
胜率和IR都是看因子的确定性的,可以一起理解为是胜率;
这里我对3个概念做一个简单的说明,标注为斜体字,想看的多研究研究,不想看的直接略过,不影响我们最后看结论:
A、IC(Information Coefficient,信息系数)
通过一个例子来理解:判断股息率对银行涨跌的影响。
先对股息率做排序:在每个季度末,所有银行的股息率按从高到低排列。
再做收益率排序:未来一年,所有银行的超额收益率从高到低排序。
IC信息系数就是测试股息率排序和超额收益率排序之间的相关性:
IC=+1,两个排序完全一致,买高股息必赚;
IC=0,两个排序完全没有关系,买高股息这个因子属于瞎猜;
IC=-1,相关性完全相反,买高股息必亏。
测试得到过去10年银行的股息率因子的IC均值是+0.28,约28%的一致性,
所以结论是:股息率因子是有效的,但并不完美。
在自建的量化系统里,IC的绝对值在0.03到0.05基本是噪音,0.05到0.10算弱有效,0.10到0.20基本可用,0.20以上已经很强了。
B、胜率(确定性)
胜率解决以下问题:这么多个季度里,有多少个季度胜率指对了方向?
比如:关注率这个指标,33个季度里有26个季度IC为负(即关注率高的跑输),胜率是79%,说明关注率这个指标用来排除银行很好用。

在上图中,换手率的胜率高,对每个季度的预测准确性更高;营收增速的准确率低,预测不是很可靠。
胜率必须结合IC一起看,即使胜率高,但IC低的,赚不到太多钱。
C、IR(Information Ratio,信息比率,稳定性指标)
IR的公式是:IC均值 ÷ IC标准差。
用来衡量IC的稳定性,同样的平均IC,波动越小,IR越高。

在上图这个例子里,股息率和固定ROE的预期回报两个参数的IC虽然差不多,但股息率的IC标准差非常大,有时候IC是负的,所以固定ROE的预期回报对于未来一年股票收益率的预测效果更好更稳定。
注意:胜率和IR两个指标,都是指向稳定性,二者都需要与IC结合起来一起看。
解释清楚IC、胜率和IR的含义后,我们对24个因子做测试,这里我测了两个口径,分别是未来一年的收益和未来两年的收益。
所以所有的因子都会有IC1、胜率1、IR1和IC2、胜率2、IR2这两套数据,再对数据进行分析,找到那些IC更高,胜率和IR指标也很靠谱的因子。
简单看一下重要因子是怎么被选出来的:

估值维度:
6个因子中,可以看出表现最好的是“股息率”。
按我们的理解,股息率越高,市场越喜欢,表明公司赚的是真钱,价格表现越好,实际情况也确实如此。股息率IC1达到0.229,IC2达到0.265,几乎是最高数值,意味着高股息真的带来了价格上的高收益。
但是这里我要打个小小的问号,高股息、红利这两个概念在2022年以后变得非常流行,几乎变成了一种题材。这个概念在未来的市场环境里面会不会熄火?还真的不好说。
不过从尊重市场的角度,本来就是要测算在真实市场环境下哪些因子更有效,所以我不会轻易对股息率降低权重。
而股息率下面跟着的那个“股息率-10Y国债”因子,是股息率相对于国债回报的吸引力,这个以后判断行业选择时,也就是说对比配置其他行业,配银行的表现如何时再用。在分析银行间差异的时候是没用的,所以筛选重点因子的时候,直接排除。
回测的结果表明,低PB、低PE、低PB分位这些,效果都一般,或者说这些因子单一使用的时候IC太低。
低PE更是负IC,什么意思呢?越是低PE的银行,未来一年到两年的收益越差,妥妥价值陷阱。
最后是我们的重磅指标“固定ROE的预期回报”,高相关性,高胜率,高稳定性。
发现了吗?
虽然低PB单一指标没什么大用,但如果低PB能结合高ROE和高分红比率(他们就和起来就是固定ROE的预期回报),就很有用。
我分享的极简估值模型继续用起来吧朋友们,翻看之前的内容。

盈利维度:
4个因子中表现最好的是另一个我加入的指标“真实ROE”。
IC1、IC2高达0.189和0.187,胜率1和胜率2高达80%、74%,非常靠谱,而且我一点也不意外。
因为较高的真实ROE ,是非常容易在未来几个季度提升银行的报表ROE以及存量拨备的,这个之前的内容反复提过了,而这些都可能提升市场估值。
相比之下,滚动ROE,其实就是报表ROE,效果还不错,但不如真实ROE和固定ROE的预期回报。
净利润增速对价格的预测能力也比较差。
营收就更不用说了,通过对过去10年数据的回测,我们发现营收这个指标直接不用看了朋友们。

资产质量维度:
好用的指标是不良率变化(-6M)和逾期率这两个。
我以前认为拨备更重要,比如拨备覆盖率绝对值、拨贷比绝对值、拨备覆盖率和拨贷比边际变化这些。
但实测下来证据不足,有点出我的意料。
原因可能是,高拨备意味着银行在藏利润,利润体现不在报表上,市场会给折价处理。
我对不良率变化因子存疑,因为知道好多银行的不良率好几个季度都是一模一样,不发生一点变化。但业绩回测的时候解释性很好,我怀疑是当部分银行的不良率下降时,这种主动调报表的行为被市场捕捉到了,市场会非常信任银行给出的,“资产质量在持续改善”的信号。
逾期率的话,比较好理解,逾期率因子的效果确实好于关注率,因为逾期率是硬指标,贷款逾期后直接计入,无法粉饰,对资产质量边际变化的预测能力强很多,关注率有人为调整的因素。
总的来看,资产质量维度下的因子总数更多,但筛选出来的两个和我的直觉差别较大,先尊重历史数据吧。

市场维度因子:
换手率越低,也就是越冷门,越不受待见的银行,未来一年到两年表现可能更好,但是相关性没那么强。
过去6个月的动量比换手率更好,而过去12个月的动量真的而是黄金指标。
相对动量(12-1)对未来一年涨跌的预测IC达到0.239,胜率达到85%,IR有1.04。对未来两年涨跌预测的胜率也达到80%,几乎就是全场最高,仅次于“固定ROE预期回报”因子。
简单的说,过去12个月涨的好的,未来一年也依然会大涨,市场的惯性很强。
5、确定因子权重
最后总结一下:
IC、胜率、IR优秀的因子,优中选优后,只剩最后6个,分别是:
股息率:越高越好;
固定ROE的预期回报:越高越好,赶快拿我分享的表格和网页算起来吧;
真实ROE:越高越好,去看我的排行,里面包含了很多关于真实ROE的说明,主观排行也融合了真实ROE的成分;
不良率变化(-6M):不良率下降的速度越快越好;
逾期率:逾期率越低,资产质量越好,价格更可能上涨;
相对动量(12-1):过去12个月涨的好的,未来还会继续涨;
然后是确定权重。
在此之前我们对因子的设定,都是等权的,比如6个重点因子,各自的权重为1/6。
我让系统对24个样本因子和6个重点因子的权重进行不断调整,调整的范围是从0到2,设基础权重为1的话。
最后得到的最优结果是下面这个权重表:

只有固定ROE的预期回报权重占比达到23.1%,其他5个因子都是15.4%,这种权重比例是最优的。
6、业绩回测
那么现在规则已经很清楚了,从2017年9月算起的9年时间(逐季换仓),使用4家银行等权的组合(各25%),6个重点因子的策略,最后的业绩回测结果如下:

9年时间累计收益达到289.4%,年化是16.3%。
这个年化应该说是非常好了,尤其是在银行这种低风险低波动的行业。
期初的10万,能变为9年后的38.94万,翻了接近4倍!
夏普比率也冲到了0.75,最大回撤只有-16.4%。
如果和中证银行指数做对比(采用全收益指数,加回了分红复投影响),量化策略的累计收益领先指数209%,年化回报率领先9.6%。
同期中证银行指数(全收益)年化只有6.7%,注意,2017年末的银行正处在景气周期,估值在那几年的最高点,有一定的特殊性。
我们把策略和中证银行的实际走势图画在下面:

可以看出,策略无论在哪个时段的领先优势都很明显,只在2024年阶段性的跑输过。
当年指数回报32.7%,策略回报27.2%,跑输-5.4%。
另外8年全部跑赢!
7、预测
我把这套量化策略预测出的4家银行建了个组合(成青江杭),分享在雪球,与我自己的评级组合做个对比,刚才看还在审核中。
从策略使用的因子,还有权重来看,我对这个策略还是挺有信心的,因为和我的主观估值过程接近,比较符合估值规律和经济规律。
不过测算出来的毕竟都是历史数据,还是要在未来真正的跑一下,一两年以后再看结果。
如果量化策略的表现明显比我的主观策略更好,以后也可能会切过去。
@今日话题 $成都银行(SH601838)$ $青岛银行(SZ002948)$ $江苏银行(SH600919)$ #银行股行情还会继续吗#
雪球是一个投资者的社交网络,聪明的投资者都在这里。
点击下载雪球手机客户端 http://xueqiu.com/xz]]>