AI智能总结
数据喜忧参半,资金不松不紧,央行宽松也暂不明确,市场又进入纠结状态。 怎么办?不妨看看模型怎么说。 大模型固然好,但逃不开“过拟合”问题,如果想从模型的准确性、稳健性和可解释性入手,机器学习也能提供较好结果。 结果怎么样?模型预测胜率77.44%,区间胜率61.90%,且正确区间平均长度39.62天,错误区间平均18.75天,说明模型具有良好的方向纠错能力。择时回报上,正确区间择时回报合计165.77bp,错误区间损失合计36.36bp,正确区间产生的最大回撤8.86bp。前瞻性上,我们的模型结果能平均提前5~10天捕捉到多空转换。 稳健性怎么样?为了检测更长周期模型择时能力的稳定性,我们剔除了一些发布时间较短的因子,将可用数据集拉长到2015年,重新训练出的模型在近10年的多轮债市周期中,同样表现出了较好的择时能力。 有哪些应用场景?该模型凭借其较好的利率择时能力,根据具体应用场景优化后,可以融入到债券投资策略、资产配置策略的构建,以及债券投资风险控制领域。 有哪些技术细节需要注意?在模型训练和使用中,模型参数需要由近期的数据训练得到,参数的有效期大约为2个月左右,超过时间模型输出结果会出现漂移(模型只输出看多或者看空,并不再变化),所以需要不断的滚动训练以更新模型参数;另外训练过程中,要谨慎的处理因子共线性问题。 风险提示:模型失效风险、因子失效风险、数据质量风险 1模型的择时表现定量分析 1.1模型如何表达多空观点? 我们利用中高频经济数据进行机器学习模型训练,最终呈现了较好的利率择时效果,其结果是未来10年国债利率上行的概率。在定量分析中,我们选取输出概率值的5日移动平均作为择时信号(𝑠𝑖𝑔𝑛𝑎𝑙),以确保稳健性。当𝑠𝑖𝑔𝑛𝑎𝑙≥60%,未来利率可能有上升趋势;𝑠𝑖𝑔𝑛𝑎𝑙<40%,则认为未来利率有下降趋势。 根据模型输出的概率信号和5日移动平均,择时信号相对稳定,信号持续的平均时间较长。我们采用滚动训练预测方式,以2021年至2023年2月的数据为训练集,获得了从2023年3月3日到2025年3月18日的输出结果(模型在作出预测观点时,并未在训练数据中见过结果时间段的数据)。 图1.模型择时信号及择时效果图 其次从择时区间以及准确度来看,2023年3月至今,模型形成择时区间21个,预测方向正确的天数总和515天,错误天数总和150天,胜率为77.44%。在形成的21个择时区间中,方向正确13个,方向错误8个,区间胜率61.90%。正确区间平均长度39.62天,错误区间平均18.75天,说明模型具有较好的方向纠错能力。 择时回报上,正确区间择时回报合计165.77bp,错误区间损失合计36.36bp,正确区间产生的最大回撤8.86bp。 图2.择时区间统计分析 为了直观的评估模型的择时能力,我们根据模型的择时信号,相应的累计国债收益率的变化值(如果是看多,则减去变化值),如下图所示。多空回报曲线基本表现出了线性增长的趋势,并且在各个时间段表现相对稳定,体现出了模型较好的择时能力。 图3.模型累计多空回报和回撤 1.2模型能用在哪些方面? 模型良好的利率择时能力,有助于精准识别利率波动的关键节点,这一特性使其在利率相关投资和风控场景中都具有较高价值。 债券投资策略。模型可以融入债券投资策略的构建中,通过对利率走势的预判,帮助投资者对债券的买卖时机作出判断。 资产配置策略。债券资产配置方面,利率下行前增加长久期债券持仓,利率上行前则增加短久期持仓比重,提升债券投资组合的收益表现。大类资产配置方面,模型可以帮助投资者从宏观视角审视利率变动对不同资产类别的影响,引导合理调整股债等资产配比。 债券投资风险控制。模型在抓取大的利率变动方面,表现出了较高的优势,在针对风控场景进一步优化后,可以帮助投资者实时监测利率波动的潜在风险,确保债券投资在复杂多变的市场环境中始终保持较高的稳定性与抗风险能力。 2模型是如何搭建和训练的 2.1变量选择与数据处理 变量选取上,我们提取出Wind宏观经济等数据库中关于消费、投资、政府支出、出口、价格、工业生产、货币供给、金融市场、国际资本流动等宏观和微观中高频经济变量,合计231个。除此之外,为有效捕捉经济指标的边际变化趋势,对部分变量采用差分、变化率、同比变化率和同比变化值等方式新增备选因子93个,合计备选特征变量324个。 缺失值处理方面,根据数据类型分别采用线性插值或向前填充方式(如存款准备金率)进行处理。频率对齐方面,对于周频和月频数据,对于已经公布的数据之间,我们采用线性插值法填充,升频为日频;对于尚未发布最新一期的周度或月度数据,我们采用向前填充方式,往前寻找上个月发布的该数据作为替代。 最后是目标变量构建,以当日10年期国债到期收益率为基准,分别用未来第60日到未来第1日的到期收益率减去当期值获得。 ∆𝑦𝑡𝑚 =𝑦𝑡𝑚 −𝑦𝑡𝑚 𝑘=1,2,3,4……60 𝑡,𝑘 𝑡+𝑘 𝑡 k为到期收益率变动值的跨度。 2.2提取信息含量最多的变量作为择时因子 股票量化投资中,信息系数(IC)和信息系数比率(ICIR)是评估因子预测能力的核心指标,尤其在多因子模型构建和优化中广泛应用。IC衡量的是因子预测目标变量的能力,计算方式通常是在面板数据横截面中(即投资标的维度),因子值和目标变量之间的相关系数或秩相关系数。而ICIR则是用于衡量因子IC值在时间维度的稳定性和一致性,计算方式是IC在时间维度的平均值除以其标准差。 ICIR越高,说明因子的预测能力不仅强,而且表现稳定。 客观来说,IC和ICIR的评价逻辑是用于选股的,因子值相当于是给备选股票进行打分,因子正值越高或负值越低,则该支股票在下一期的收益表现越好。 但我们目前的任务是择时,并且投资标的也只有一个,能否构建出类似的IC和ICIR指标对择时因子进行评价呢?答案是可行的。 由于只有一个投资标的,面板数据中就没有投资标的维度,只有一个时间维度。 那么我们只能在时间维度同时计算IC和ICIR。在具体计算中,我们选定一个时间窗口w(比如60个交易日),在这个时间窗口中计算因子值与之后𝑘日国债到期收益率变动值的相关系数,记为𝐼𝐶。 𝑡,𝑘 𝐼𝐶=𝑐𝑜𝑟𝑟(𝑓𝑎𝑐𝑡𝑜𝑟 ,𝑦𝑡𝑚 −𝑦𝑡𝑚 ) 𝑡,𝑘 𝑡−𝑤:𝑡 𝑡−𝑤+𝑘:𝑡+𝑘 𝑡−𝑤:𝑡 之后可以移动时间窗口𝑤,在时间维度中计算出一系列的IC值: 𝐼𝐶 ,𝐼𝐶 ,𝐼𝐶 …… 𝑡−1,𝑘 𝑡−2,𝑘 𝑡−3,𝑘 下一步对这些IC值取平均数和标准差,从而得到ICIR: 𝐼𝐶𝐼𝑅=𝑚𝑒𝑎𝑛(𝐼𝐶)/𝑠𝑡𝑑(𝐼𝐶) 𝑘 𝑡,𝑘 𝑡,𝑘 以上定义中引入了两个超参数即时间窗口的长度𝑤和到期收益率变动值的跨度𝑘,这两个参数我们将根据模型训练情况,具体进行调整。 2.3择时因子的选取 最终我们选取125个因子,其中日频61个、月频29个、周频35个。接下来,我们可以使用2021年4月1日至2024年12月31日的数据,计算出𝐼𝐶和𝐼𝐶𝐼𝑅来评价各个备选因子。选取因子的主要评价标准为因子的IC和ICIR,同时也根据因子所在信息维度进行了微调,并剔除了一些数据有效区间较短的备选因子。 𝑡,𝑘 𝑘 图4.部分备选因子及对应IC和ICIR值 2.4手搓只有一个参数的神经网络模型 我们选择IC绝对值最大一个因子(序号8“)中国:市场价:豆粕(粗蛋白含量≥43%)”来进行择时效果检测,用以验证我们择时因子的选取方法是否可行。 如何发出择时信号?择时信号目标是对后市提供一个看多或者看空的判断,本质是一个二分类问题。在神经网络二分类模型中,输出层使用Sigmoid函数将一个连续值映射为二分类概率,这里我们可以使用相同的方法。 图5.Sigmoid函数图像 因子值𝑓𝑎𝑐𝑡𝑜𝑟输入𝑆𝑖𝑔𝑚𝑜𝑖𝑑函数处理前,还应该需要将分布值进行标准化操作,即中心值移动到0,并且控制其标准差到合理范围: 𝑓𝑎𝑐𝑡𝑜𝑟−𝑚𝑒𝑎𝑛(𝑓𝑎𝑐𝑡𝑜𝑟)𝑠𝑡𝑑(𝑓𝑎𝑐𝑡𝑜𝑟) 𝑠𝑖𝑔𝑛𝑎𝑙=𝑆𝑖𝑔𝑚𝑜𝑖𝑑[2.5× ] 在因子标准化操作后,为了让最终的择时信号更加激进,我们乘以参数2.5。需要提示的是,该数值本应该根据因子值的分布特征,通过机器学习的训练过程给出; 但此处我们只是为了示意,因此直接手搓确定。 到这里我们就得到了一个只有1个参数的“豆粕小模型”,输入层是标准化层,后接一个线性连接层,之后采用Sigmoid激活函数输出二分类概率。 下图展示了“豆粕小模型”的择时信号及其择时效果,可以看出该模型已初步具备了择时能力。值得注意即便是如此简单的模型,它也准确的感知到了近两个月十年期国债收益率的多空动向。 图6.“豆粕小模型”的择时信号 2.5模型训练环节 通过IC和ICIR两项指标对因子的评价,我们筛选出了大量的具有择时效果的因子,但我们还要以恰当的方法整合提取出利率变动的趋势信息,得到更好的择时能力。一方面,单一因子择时能力有限;另一方面这些因子很可能携带了价格、流动性、工业生产、金融数据等多个不同的宏观和微观维度信息。 一是因子等权重合成。这种方法是量化投资中综合因子的常见方法,一般的操作是将各因子标准化后进行求和(IC值为负的,则是减)或者统计因子正反向作用的比例,核心逻辑是对每个入选因子都赋予相同权重。这种方法需要对因子进行进一步筛选,谨慎处理因子之间的共线性,并对其携带信息所在维度进行更加深入的分析,最好能让携带不同维度信息的因子都能入选,且各信息维度入选因子数量要接近于该维度的重要性。 二是外生权重加权合成。这种方法与等权重合成方法类似,需要评价各个因子的重要性,并根据重要性程度赋予权重。因子评价指标IC或者ICIR都能反映因子的表现,以IC或者ICIR进行因子加权也是一种可行的因子合成方式。但同样也需要谨慎处理因子之间的共线性,并根据因子的信息维度进一步筛选。 三是机器学习建模合成。这种方法不需要外部指定各个因子的权重,只需要针对具体任务建立相应的模型,通过训练方式让这些数据自行组合。但同时,在规模小、噪声大的金融数据集上训练时,要谨慎控制模型的复杂程度,避免过拟合。 2.6模型的训练过程及结果 以下是模型训练过程中的一些关注点和细节操作: 目标变量(Y)构建。即十年期国债收益率未来k日变动值为正,𝑌=1;为负,𝑌=0 1,0, ∆𝑦𝑡𝑚∆𝑦𝑡𝑚 ≥0<0 𝑡,𝑘𝑡,𝑘 𝑌={ 𝑡 L2正则化。L2正则化可防止模型过拟合,缓解因子共线性问题,其基本思想是在损失函数基础上,增加权重的平方和作为惩罚项。 𝑇 𝐿𝑜𝑠𝑠(𝒘)=𝐿𝑜𝑠𝑠(𝒘)+𝜆𝒘𝒘 𝐿2 其中:𝒘为模型权重向量(不包含偏置项);𝜆为正则化系数,控制惩罚项强度。L2正则化机制倾向于将携带重复信息或者不相关信息的因子参数设置为很小的值,从而减小惩罚项,以降低损失函数值。 平衡类别权重。训练数据集中很可能会出现类型权重不平衡的现象,具体到本次训练任务我们选取的训练集和验证集都在2021年4月至2024年12月,期间内收益率总体呈现出下行趋势。如果不采用平衡类别权重的方式,模型可能直接躺平,只判定利率下行就能取得过半的正确率。具体实现上,损失函数会给少数类判断错误更高的惩罚,迫使模型关注少数类。 F1 分数。 F1 分数是分类模型评估中常用的指标,综合了精确率(Precision)和召回率(Recall),适用于类别不平衡或需要平衡误报与漏报的场景。 F1 分数被定义为精确率和召