关于利率债市场的量化择时策略,之前我们发布的两篇报告《活跃券的均线择时》、《基于量价 信息的利率择时探讨》已有过一定程度的探讨: 1) 《活跃券的均线择时:——宏观固收量化研究系列之(六)》中,我们尝试使用技术分析回测 数据,而后我们发现,以均线为代表的技术指标存在以下问题: 被动地应对行情,并未对市场进行预测和验证,因此胜率较低; 本质上是趋势跟踪,在拐点来到时反应较为迟钝 ; 如果是日频级别的技术分析,则极度依赖于市场状态,尤其在震荡市信号变换频率较 大,会出现来回亏损的情况; 参数方面,容易出现过拟合,比如往往出现选择训练集最优参数,而在样本外失灵的 情况。
2) 《基于量价信息的利率择时探讨:——宏观固收量化研究系列之(八)》中,我们尝试挖掘有 显著线性关系的、有样本内预测能力的时序单因子,从而对未来期货的涨跌进行多因子合成 预测,但依然存在一些问题:时序因子并不能像股票领域的截面 alpha 因子一样,贡献较为稳健的超额收益,在不同 市场风格下,大多数时序因子表现会出现不同程度的波动,即信号出现失灵;利率市场较为复杂,线性方法虽然简单,但是拟合程度也相应较低,尤其是对于单因 子回归所产生的信号,预测能力较差;通过筛选因子的方式,最终使用的信息较少,在几百个时序因子中最后筛选出几个较 好的因子,最后合成信号只利用到了这几个因子的信息,而剩下的因子仍有很多的信 息尚未被利用;因子之间可能存在复杂的相关性,报告中采用的简单等权的方法可能并非是最好的合 成方式。
不管是技术分析,还是线性预测,本质上,我们面临的择时问题属于时间序列预测(Time series forecasting, TSF)的问题,这类问题是统计学中非常重要的领域,在医疗监测、交通、能源、气 象、金融等领域有着广泛的应用。传统的时间序列模型,如 AR 系模型,往往基于数据的平稳性 假定,捕捉时间序列变量的线性预测。而近些年来,以循环神经网络(Recurrent Neural Networks, RNN)为代表的深度学习(Deep Learning)模型发展迅速,由于其复杂的网络结构设计,拟合能力 和特征提取能力远超传统机器学习模型,被大量运用在时间序列预测问题上。 近几年中国利率债市场交易主体逐渐活跃, 以国债期货、各期限利率债活跃券等品种已经产生了 较多量价数据,而资金面、国债/国开收益率曲线也有足够长的历史数据,这也为我们使用复杂模 型的拟合提供了可能。
本文尝试设计神经网络模型,使用海量的因子库对国债期货和利率的涨跌进行拟合,从而形成日 频的多空择时信号,在此基础上对样本外的历史数据加以回测。

2.1、时序因子介绍
本文特征的数据在《基于量价信息的利率择时探讨:——宏观固收量化研究系列之(八)》中的因 子库的基础上,进行了丰富和扩展,共计 779 个时序因子(含历史分位数和移动平均的平滑处理。其中,由于国债期货上市时间较晚1,因此对于涉及国债期货的因子和标签(国债期货价格涨跌幅) 的样本长度较短,因此,根据我们所定义的标签不同,数据分为两大类——含国债期货的数 据集和不含国债期货的数据集。
2.2、预测模型介绍
近年来以神经网络、决策树等非线性的机器学习模型在量化投资领域得到了广泛的应用。基于机 器学习模型良好的拟合和特征提取能力,我们引入神经网络相关模型,对上文所得到的因子数据 集(特征)进行训练,从而对未来 N 日的利率涨跌和国债期货涨跌进行预测。 在使用相关模型进行预测时,一个重要的问题就是在使用数量庞大的特征时,如何对特征进行降 维从而剔除噪声和无效信息干扰。为了应对这个问题,常见的做法是人工筛选提取“重要性”较 高的特征,然后用这些人工提取的特征进行拟合。这种方法往往计算成本较大,稳定性较差且有 着极大的过拟合风险。
为了克服这个问题,本文参考 Bao et al.(2017)的思路,设计了一个两阶段预测模型。第一阶段是 使用稀疏编码器(Sparse Encoder)进行多维时间序列的信息提取,即通常所说的降维步骤,第二 阶段是对降维后的时间序列使用 GRU 模型拟合,最后将 GRU 最后一个时间单元的输出输入到一个全连接层得到最终的一维输出结果。我们把整个稀疏编码器降维加上GRU模 型的时序预测最终得到输出的网络结构称之为 SE-GRU 模型。
1) 稀疏编码器模型介绍。由于本文的数据集是日频数据集,并且数据历史长度并非很长,最短的训练集仅有约 5 年的样本 长度,对特征重要信息的提取更加显得重要。因此,本文并未直接套用 GRU模型,而是在第一步 使用一类神经网络模型——稀疏编码器(Sparse Encoder, 下文简称 SE)进行数据降维,提取出有 用的特征,再进入第二步的 GRU 模型进行监督训练。 自编码器(Autoencoder)是一类被广泛应用于数据压缩、特征提取等领域无监督非线性降维工具, 它通常包含一个 Encoder 部分和一个 Decoder 部分。Encoder 部分主要是将高维原始数据压缩成 一个低维特征,而 Decoder 部分则是将这个低维特征还原成一个维数与原始数据相同的数据称之 为生成数据。

整个自编码器则是通过极小化生成数据与原始数据的均方误差来训练自编码器的,Encoder 输出 的中间变量则可以被认为是包含原始数据信息的降维特征。 而稀疏自编码器(Sparse autoencoder),顾名思义,就是一个自编码器在训练的时候给损失函数 加上对隐藏层神经元(Encoder 的输出)的稀疏化约束。这种做法使得 Encoder 能够更加有效地提 取原始数据信息,且使得整个模型泛化能力增强。通常稀疏自编码器的稀疏化约束是通过构造一 个 K-L 散度来完成的,但损失函数引入 K-L 散度会使得整个模型训练较难收敛,考虑到 L1 损失也 能起到稀疏化作用且能有效的筛选信息(类比 Lasso 回归),因此我们模型中采用 L1 损失来代替 KL 散度进行隐藏层神经元稀疏化约束。
2) GRU 模型介绍。与传统的分类或回归问题不同,时间序列建模中常见的一种情况是,下一个时刻的输出不仅与当 前的输入有关,还往往与过去一段时间的输入或输出相关,如语音、视频、文本。传统的前馈神 经网络假设所有的输入是相互独立的,因此并未能利用序列前后的信息。而循环神经网络 (Recurrent Neural Network, RNN)是专门用于处理时间序列预测问题的一类神经网络模型。在 RNN 模型中,通过隐藏层状态来接受过去的信息−和当前的输入,从而影响当前的输出, 这样模型就具有了记忆能力。
RNN 模型存在一个较大的缺点是,当时间间隔比较大时,在求解过程中会出现梯度爆炸或梯度消 失的情况。因此,比较常见的改进做法是引入门控机制来控制信息的积累速度,本文所采用的门 控循环单元网络(Gated Recurrent Unit, 下问统称为 GRU) 正是一种常见的基于门控机制的循环神 经网络模型,它引入了更新门(update gate)和重置门(reset gate)来控制循环单元的输出,避免了 梯度消失的问题,其模型参数较少,训练效率较高,因此被业界广泛使用。
3) 损失函数。介绍完稀疏自编码器与 GRU 基本概念后。假设时间序列数据的第 i 个数据时间 ∈ {0, ⋯ , } 截面 上特征记为 ,该时间序列对应的标签记为 +,N 为预测周期,结合图 1,整个模型正向传播 的过程可分为三步:第一步,每天标准化数据(记为 )输入稀疏自编码模型得到低维特征(记为 zi t );第二步,低维特征对应的时间序列(( )=0⋯)输入到 GRU 模型;第三步,取最后时间 T的输 出进入全连接层最终得到整个模型的预测结果。

3.1、策略设计
基于上文设计的 SE-GRU 模型,本部分介绍对各种利率标的的预测与回测结果。我们使用如下 4 个市场关注度较高、成交较为活跃的 4 个标的作为回测对象: 10 年期国债期货主力合约(T) 5 年期国债期货主力合约(TF) 10Y 国开活跃券利率 5Y 国开活跃券利率 首先,我们对数据集进行样本内(训练集和验证集)和样本外(测试集)的划分,采用年末滚动训练的 形式,对于国债期货标的,我们训练了 3 次模型(2020 年底、2021 年底、2022 年底);对于利率标 的,我们训练了 6 次模型(2017 年底-2022 年底)。在每次训练前,都对训练集的数据进行去极值 和标准化处理。
由于神经网络的模型训练结果受到随机种子的影响,为了保证模型的一般性,在每次训练中,我 们分别保存 10 个不同随机种子的模型,最后取 10 个模型的预测值的平均作为最终的预测值。 假定在 T 时刻,我们记 T 时刻的时序向量 ( 0 , ⋯ , ) 为 ,将其作为特征输入,基于训练好的模 型,我们可以计算对未来 N 日各标的的涨跌幅的预测值̂ +: ̂ + = ( ) 基于̂ +的符号,可以形成当日的多空信号,以利率标的的预测为例: 若̂ + > ,则意味着当前 X 预测未来利率上行,则生成看空信号(若 Y 是未来 N 日的国债 期货涨跌幅,则生成看多信号) 若̂ + < ,则意味着当前 X 预测未来利率下行,则生成看多信号(若 Y 是未来 N 日的国债 期货涨跌幅,则生成看空信号)。
3.2、预测表现
首先,我们对测试集的每日预测情况进行汇总,基于每个标的,我们都计算了“未来 N 日收益” 中的预测周期 N=1/3/5/10 四种标签的结果, 由于是日频预测,我们关心 2 个指标: 预测值与真实值的方向准确率 IC:预测值与次日收益的秩相关系数。

3.3、回测表现
因为缺乏换手率、交易成本、交易价格等方面的考虑,仅从预测集的统计学表现上无法得知该策 略的整体表现,因此我们还是着重分析基于这些信号的历史回测结果。结果显示,使用预测未来 3 日和 5 日的收益作为标签,SE-GRU 模型具有较好的择时效果,夏普 比达 2.36 和 2.17,交易胜率达 62%和 68%,每年相较于一直持有多头和空头也有明显的超额收 益。2) 5 年期国债期货主力合约。结果显示,对于 5 年期国债期货主力合约,使用预测未来 3 日和 5 日的收益作为标签,SE-GRU 模型仍然具有较好的择时效果,夏普比达 1.63 和 2,交易胜率达 61%和 64%,过去 2 年相较于一 直持有多头和空头也有明显的超额收益,今年目前表现与多头接近持平,可后续继续跟踪其表现。
3) 10Y 国开活跃券结果显示,对于 10Y 国开活跃券利率标的,模型预测的信号并未能像国债期货那样拥有很高的收 益风险比和交易胜率。从标的本身的波动上看,利率也明显低于期货,因此从统计学意义上,利 率本身是更难预测的变量。分年度上看,除了 2020 年和 2021 年,其余每年都相对于多头有超额 收益。最主要的回撤(N=3)来自于 2020 年的方向上的误判,这说明在极端的行情下,基于量价的 预测模型容易出现失灵的情况。从信号的分布情况上看,我们发现在2020年上半年长期看空是导致回撤的主要原因,整体上看, 信号变化频率偏低(平均来看,约 2 周换一次仓)。
4) 5Y 国开活跃券。结果显示,对于 5Y 国开活跃券利率标的,净值的波动相对更大,胜率相对于 10Y 国开略高,但 盈亏比略低。分年度上看,除2020年大幅跑输基准,其他年份均有一定超额收益,而最主要的回 撤(N=3)仍来自于 2020 年的上半年的错判方向。
5) 长短久期指数轮动 基于 10Y 或 5Y 的国开利率择时信号,也可以形成长短久期的债券指数配置轮动策略: 看多:配置对应期限的长久期指数; 看空:配置短久期指数(1 年以下指数或 1-3 年指数) 这里我们设置万分之二的交易成本,以信号产生的次日收盘作为交易执行价格,选择如下指数作 为回测对象: 10Y 利率看多:中债 7-10 年国开债指数(CBA05201.CS) 5Y 利率看多:中债 3-5 年以下国开债指数(CBA06301.CS) 看空:中债 1 年以下国开债指数(CBA02511.CS) 回测结果更加直观的展现了对国开择时的多头端总投资收益与波动,供投资者参考。

3.4、特征重要性
在完成训练和预测后,投资者往往关心因子数据集中的哪些因子重要,哪些因子不重要。深度学 习模型虽然是一个“黑盒”系统,但是学界和业界一直在不断攻克这个模型可解释性(Model interpretability)的难题, Sundararajan(2017)提出了积分梯度法(Integrated Gradient), 基于梯度公式进行改进,从而计算 出各个特征对模型预测产生影响的大小和排序,本文引入此方法,尝试对SE-GRU模型的大量特 征进行归因。 我们以2021年末的模型训练为例,给定训练好的模型和测试集数据,我们可计算各个模型的的特 征归因情况,这里我们展示梯度积分绝对值排前十的特征,其中为正代表与预测变量正相关,为 负代表与预测变量负相关。
从前十的特征中可以发现一些信息: 1) 对所有的品种来说,均有各种类型的特征,如动量、波动、资金等,这说明这些预测模型是 综合了这些特征而形成的复杂系统; 2) 对于国债期货的 2 个品种的预测,T 合约的成交量和长端活跃券(30Y、10Y)的换手率是比较 重要的特征,有多个相关指标排进前 10;现券成交额水平呈现反向关系(成交额越大,期货 越可能下跌),现券成交额变化呈现正向关系(成交额增长越快,期货越可能上涨);3) 对于国债期货的 2 个品种的预测,3y1y 的期限利差变化(国开期限利差 3y1y_近5日变化、 国开期限利差 3y1y_近 10 日变化)也有反向关系,即利差越窄,期货涨幅越大; 4) 对于 10 年期国债期货来说, 10Y 国开利率的动量(10Y 国开_布林线百分比B_5 日),有较强 影响。而 10Y 和 5Y 国债利率的波动(10Y国债_布林线宽度10日、5Y国债_近5日标准差) 也有较强影响;
5) 对于 5 年期国债期货来说,T 合约的特征重要性大于 TF 合约自身的特征,这说明 T 合约的 持仓量和成交量(OBV 指标)更有参考意义。同时,5Y 国债的波动(5Y 国债_布林线宽度 5 日、 5Y 国债_近 5 日标准差) 也有较强影响; 6) 对于现券的 2 个品种来说,资金面(R001/R007/SHIBOR3M)明显影响较大,回购利率呈现负 向关系(利率越高,利率越下行),而 SHIBOR3M 呈现正向关系。国开和国债 30y10y 的利差影 响较大,且为负向影响(该利差越宽,利率越下行); 7) 对于 10Y 国开利率来说, 各期限的税收利差也有较大影响,且 2Y 和 5Y 税收利差是负向关 系(该利差越宽,利率越下行),而 10Y 税收利差呈现正向关系(该利差越窄,利率越下行), 说明国开与国债之间的强弱关系会影响 10Y 国开利率的走势; 8) 对于 5Y 国开利率来说,3Y 国开的波动(3Y 国开_布林线宽度 20 日)和 2Y 的税收利差对 5Y 国开利率的走势有负向影响。
(本文仅供参考,不代表我们的任何投资建议。如需使用相关信息,请参阅报告原文。)