利率量化模型在不同标的下是否同样适用?我们从短端出发寻找答案。从结果来看,择时模型同样适用于预测2年国债走势,且延续了10年国债利率预测的优势——胜率较高、回撤有限、关注趋势、观点明确、左侧提示。
2年国债利率预测模型,短端走势的锚!我们的2年国债择时模型和10年国债择时模型相比胜率更高。从23年6月20日开始至2025年8月11日的18个区间,模型胜率基本满分,累计收益288.56bp。
2年国债模型与10年国债模型有什么区别?我们首先尝试仅将10年国债模型中的目标变量更换为2年国债到期收益率,结果较好、但还有优化空间。第一,从敏感性角度分析,2年国债模型需要重新调整超参数。第二,从因子选择及作用机制角度,2年国债需要新的因子集以及因子应用方式。
2年国债模型如何调整参数?第一,相比回测,预测更为重要。我们主要聚焦于最后一个具有实际预测意义的窗口,关注其训练集及验证集的表现来获得更为适宜的超参数。第二,参数的调整,要兼顾经济与统计逻辑。2年国债较为敏感,对于窗口和预测时滞的参数调整范围要符合市场逻辑,需要更为精确的模型,但也要避免复杂模型带来的过拟合问题。
2年国债模型如何选择因子?第一,2年国债模型需要减少部分基本面数据。第二,2年国债模型需要减少低频因子,增加高频因子。第三,2年国债需要丰富资金面因子与技术因子。第四,建立因子打分机制,对不同窗口应用动态因子。
是否存在过拟合?我们从2025年5月15日至今,使用最后的单窗口模型逐日进行预测,模型准确识别了利率5月的多转空、6月的空转多以及7月的多转空拐点。我们在未来会严格遵循每过一个窗口即重新调整因子、超参数,进行全窗口训练回测和最后窗口的精细化调优的原则,更加高频地维护我们的短端模型,以便获得准确的择时结果和进行及时的纠错。
风险提示:模型失效风险;因子失效风险;数据质量风险
01
2年国债利率预测模型,短端走势的锚!
利率量化模型在不同标的下是否同样适用?我们从短端出发寻找答案。
从结果来看,择时模型同样适用于预测2年国债走势,且延续了10年国债利率预测的优势——胜率较高、回撤有限、关注趋势、观点明确、左侧提示。
我们的2年国债择时模型和10年国债择时模型相比胜率更高。从23年6月20日开始至2025年8月11日的18个区间,模型胜率基本满分,累计收益288.56bp。
2年国债模型结果更加灵敏。样本外来看,除24年Q2的利率阶段性回升拐点没有识别外(约10bp,持续6个交易日),对2024年3季度的利率波动、2025年1月的短端利率迅速上行以及今年7月利率的翻空均实现了较好的识别。
对于回撤,模型所有区间内最大回撤为10.1bp(即区间内和区间起点相比,利率变动方向相反的最大幅度),主要是由于模型结果偏左侧,而非模型本身看错;所有区间平均回撤为2.16bp。
模型结果依旧稳健,较少出现反复。从左侧效果来看,我们使用5日移动平均结果作为择时信号,可以提前5-10天捕捉到利率的多空转换。
模型的震荡区间控制效果有所提升,绝大多数时刻可以发出明确择时信号,从原始信号来看,仅有8.04%的预测结果发出40%-60%区间的震荡信号。
从模拟净值曲线角度,我们以模型发出信号的第二天作为策略起点,以中债7-10年国开行债券净价指数作为多头持仓,中证0-1年国债指数作为空头持仓,从2021年6月30日至2025年7月11日进行回测,仅考虑资本利得的情况下,策略净值为1.16,2023年3月至2025年7月11日的样本外测试集区间,策略净值为1.11。
我们以中债1-3年国开行债券财富指数作为多头持仓,R001作为空头持仓持有现金构建策略,按照1年360日计算利息,2024年7月1日以来策略累计收益率3.07%,中债1-3年国开行债券财富指数累计收益率2.45%,持有现金累计收益率(R001)1.93%。
02
如何搭建2年国债模型?
2.1
为什么不做期限利差择时?
我们尝试了将期限利差设置为目标变量,但效果并不理想。期限利差除了收窄或放宽的趋势方向,其日间波动较大,难以形成稳定的择时区间。
2.2
2年国债模型与10年国债模型有什么区别?
我们首先尝试仅将10年国债模型中的目标变量更换为2年国债到期收益率,结果较好、但还有优化空间。例如今年1月6日至1月13日的6个交易日内,两年国债到期收益率迅速上行23.83bp,但模型未能较好识别。
第一,从敏感性角度分析,2年国债模型需要重新调整超参数。我们的模型中包含窗口长度、预测时滞、学习率、正则化系数等超参数,适用于10年国债的超参可能并不适用于短端,2年国债需要重新训练回测以及预测检验来找到适宜的超参数。
第二,从因子选择及作用机制角度,2年国债需要新的因子集以及因子应用方式。对于利率曲线整体趋势的择时,我们的10年国债模型的因子集效果表现较好,但本质上2年国债与10年国债收益率是两条不同的曲线,识别一些短区间波动需要更为精确及细致的因子。其中2年国债波动及尾部风险较大,例如今年1月短端的调整主要来源于央行停止国债买卖后的资金紧张,刻画这一阶段的短端利率波动就需要更多的资金信息。
2.3
2年国债模型如何调整超参数?
第一,相比回测,预测更为重要。我们的所有样本从2021年4月起按照500个交易日一个窗口,其中最后20个交易日为测试集,滚动训练及预测,共划分为28个窗口,并聚焦于最后一个具有实际预测意义的窗口,关注其训练集及验证集的表现来获得表现最好的超参数,对于前序窗口的回测我们使用相对表现较为平均的超参数。
第二,参数的调整,要兼顾经济与统计逻辑。2年国债较为敏感,对于窗口和预测时滞的参数调整范围要符合市场逻辑,某些短窗口与长时滞的组合或许有非常优异的表现,但违背市场规律的参数组合并不具有说服力;此外在调整学习率、正则化系数、模型结构的过程中,2年国债需要更为精确的模型,但也要避免过于复杂的模型导致的过拟合问题。
2.4
2年国债模型如何选择因子?
第一,2年国债模型需要减少部分基本面数据。
第二,2年国债模型需要减少低频因子,增加高频因子。对于2年国债模型原始因子集,我们总计选择247个原始因子,经差分、同比等处理后共计372个因子,其中75%以上日度因子。
第三,2年国债需要丰富资金面因子与技术因子。
第四,建立因子打分机制,对不同窗口应用动态因子。我们将时间衰减处理后的SHAP值和IC值归一化,并进行线性加权来对因子进行综合打分。其中赋予SHAP的权重相对较高,更偏重对模型的内生解释,最终我们选择排名前200的因子作为动态因子集。
2.5
是否存在过拟合?
首先,我们需要正确认识过拟合。过拟合现象没有绝对的标准,普适的看法是在训练集上表现非常好,但验证集或测试集表现较差,从损失函数的具体表现来看,是训练集的损失函数持续下降,验证集的损失函数先降后升,模型过度学到了不该有的“噪声”。我们从23年6月开始的样本外区间,本身是由20个交易日组成的测试集滚动而来,此外在多重正则化限制下,模型的损失函数表现良好,验证集损失没有出现先降后升的现象。
其次,我们的正确区间以区间的起点与终点为基准,区间的100%胜率不等于模型完全拟合出了历史的利率走势,多空曲线的单调递增才是真正的“100%胜率”。区间内部的回撤同样是重要参考因素,和10年国债相比,2年国债模型回测中的历史最大回撤有所增加,但可控的回撤也表明模型没有出现过拟合现象。
最后,我们从2025年5月15日至今,使用最后的单窗口模型逐日进行预测,模型准确识别了利率5月的多转空、6月的空转多以及7月的多转空拐点。模型在实际预测中的良好表现是模型没有过拟合现象的最好证明。
此外,由于2年国债的敏感和波动特性,我们在未来会严格遵循每过一个窗口即重新调整因子、超参数,进行全窗口训练回测和最后窗口的精细化调优的原则,更加高频地维护我们的短端模型,以便获得准确的择时结果和进行及时的纠错。