期货研究 二〇 二2024年10月17日 四年度 股指策略系列四:股指期货多因子日间时 序择时策略构建与解析 宋哲君投资咨询从业资格号:Z0014960songzhejun022131@gtjas.com 国 泰李浩投资咨询从业资格号:Z0020121lihao024471@gtjas.com 君宋子钰(联系人)从业资格证号:F03136034songziyu029981@gtjas.com 安 期张剑锴(联系人)从业资格证号:F03114607zhangjiankai027874@gtjas.com 货 研报告导读: 究本报告深入探讨了基于多因子模型的股指期货日间择时策略的构建与应用。针对上证50、沪深300、 所中证500和中证1000股指期货标的,从持仓、基差、趋势、估值和宏观角度构建了因子组。此外,对于 多种量价指标,本报告应用遗传算法构建了一系列复合的量价因子。最终,从六个角度,深度挖掘股指期货走势中的信息,对于每个股指期货标的均生成了多因子时序择时策略。考虑到策略的稳定性,本报告同时将四个股指期货标的进行了复合,构建了基于六因子的股指期货全品种择时策略。 在因子择时方法上,报告采用了等权分配的方式以防止过拟合,并对不同股指期货标的进行了详细的回测分析。结果显示,多因子模型在中证500、沪深300、上证50、中证1000上回测夏普分别为3.10、3.28、2.72、2.62。使用多因子模型在全品种上构建的四股指合成多因子择时策略的夏普比率为3.38,且在剔除了2024年9月20到2024年9月30日的剧烈行情后,四股指合成策略的夏普比率为3.16,更进一步体现了策略的稳定性。 总体而言,本报告通过多因子模型和遗传算法,为股指期货的多因子日间择时提供了有效的策略构建方法,并对策略的稳定性和泛化能力进行了深入探讨。报告强调,尽管历史数据表现良好,但市场环境变化可能导致策略失效,因此需要持续研究和优化以提高策略的适应性和稳定性。 目录 1.日间多因子择时策略的构建逻辑3 2.基于遗传算法的量价因子构建4 3.持仓因子的构建4 3.1净多头持仓变化率4 3.2净多头持仓占比变化4 3.3多头持仓量变化率5 3.4多头持仓占比变化5 3.5空头持仓量变化率5 3.6多空持仓变化方向5 3.7多空持仓变动强度6 3.8多空情绪强度6 4.基差因子的构建7 4.1直接基差7 4.2基差动量7 4.3基差变化7 4.4全域高频基差情绪7 4.5下行高频基差情绪8 4.6上行高频基差情绪8 4.7日内升贴水频率差8 5.趋势因子的构建8 5.1短周期截面动量因子8 5.2长周期截面动量因子8 5.3短周期时序动量因子9 5.4长周期时序动量因子9 6.估值因子的构建9 7.宏观因子的构建10 8.单一股指期货多因子择时策略测试10 8.1中证500股指期货10 8.2沪深300股指期货13 8.3上证50股指期货16 8.4中证1000股指期货19 9.合成股指期货多因子择时策略测试22 10.结论24 (正文) 1.日间多因子择时策略的构建逻辑 在构建因子和测试因子效果的过程中,我们遵循传统股票多因子择时中的基本逻辑,并进行了一系列的设置,本报告中有关因子构建和测试的具体细节如下: (1)确认目标变量:本篇目的为构建股指的日间择时策略,因此在目标变量的选择上,所选的核心的四个标的分别为上证50,沪深300,中证500和中证1000股指期货,预测目标为其对应的收益率。在实际的交易过程中,我们希望能够使用收盘后的数据构建因子,第二天的开盘进行交易,因此使用opentoopen的收益率作为预测目标,构建日频的预测信号。 (2)因子构建:本报告将因子分为了六个大类别,其中包括本系列报告中所讨论的基于遗传算法的量价因子,持仓因子,基差因子,趋势因子、估值因子,宏观因子,具体可参考《股指策略一:基于遗传算法的股指期货日间因子挖掘》、《股指策略二:股指期货成交持仓因子的构建与解析》和《股指策略三:股指期货基差因子的构建与解析》。 (3)因子择时方法:针对每个股指期货标的,对于每个大类的因子,我们基于因子在测试集上的表现,对于表现优秀的因子进行了等权组合,作为用于该股指期货多因子择时策略的因子之一。因此,对于每个股指期货标的,本报告均从遗传量价、持仓、基差、趋势、估值和宏观六个维度进行了择时。为了防止过拟合,我们在因子的权重设定上选择了等权划分。 (4)回测时间区间:对于上证50、沪深300、中证500股指期货,回测的时间区间为2016年01月 04日至2024年09月30日。对于中证1000股指期货,由于该标的上市交易时间较晚,因此回测的时间 区间为2022年07月22日至2024年09月30日。在本报告中,对于每个股指期货标的,所选择的测试集 范围为2024年01月02日到2024年09月30日,测试集前的时间段作为训练集。 (5)调仓频率:日频调仓,若择时信号一直为多(空),则一直持有多单(空单)不平仓。 (6)保证金100%,1倍杠杆 (7)手续费率设定为万二。直接择时 在计算出特定指标之后,我们考虑使用直接择时的方法利用这些指标来进行市场时机的选择。具体来说,我们可以设定一个阈值X,如果当前期的指标值超过了(或低于)这个阈值X,我们就会在下一期选择买入(或卖出)相关的期货合约。我们通常会将初始阈值设定为0,然后进一步研究调整阈值是否能够显著提升择时的效果。需要注意的是,阈值的选择可能会引入过拟合的风险,因此在选择阈值时,建议从经济意义的角度出发,而不是单纯追求样本内因子的最佳表现。 条件(conditional)择时 依据计算出的指标值进行择时方法虽然直接,但可能存在的问题是该指标的择时方向并不一定始终如一,例如在当日收益为正时,指标是正向指标,而在当日收益为负时,指标是负向指标,或者失效,此时的择时效果可能并不稳定。因此,我们在进行了直接择时策略回测后,同样从多角度进行了有条件的择时策略回测。 2.基于遗传算法的量价因子构建 遗传算法是一种启发式搜索技术,它模仿自然界中的进化过程,特别是达尔文的自然选择和遗传学原理。在遗传算法中,问题的潜在解决方案被编码为“染色体”,这些染色体通过模拟生物进化中的选择、交叉(杂交)和变异等过程来进化,以产生更好的解决方案。 在投资过程中,遗传算法可以被用来挖掘有效的择时因子。传统的因子挖掘方法可能依赖于统计学或经济学理论,而遗传算法则提供了一种数据驱动的、探索性的方法来发现新的或改进现有的择时因子。 遗传算法在投资因子挖掘中的应用步骤通常包括: 1.编码:将可能的因子组合编码为遗传算法中的染色体。每个染色体代表一种特定的因子组合。 2.初始化:随机生成一组初始的因子组合(种群)。 3.适应度评估:使用历史数据来测试每个因子组合的表现,评估其对资产收益的解释能力或预测能力。 4.选择:根据因子组合的适应度(表现),选择表现较好的组合进行繁殖。 5.交叉和变异:通过交叉操作(结合两个因子组合的特征)和变异操作(随机改变某些因子的特征)来产生新的因子组合。 6.迭代:重复上述过程,直到找到满意的因子组合或达到预设的迭代次数。 将包含不同参数的量价指标加入遗传算法的框架中,以未来一日的opentoopen收益率为预测目标,对因子进行挖掘构建。在构建的过程中,考虑到了因子实际交易中的表现能力,对因子的样本内回测夏普比率设置了阈值,旨在筛选出优秀的复合量价因子。 3.持仓因子的构建 本节中,我们将会展示不同持仓因子的构建方式以及其对应的表达式。 3.1净多头持仓变化率 该指标计算方法如下所示: 由于净多头持仓可能为负数,所以我们在计算变化率时分母需要取绝对值。从经济和现实逻辑上考虑,该持仓指标为正向指标,即净多头持仓增加表明对于后市更为看好,标的上涨的可能性较大。在参数的选择上,对于该持仓因子,回溯期参数R依据过往经验,可选择10、20、30、60、120和240天,多空头持仓量可选择参数为前5名的持仓和、前10名的持仓和以及前20名的持仓和。 3.2净多头持仓占比变化 该指标计算方法如下所示: 从逻辑上看,该指标应为正向指标,即净多头持仓占总持仓量比例增加说明对于后市更加看好,标的上涨可能性更大。在参数的选择上,对于该持仓因子,回溯期参数R依据过往经验,可选择10、20、30、60、120和240天,多空头持仓量可选择参数为前5名的持仓和、前10名的持仓和以及前20名的持仓和。 3.3多头持仓量变化率 该指标计算方法如下所示: 从逻辑上看,该指标应为正向指标,即多头持仓量增加说明对于后市更加看好,标的上涨可能性更大。在参数的选择上,对于该持仓因子,回溯期参数R依据过往经验,可选择10、20、30、60、120和240天,多空头持仓量可选择参数为前5名的持仓和、前10名的持仓和以及前20名的持仓和。 3.4多头持仓占比变化 该指标计算方法如下所示: 从逻辑上看,该指标应为正向指标,即净多头持仓占总持仓量比例增加说明对于后市更加看好,标的上涨可能性更大。在参数的选择上,对于该持仓因子,回溯期参数R依据过往经验,可选择10、20、30、60、120和240天,多空头持仓量可选择参数为前5名的持仓和、前10名的持仓和以及前20名的持仓和。 3.5空头持仓量变化率 该指标计算方法如下所示: 从逻辑上看,该指标应为反向指标,即空头持仓量增加说明对于后市更不看好,标的下跌可能性更大。在参数的选择上,对于该持仓因子,回溯期参数R依据过往经验,可选择10、20、30、60、120和240天,多空头持仓量可选择参数为前5名的持仓和、前10名的持仓和以及前20名的持仓和。 3.6多空持仓变化方向 该指标计算方法如下所示: 从逻辑上看,该指标应为正向指标,其要求在判断市场动向时,多头持仓量的变化必须与空头持仓量的变化形成特定的对应关系,即多头持仓量增加(或减少)必须伴随着空头持仓量的减少(或增加),才能触发买入(或卖出)的信号。这种设计使得该指标在评估市场趋势时显得更为严谨,因为它不仅关注单一方向的持仓变化,而是强调两者之间的动态平衡。在参数的选择上,对于该持仓因子,回溯期参数R依据过往经验,可选择10、20、30、60、120和240天,多空头持仓量可选择参数为前5名的持仓和、前10名的持 仓和以及前20名的持仓和。 3.7多空持仓变动强度 该指标计算方法如下所示: 其中, 从逻辑上看,该指标应为正向指标,衡量了会员对于后市多空看法的强烈程度,若该会员在某一段回溯期内增持多单同时减持空单,那么可以认为该会员看多意愿较为强烈,此时该指标值为1;反之则认为该会员看空意愿较为强烈,此时该指标值为-1。在参数的选择上,对于该持仓因子,回溯期参数R依据过往经验,可选择10、20、30、60、120和240天,多空头持仓量可选择参数为前5名的持仓和、前10名的持 仓和以及前20名的持仓和。 3.8多空情绪强度 该指标计算方法如下所示: 其中, 从逻辑上看,该指标应为正向指标,其功能在于评估特定时间段内市场参与者(如会员)的多空情绪的强烈程度。如果该会员的持仓变动相对于交易量的比例较大,这表明该会员的多空立场较为坚定且情绪强烈,他们并未频繁地进行交易调整持仓。相反,如果持仓变动的比例较小,则可能反映出该会员在多空方向上的犹豫不决,情绪不够强烈。在参数的选择上,对于该持仓因子,回溯期参数R依据过往经验,可选择10、20、30、60、120和240天,多空头持仓量可选择参数为前5名的持仓和、前10名的持仓和以及前 20名的持仓和。 4.基差因子的构建 本节中,我们将会展示不同基差因子的构建方式。 4.1直接基差 直接使用广义上的基差(股指期货-指数现货)作为因子,同时考虑了收盘基差(期货合约收盘价-对应指数收盘价)以及结算基差(期货合约结算价-对应指数收盘价)两种计算方式。 4.2基差动量 由于基差