新浪财经

A股多维度量化择时系统构建与回测——金融工程专题报告

新浪财经

关注

来源:华宝财富魔方

在资产配置体系中,A股作为一类重要的资产,其高收益与高风险的特征,对组合的收益与风险具有较大影响,因此对于A股资产择时系统的研究是必不可少的。前期我们已经构建了债券和黄金资产的择时系统,沿用之前的框架,资产本质上受到基本面、技术面以及投资者情绪的影响,其中基本面和技术面是择时研究的两个传统领域,一个更偏向于资产本身价值,另一个更倾向于市场形态挖掘,而投资者情绪反应的是投资者短期行为对于市场的重大影响。因此本文从这三个角度入手,挖掘A股择时因子,构建A股多维度量化择时系统。

1. A股择时因子构建说明

A股市场的走势受到不同因素的影响,从基本面来看,经济运行状况决定了企业盈利的水平,企业盈利是股价的内在价值,决定未来股价波动的中枢;流动性反映了当前的实体经济的融资情况和风险偏好,其中融资周期是经济周期的先行指标,当实体融资好转意味着实体经济具备了加杠杆能力拉动经济上行,同时融资周期还影响股权风险溢价,融资周期的好转改善了投资者对未来经济预期的看法,从而推动股权风险溢价的回落提升股票估值。因此基本面对A股的影响是长期的,而短期来看,市场层面和投资者情绪的影响较大,从技术面看,市场短期具有动量趋势,而投资者情绪的则会受到某些事件的影响导致市场的波动,比如沪深港通大幅流入、产业资本的增减持等等,这类事件具有非连续性,不可作为连续性的择时指标,我们将其作为事件驱动类指标。

因此,对于A股市场,我们主要选取四个维度进行打分评判,分别为经济运行、流动性、动量趋势和事件驱动,每个维度选取相关指标生成相应的打分,最后综合各个维度得到当前权益市场综合打分。

1.1. 单指标打分

对于每个指标的打分(除了事件驱动指标),分值控制在0~10分之间,以经济运行类指标为例,越接近10分说明经济向好,反之经济走弱。其中对于经济运行以及流动性类指标的打分,主要从两个维度进行评分,趋势项和所处的历史水平,对于正向指标,当趋势向上时分值为10,反之为0,对于历史分位数分值为历史分位数*10,反之对于反向指标,趋势分值为当趋势向下时分值为10分,反之为0分,分位数分值为(1-历史分位数)*10分,对趋势分值和分位数分值进行加权得到单指标打分。对于动量指标的打分,当动量指标发出看多信号时,分值为10分,反之为0分。对于事件驱动指标,由于事件驱动指标存在看多、看空以及无信号三种情况,因此当发出看多信号时,分值为10分,发出看空信号时,分值为-10分,未发出信号时为0分。

对于经济指标,我们主要关注指标的运行趋势,因为从实战效果看,指标的运行方向较指标本身数值更能影响资产价格的变化。为便于回测及策略落地,对于经济指标运行趋势的研判,我们全部采用事前交易视角进行划分,主要划分依据为:当连续2个月上涨时,划分为上行趋势;连续2个月下跌时,划分为下降趋势。此外,为提升所划分出的趋势波段的实效性,我们还采用了一种N字型的上升或下降突破作为辅助划分方法。历史分位判断,采用指标所处过去5年历史分位数作为代表。

1.2. 单指标信号生成

指标按月生成交易信号,对于指标分值处于0~10分之间的指标,为了检验指标的有效性,设置交易信号,即对于经济运行、流动性以及动量类指标,仅有两种信号,看多或者空仓,即当指标分值高于6分为看多,低于4分为平仓,当指标处于4~6分时延续上期信号,对于事件驱动指标,设定生成三种信号类型,分值大于0看多、小于0看空以及等于0空仓。

回测设置

对于单指标的测试,我们采用沪深300指数作为择时标的,测试时间从2012年1月至2016年12月,手续费率设置为双边千分之4,测试效果采用以下评价指标:

对单指标测试完毕之后,按照一定权重比例合成各个维度指标,对于合成指标测试效果,我们通过样本内和样本外来进行观测,信号生成同样采用单指标信号生成方法,即对于经济运行、流动性、动量趋势的合成指标,按月生成信号,采用高于6分为看多,低于4分为平仓,介于4~6分则延续上期信号。对于事件驱动的合成指标,设定生成三种信号类型,看多、看空以及空仓,测试时间为2012年1月至2019年6月。

2. 单指标因子择时效果回测

2.1. 经济运行

对于经济运行类指标,我们选取了4大类指标描述当前经济运行状况,一是衡量经济增长的总体指标,包括工业增加值、发电量与铁路货运量;二是衡量经济增长的分项指标,包括固定资产投资、消费及出口;三是衡量企业盈利的指标,包括工业企业营业收入(2018年12月之前的数据采用工业企业主营业务收入作为替代),工业企业利润总额;四是衡量经济景气度的调查类指标,具体为官方PMI及财新PMI。

对于宏观指标,需要注意的是由于大部分指标存在公布的时滞性,需要对数据进行延迟处理,本文数据推至公布当月的最后一个交易日使用数据,以工业增加值为例,2019年3月的数据4月17日公布,因此工业增加值数据使用时间为2019年4月30日。其中不需要滞后的数据包括PMI和财新PMI,其余数据均需要滞后处理。另外,对于部分宏观指标由于春节因素会出现1、2月份数据失真的情况,需对其进行调整处理。

基于单指标测试结果,我们根据指标的逐笔胜率、滚动20天胜率、滚动20天平均收益率(中位数)以及年化收益率做出排序打分,并结合指标的经济逻辑与经济含义,在等权重基础上进行偏离,最终确定指标权重,其中所有经济运行类指标方向均为正向。具体来看,上述4大类指标权重分配确定为:30%、30%、20%以及20%,基本符合经济指标本身经济含义的重要性。

对单指标进行加权得到经济运行维度打分,并对合成指标进行测试,分为样本内(2012年1月至2016年12月)和样本外(2017年1月至2019年6月),测试结果如下:

测试结果表明,经济运行指标样本内交易4次,胜率为75%,年化收益为9.3%,样本外同样表现不错,交易1次,胜率为100%,年化收益为7.1%,总体来看,经济运行指标持仓周期偏长,在8个月左右,不过胜率较高,全样本年化收益率达到9.1%,较基准提高2.0%,Calmar比例达到1.54,夏普比例达到0.75。

2.2. 流动性

对于流动性指标,主要选取M1、M2、M1-M2、中长期贷款增速、贷款余额增速、社会融资规模增速衡量实体经济的流动性,信用利差反应当前投资者风险偏好。其中M1增速以及M1-M2主要用于衡量企业端的流动性变化,业内一般将其看做是实体经济的资金活化程度,当M1增速、M1-M2增速处于上行趋势时,往往是实体经济中资金从储蓄向投资转化的过程,这相应意味着投资的趋多、需求的转暖,进而实体经济的企稳回升。M2与贷款余额增速代表的间接融资体系对实体经济的流动性支持,社会融资规模则更为全面的反映了实体经济领域的广义流动性变化。而中长期贷款能更好反映金融对实体经济的支持,是企业盈利好转的先行指标。

对于流动性指标,除了信用利差数据外,其余数据均需要做滞后处理。同样,对于1、2月份数据失真的情况,需对部分指标进行处理。

基于单指标测试结果,我们同样根据指标的逐笔胜率、滚动20天胜率、滚动20天平均收益率(中位数)以及年化收益率做出排序打分,并结合指标的经济逻辑与经济含义,确定指标权重,其中除了信用利差为负向指标,其余都为正向指标。从测试效果来看,社融和中长期贷款测试效果较好,其次是信用利差,M1、M2较差。其中,对于社融和中长期贷款分配较高权重,其次是信用利差,M1、M2权重最低。

将单指标进行加权得到流动性维度打分,对合成指标进行测试,分为样本内(2012年1月至2016年12月)和样本外(2017年1月至2019年6月),测试结果如下:

测试结果表明,流动性合成指标样本内交易6次,胜率为50%,年化收益为6.2%,样本外交易2次,胜率为100%,年化收益为8.3%,总体来看,流动性指标平均持仓周期为5个月左右,全样本年化收益率达到7.2%,与基准几乎持平,但回撤有所减少,Calmar比例达到0.96,夏普比例达到0.39。

2.3. 动量趋势

采用唐奇安通道线,当沪深300指数创N日新高时,发出买入信号,反之创N/2日新低时发出平仓信号,通过设定不同期限N评判A股市场不同期限动量趋势情况。具体我们选择偏短期、中短期、中期、中长期以及长期区间进行测试,取每月最后一个交易日的信号值作为下月交易信号,将动量择时系统转化成月度频率,从而便于与其他维度的指标相结合。

通过对单指标测试,主要对胜率、滚动20天胜率、滚动20天平均收益率(中位数)以及年化收益率做出排序打分最后决定指标的权重,其中偏中长期动量趋势的胜率、收益以及收益风险比好于短期、长期动量,因而在权重设定上我们采用类似于钟形的权重设定模式,即越靠近中间的参数权重设定越大,两端权重设定较小。

通过上述权重对单指标进行加权得到动量维度打分,对合成指标进行测试,分为样本内(2012年1月至2016年12月)和样本外(2017年1月至2019年6月),测试结果如下:

测试结果表明,动量合成指标样本内交易4次,胜率为50%,年化收益为11.9%,样本外交易2次,胜率为50%,年化收益为5.9%。总体来看,动量合成指标交易胜率为50%,平均持仓周期为5个月左右,全样本年化收益率达到8.7%,比基准高出1.6%,Calmar比例达到0.94,夏普比例达到0.51。

2.4. 事件驱动

事件驱动指标生成

指数估值:当指数估值过高和过低时,往往会产生估值的修复,导致市场的下跌或者上涨。采用沪深300指数PB过去5年的分位数作为估值代表,信号生成采用阈值突破的方式,当估值指标下穿下阈值发出看多信号,当估值回归正常水平时平仓,当估值指标上穿上阈值发出看空信号,当估值回归正常水平时平仓。

一致性指数:采用沪深300指数成分股,通过计算沪深300成分股中上涨个股的占比作为一致性指数,当个股上涨或者下跌趋于一致时,往往预示着市场的反转。信号的生成采用阈值突破的方式,当一致性指数下穿下阈值发出看多信号,当一致性指数回归正常水平时平仓,当一致性指数上穿上阈值是发出看空信号,当一致性指数回归正常水平时平仓。

波动率:当市场波动率处于高位时,往往预示着市场接近顶部或者市场下跌,反之当处于低波时市场有可能迎来反转。采用沪深300指数波动率处于过去5年的分位数作为指标,信号生成采用阈值突破的方式,当指标下穿下阈值发出看多信号,当回归正常水平时平仓,当指标上穿上阈值发出看空信号,当回归正常水平时平仓。

沪深港通:沪深港通作为重要的海外资金的流入渠道,可以衡量海外资金对于A股市场的判断,由于海外市场多以机构投资者为主,当海外资金大量流入市场,说明此时处于价值洼地,对后市走势强烈看多,当资金流出市场时,说明对未来走势相对悲观。采用沪深港通买入成交净额周频数据作为代表,当连续呈现买入状态或者当出现大量买入时发出买入信号,当信号发出满足一定天数或指数涨幅达到阈值设定时,看多信号结束。由于近年来沪深港通资金整体呈持续流入状态,故我们不采用该指标进行卖出择时。 

产业资本增减持:上市公司股东作为上市公司的实际参与人,相对于普通投资者更了解公司实际运作情况以及对公司未来发展做出行动,按月统计产业资本增减持情况,仅统计高管和公司增减持情况,由于A股长期处于减持状态,因此当出现集中增持时,说明此时估值过低,市场位于阶段性的底部。即当产业资本指标向上偏离一定幅度或者连续增持时发出看多信号,当信号发出满足一定天数或指数涨幅达到阈值设定时,看多信号结束。对于产业资本增减持,我们也测试了卖出信号,但效果一般,故实际中我们不采用该指标发出卖出信号。

美元兑人民币:人民币汇率的贬值宏观来看反应经济基本面的走弱,微观来看会使得境外投资者投资成本增加,一定程度上导致外资资金流出,从而引发对股市流动性的担忧,可能预示着A股市场下跌,因此人民币汇率长期升值或者贬值的转向会对A股走势造成一定的影响。具体来看,当人民币由长期贬值转为升值,发出看多信号,当信号发出满一定天数之后信号结束,反之当人民币汇率长期升值后的转向,此时发出看空信号,同样当信号发出满一定天数后信号结束。

同业存单:同业存单发行利率一定程度反应了资金面的松紧,当资金宽松时,有利于股市上涨,反之当资金面收紧时,股市有可能下跌,从我们之前测试结果来看,利率作为连续性择时效果表现并不佳,可能由于利率与市场关联并非线性的,因此我们将其作为事件驱动类指标,即利率发生拐点变化时可能导致市场流动性较大的变化,从而影响市场短期走势。具体来看,当同业存单利率由高位回落时反映出流动性由收紧转为宽松,发出看多信号,当信号发出满一定天数后信号结束,反之当由低位回升时流动性由宽松转为收紧,发出看空信号,当信号发出满一定天数后信号结束。

由于事件驱动指标信号较少,我们进行全样本测试(2012年1月至2019年6月),测试结果如下:

对于事件驱动指标测评,仅考虑指标发出信号区间滚动20天胜率以及收益情况,看多信号胜率高于看空信号,不过从滚动20天收益来看,看多信号的胜率和收益优于看空信号,为了避免过于优化以及后续扩展性,每个事件驱动信号按照固定权重合成至主交易系统中。

3. A股综合择时系统构建及回测

综合上述4个维度择时信号,其中经济运行、流动性和动量趋势按照一定的权重合成,总分10分,而事件驱动作为主交易系统额外加分项,每个指标分配1分,另一方面,在实际交易中,由于仓位变动不可能是满仓至空仓,更多的是逐级增减仓,因此基于A股综合择时系统,构建分仓位交易的择时系统。我们将仓位分为5档,0~2分配置10%仓位,2~4分配置30%仓位,4~6分配置50%仓位,6~8分配置70%仓位,8~10分配置100%仓位,为了更真实反应配置结果,我们采用沪深300指数作为权益配置标的,剩余仓位配置Wind货币市场基金指数。

对于主交易系统各维度的权重的生成,本质上来看每个维度可看做一个单独的交易系统,权重的生成即分配一定的资金于单个交易系统,从而使得总交易系统的收益、收益风险比得以提高。因此我们采用滚动样本方式,考虑过去三年为一个样本期,每隔N个月进行权重的调整,而权重调整的依据可以根据过去三年每个交易系统的收益、风险、收益风险比、胜率,或者综合考虑各个系统的相关性以及风险(即可采用相关的资产配置模型)。

具体来看,我们以等权为比照基准,若采用收益作为权重生成方式,即根据过去三年单个交易系统择时收益作为指标,作归一化处理作为相应的权重,同时要求单个维度权重在0.1至0.5之间,以此类推收益风险比、胜率指标,而风险指标做倒数处理之后进行归一化。对于资产配置模型,我们采用仅考虑风险的资产配置模型,最小方差配置、最大分散度配置以及等风险贡献配置,其中最小方差(mv)采用最优化的方法求解组合方差最小的权重配比,最大分散度(mdp)也被称作最大夏普比率组合,同样采用最优化的方法求解,等风险贡献(erc)要求组合中单个资产的风险贡献相等。

测试时间从2012年1月至2019年6月,N取3、6、12,测试结果如下:

从收益、风险以及收益风险比来看,不管采用何种加权方法以及调整周期,均好于沪深300指数本身,尤其是回撤显著降低,最大回撤由46.7%降至20%左右,滚动一年收益率大于0的胜率也提高至70%,Calmar比例提升至1附近,因此多维度加权打分、分档分仓位进行配置是有效的。

另一方面,加权方法的选择上,从累计收益率、滚动一年平均最大回撤、波动率、Calmar比率、滚动一年平均收益率、滚动一年胜率以及夏普比率做打分排序,等权加总得到最终权重调整方法的评价(打分越高说明该方法加权下择时系统表现较优,总分10分),测评结果如下:

从测评结果来看,等权、最大分散度以及胜率加权方法的效果较好,且在不同N下均保持较高分值,其中等权和胜率加权方法的总体打分接近,主要原因是单个择时系统的胜率较为接近,权重配比接近于等权,而最大分散度方法累计收益较高,提升总体评分值,但是净值的波动也较大。总体来看,各种加权方法之间收益的差距不大,综合收益、风险等指标测评后等权方法排名第三,而从测评稳定性、评价效果以及使用的便利性综合考虑,等权重加权不失为一种好的方法。

因此,我们基于等权重加权经济运行、流动性和动量趋势维度的打分,并加以事件驱动指标,这里需要说明的是,事件驱动维度中对每个指标分配1分的权重(可能出现的打分为1分、0分、-1分),主交易系统分值为0~10分,总分值可能高于10分和低于0分,当总分值超过10分设定为10分,低于0设定为0分,仍按照分档进行仓位配置,测试结果如下:

从测试结果来看,加入事件驱动后,择时策略的收益显著提升,同时最大回撤有所减少,Calmar比率由1.04提升至1.33,滚动一年收益率大于0 的胜率提高至80%,总的来说,事件驱动指标具有高胜率或者高收益的特点,但是时效性较短、不具有连续性,因此事件驱动指标加入是为了挖掘交易机会,提高主交易系统的收益或者收益风险比,未来我们需要做的是不断挖掘这类的事件驱动指标,加入至主交易系统中。

加载中...