人工智能和机器学习:基于动量Transformer模型日内和隔夜交易策略

360影视 国产动漫 2025-06-10 09:34 4

摘要:近年来,截面策略(Cross-Sectional Strategy)作为量化投资的主流方法,通过因子 排序组成多头股票组合的方式在公募量化领域得到广泛应用。然而,随着市场发展,此类 策略正面临新的挑战。一方面,传统财务、量价等基础因子的挖掘已趋于饱和,模型迭代

近年来,截面策略(Cross-Sectional Strategy)作为量化投资的主流方法,通过因子 排序组成多头股票组合的方式在公募量化领域得到广泛应用。然而,随着市场发展,此类 策略正面临新的挑战。一方面,传统财务、量价等基础因子的挖掘已趋于饱和,模型迭代 和升级的边际收益持续递减;另一方面,在市场剧烈波动时期,如,2024 年 9-10 月间, 各类因子同步失效导致截面策略集体回撤。 面对这些挑战,市场将目光投向了与截面策略具有不同收益来源的其他策略,例如, 时序策略(Time-Series Strategy)。区别于截面策略的横向比较排序的选股逻辑,时序 策略通常是在选定的资产池内,通过动态调整资产权重来捕捉趋势性机会。这类策略往往 不依赖于资产间的相对排名,从而可能在因子集体失效时展现出更好的抗风险能力。 从上述想法出发,本文聚焦宽基指数组合,尝试构建一类日内和隔夜的时序交易策略。 首先,我们在指数层面进行了不同假设下,策略的构建与测试,随后引入 ETF 作为实际 交易资产,进一步评估策略在实操环境下的收益表现与风险控制能力。最后,本文从收益 特征的角度出发,对比时序策略与典型截面策略,重点关注其在收益结构,以及不同市场 环境下的稳健性表现。

2.1 “神奇”2点半

日度收益的预测难度颇大,但日内的规律往往有迹可循。例如,若把日内的交易时间 按照每半个小时为单位分隔,再将每日同个半小时的收益分别累计,确实可以观察到一些 有趣的现象:某些特定时段,指数的表现不依赖于当日的涨跌,而呈现出较为稳定的趋势。 以沪深 300和中证 1000为例,在 13:30 至 14:00 和 14:30 至 15:00 这两个时间段,指数的涨跌在日与日之间表现出较为一致的特征。13:30 至 14:00,普遍 表现低迷,累计净值(红色曲线)呈缓慢下行趋势;14:30 至 15:00,指数上涨概率较大, 累计净值(金色曲线)的上行趋势尤为稳定和显著。

2.2 利用日内特征的简单交易策略

在发现上述日内规律后,一个自然的想法便是,如果可以在日内灵活调整仓位,或许 就可以利用部分时段稳定的趋势,实现相对买入持有的收益增强。例如,在有下跌趋势的 13:30-14:00 内减仓,以规避潜在的损失;而在累计收益稳定向上的 14:30-15:00 内加仓, 则有望进一步提高收益。 为此,我们设计了一个简单的日内调仓策略:在每个交易日的 13:30-14:00,将仓位 降至 0%(即,完全空仓);待到 14:30-15:00,再将仓位提升至 100%(即,完全满仓); 其余时间段,统一维持 50%的中性仓位。对比基准为,50%仓位的买入持有策略。沪深 300 与中证 1000 指数在 2018 年 1 月 1 日至 2025 年 5 月 30 日期间,日内调仓策略与基准的收益表现。从中可见,通 过一个非常简单的调仓规则,即可获取较为稳定且显著的超额收益。

以沪深 300 为例,除 2023 年外,日内调仓策略在其余年份均实现了 1%以上的收益 增厚。但若进一步将实际交易条件纳入考量,假设单边交易费率介于万 0.5 至万 1 之间, 测算策略的费后收益。即便费率设为单边万 0.5,策略的年化收益率也仅为 0.7%,将将高于基准的-0.07%;而如果费率升至单边万 1,策略的费后收益甚至低于基准。 因此,一旦引入交易成本,较为可观的收益增厚优势被大幅削弱。

不过,上述测试也表明,指数的日内收益特征确能成为交易策略的构建基础,但考虑 到实际应用中的交易成本及风险控制等问题,简单的“满仓或空仓”的交易规则很难获得 令人满意的效果。因此,我们需要在调仓的幅度、频率及执行机制上进行更精细化的设计, 以提升策略的回报率和可行性。

Kieran Wood 等人在《Trading with the Momentum Transformer: An Intelligent and Interpretable Architecture》一文中提出了一种创新的时序动量交易策略,使用动量 Transformer 模型来优化资产的仓位管理。该模型的核心优势在于,既解决了传统动量策 略(如,MACD)适应性不足的问题,又克服了传统 LSTM 模型长期记忆丢失的缺陷。

3.1 动量Transformer模型

主体仍为多头自注意力机制,便于并行挖掘不同历史时点之间的关键依赖关系, 捕捉潜在的趋势结构与转折信号。各个注意力头在训练过程中自动学习不同的时间关注模 式,从而增强模型对跨周期动量特征的感知与表达能力。 与传统机器学习模型输出分类标签或回归数值不同,动量 Transformer 的输出是资产 仓位。若对应无杠杆的多空策略,输出在[-1, 1]之间。此外,在损失函数的设计上,模型 跳出了传统均方误差(MSE)等回归类损失的框架,转而采用夏普比率进行优化。通过将 收益与风险控制目标直接融入训练过程,模型能够在实际应用中实现更优的风险收益特征。

3.2 动量Transformer模型在美国市场的表现

Kieran Wood 等人将动量 Transformer 模型应用于美国市场,构建了一个包含 50 种 流动性最高的期货合约的资产组合,应用多种动量策略,回测了 1995 年至 2020 年长达 25 年的收益表现。

3.3 动量Transformer模型在A股上的运用与改进

上述回测的数据和代码可直接从github下载2,我们将其套用于A股进行了多轮测试, 但结果都和预期相去甚远。经过多维度的分析,我们对模型做出了如下三点针对性的改进。

3.3.1 核心改进1:改损失函数为信息比率

动量 Transformer 模型的核心之一在于其损失函数的设计。原文以夏普比率作为优化 目标,力求实现风险调整后收益的最大化。然而,由于 A 股市场波动率高,且长期向上的 趋势不明显。若以夏普比率为损失函数,很容易导致模型输出的风险资产仓位长期为 0。 因为此时组合的波动率极低,夏普比率将接近正无穷大,这显然不是我们想要的结果。 为解决这一问题,我们调整损失函数的形式,用基准收益(风险资产等权组合,对应 买入持有策略)代替无风险利率,引导模型在追求风险控制的同时,尽可能获取理想的投 资回报率。但即便如此,模型依然倾向于长期维持很低的仓位水平。因此,我们进一步在 损失函数中引入一个强约束:当组合各资产的平均仓位低于 10%时,给予较高的惩罚,从 而鼓励模型维持合理的市场参与度。损失函数的最终形式如下式所示。

Loss=−(策略收益 − 等权收益)/策略波动 + 100|平均仓位

3.3.2 核心改进2:增加特征类别

原文引入动量 Transformer 模型是为了改进 MACD 类策略,因而输入特征以 MACD 相关指标为主。但在 A 股市场上,MACD 类指标虽能反映一定的趋势特征,但有效性并 不显著。为提升模型对投资者行为的感知能力,我们延续技术分析的想法,在原有特征的 基础上引入了均线、波动率、动量及成交量类技术指标。我们认为,丰富的特征体系可能 更加利于多头注意力机制在不同维度间自动捕捉有效信号。

3.3.3 核心改进3:重设训练-验证划分机制

在原始的动量 Transformer 模型中,作者按时间的先后顺序划分训练集与验证集。但 我们测试后发现,在 A 股市场上这样做,会使模型倾向于拟合验证集对应时段的市场规律。 那么,当测试集的市场风格与前期相比发生大幅切换时,如,18 至 19 年或 21 至 22 年, 模型的表现必然会大打折扣。 因此,为了提升模型的泛化能力,我们将训练集与验证集的划分方式改为随机抽样。 具体地,从历史数据中随机抽取多个时间片段组成训练集与验证集,尽可能保证两者都能 包含不同市场状态的样本。这种做法可在一定程度上迫使模型学习更为普适的动量规律与 市场结构。测试结果也表明,随机划分训练的模型,业绩表现更加稳定。 不过,随机划分的一大隐忧在于,训练-验证过程中可能包含未来信息。因此,我们 在选择输入特征时,采取较为严格的信息控制策略:摒弃所有与原始价格直接相关的指标, 如,绝对价格、未处理的收益率等,仅使用通过滑动窗口计算并经标准化后的特征。此外, 在训练框架上,我们采用滚动机制:每完成一轮训练,模型将在未来一年的测试集上进行 验证。我们认为,通过这样的特征和训练设计,可在一定程度上缓解对于信息泄露的担忧。

在完成上述调整后,我们首先关注在指数层面,模型是否能够实现有效的收益增强。 下文将针对 A 股市场的交易规则,分不同情境展开系统性的测试。

4.1 模型与回测设置

需要特别指出的是,在特征构建阶段,我们并未 对技术指标的计算方法进行优化,直接采用标准化定义。但对于计算周期,我们尝试了从 半天至 5 天不等的多种时间窗口,希望模型能够同时学习短期波动特征与长期趋势特征, 从而提升其对市场规律的捕捉能力。

4.2 情境1:不做空

针对 A 股市场现货不能做空的限制,我们对模型输出设置非负约束,即,模型生成的 最小仓位为 0%,确保整个策略始终处于做多状态。同时,过高的交易频率可能也不适合 A 股市场,因此,我们只在每日的 10、11、14 和 15 点这 4 个时点交易。即,预测的是 资产小时级别的收益率。

因此,我们剔除 10:00,仅在 11:00、14:00 和 15:00 发出信号。其中,15:00 的信号 保持至次日 11:00。这 3 个时点的信号表现和我们的预期较为一致。该结果 也体现出时序类策略的一大优势,投资者可以灵活选择交易时点,专注于规律更强、胜率 更高的时段,以提升策略的收益率和稳定性。

4.2.1 每日调仓三次,特征计算截止交易前15分钟

基于上述分析,我们首先设计了一个每日调仓三次的策略,且不允许做空和加杠杆, 简记为时序策略 1。具体地,在每日 10:45、13:45 和 14:45(交易时点前 15 分钟)获取 数据、运行模型、发出信号。其中,模型输出通过激活函数 max(tanh(x), 0)进行限制,以 确保输出的资产仓位在[0, 1]之间。

然而,作为一个需要日内多次调仓的策略,费率对收益的影响不容忽视。 假设费率为单边万 1,年化收益率就将从 11.44%降至 7.71%。同时,2023 年的收益率也 由正转负,策略的绝对收益属性受到一定的影响。 若站在超额收益率的角度,策略的表现分化。在市场下跌年份,如 2018、2022、2023 年,策略相对基准的超额收益率较为突出。并呈跌幅越大,超额收益率越高的单调特征。 而在市场上涨年份,如 2019、2020 年,策略的弹性明显不足,收益率大幅落后于基准。 这是因为,策略资金是等权分配的,那么,即便模型给某个资产的 仓位是 100%,最终它在组合中的权重就是 1/n。换言之,策略相对基准只能低配或标配, 而无法超配某个资产。2018 和 2023 年,策略的平均仓位仅为 20%左右, 有效规避了市场下行带来的损失;然而,也正是这种模型设计中天然的“防御性”,使得 策略在 2019 和 2020 年难以对资产进行更大幅度的加仓,平均仓位只有 60%左右,导致 在市场上行时缺乏足够的向上弹性。

4.2.2 每日调仓三次,特征计算截止交易前15分钟,最大仓位限制为2

针对仓位过低的问题,我们设计了时序策略 2,调整激活函数为 max(tanh(x) * 2, 0), 从而将模型的输出范围扩展至[0, 2]。若某一调仓时点所有资产的仓位和超过 1,则归一化; 反之,保持不变。即,策略在不加杠杆的情况下,可实现对部分看好资产相对基准的超配, 以求提升向上弹性。

4.3 情境2:可做空,需持有底仓

原文的策略为多空结构,若想在 A 股市场上实现,则需持有底仓。此外,为了更好地 考察多空策略的特征及表现,我们先将日内和隔夜分开测试,最后再予以合并。

4.3.1 日内调仓2次,特征计算截止交易前10分钟,收盘回归底仓

假设底仓为 50%的基准,日内依然执行三次操作,前两个调仓时点分别为每日的 11:00 与 14:30。提前 10 分钟,即 10:50 和 14:20,完成数据收集;随后运行模型,输出仓位。 第三次调仓为每日 15:00,不依赖模型的信号,直接回归底仓,确保隔夜相对基准无暴露。 模型输出的仓位区间仍为[0, 1],但激活函数调整为 tanh(x) + 1.0,使输出仓位理论上 落在[0, 2]的区间。计算策略收益率时,我们再将模型的最终输出等比例缩回[0, 1],从而 实现 50%底仓基础上的多空结构,记为时序策略 3。

4.3.2 隔夜调仓1次,特征计算截止交易前10分钟,次日11:00回归底仓

同样假设底仓为 50%的基准,隔夜策略只在每日 15:00 交易。数据收集时点为 14:50, 留 10 分钟用于运行模型和输出信号。新仓位持有至下个交易日的 11:00,随后直接回归 底仓,记为时序策略 4。

由于调仓次数从日内的 2 次减少为隔夜的 1 次,交易费用对策略的磨损也有所降低。 在单边万 1 的费率假设下,时序策略 4 自 2018 年以来的年化超额收益率为 6.15%,且每一年都能跑赢买入持有 50%基准。

4.3.3 日内调仓2次、隔夜调仓1次,特征计算截止交易前10分钟,隔夜只做多

将上述日内和隔夜策略合并,每日 11:00、14:30 和 15:00 交易,仓位均由模型输出。 为了保证次日 11:00 仍有底仓可以卖出,隔夜策略只做多。即,根据模型信号,如果组合 总仓位高于 50%,则照此交易;若总仓位小于 50%(隔夜做空),直接回到底仓(50%)。 这样的设定既可获得一定程度的隔夜暴露收益,又能保证次日的日内多空策略顺畅运行, 我们记之为时序策略 5。

5.1 回测设置与资产选择

上一部分在指数上的测试结果,让我们有信心将模型应用于 ETF。同时,持有底仓、 每日调仓三次的多空策略效果稳定。因此,下文的 ETF 交易策略沿用了这一设置。 然而,就算持有底仓,日内交易仍面临着反向的限制。即,当日的总卖出量不能大于 前一日的持有量。但由于每日第一次调仓(11:00)时,无法预知第二次调仓(14:30)的 方向和数量,而第三次调仓(15:00)又有“需回归至不低于 50%仓位”的要求。因此, 我们仅对 14:30 时点的调仓施加约束,避免出现超额卖出前一日总持有量的情况,从而使 策略更加贴近实战。 上文测试涉及的 5 个宽基指数均有较多 ETF 可作为交易标的,考虑到流动性、冲击 成本以及与指数走势的一致性,我们直接选择其中规模最大的 ETF。

5.2 ETF的日内和隔夜交易策略

5.2.1 日内调仓2次,特征计算截止交易前10分钟,收盘回归底仓

首先,我们测试日内策略。 相较于买入持有 50%仓位的 ETF,使用日内交易策略后,年化超额收益率为 4.53%(万 1 费率)。除 2019 年和 2023 年小幅跑输基准外,其余年份均可实现收益增厚。

5.2.2 隔夜调仓1次,特征计算截止交易前10分钟,次日11:00回归底仓

隔夜策略在当日 15:00 调仓,数据收集截止 14:50,运行模型后输出仓位,并持有至 次日 11:00 时回归底仓。需要注意的是,T+1 交易规则下,当日做空仓位只能小于或等于 前一日的收盘仓位,可能无法达到模型建议的仓位。例如,若前一日收盘时,策略持有 20%仓位;当日 11:00 回到底仓时,买入 30%的仓位;而这 30%仓位当日不可卖出,故 收盘时的最大做空仓位是 20%。 在单边万 1 的费率假设下,隔夜交易策略的年化超额收益率为 4.55%。回撤和波动虽相对基准有所放大,但夏普比率等收益风险比指标依然更优。除 2025年外,每一年都能实现收益增厚。

5.2.3 日内调仓2次、隔夜调仓1次,特征计算截止交易前10分钟,收盘只做多

将日内和隔夜交易策略融合,数据收集和交易时点保持不变。同时,考虑到收盘做空 仓位可能不足的问题,规定收盘只做多。根据我们的测试,这样设计虽然损失了部分隔夜 做空的收益,却能增加日内的底仓,扩大日内做空的幅度,对最终策略的收益率影响较小。

5.3 交易价格敏感性测试

上文的回测均假定按交易时点的收盘价成交,这显然过于理想化了。在实际交易中, ETF 的流动性、冲击成本等,都会影响策略的表现乃至可执行性。为了跟贴近实际操作, 我们测试了按交易时点前、后 5/10 分钟的 VWAP 成交(收盘调仓只取前 5/10 分钟), 策略收益率的变化。

6.1 弹性、胜率和盈亏比

上涨弹性大,下跌防御能力强

我们根据基准收益率的正负划分上涨市和下跌市,计算不同市场环境下策略的 beta。 依托底仓支持下的多空结构,日内和隔夜策略单独来看,都呈现“上涨β大于 1,下跌β 小于 1”的鲜明特征。即,上涨市中弹性大,而下跌市中防御能力强。两者融合后,由于 施加了“收盘只可做多”的限制,策略的防御性受到影响,下跌β略高于 1。但上涨β仍 达到 1.59,保持了良好的向上弹性。

胜率与盈亏比均衡

在单边万 0.5 的费率假设下,日内、隔夜以及融合策略的单次调仓和 日度胜率都在 50%左右,盈亏比处于 1.0-1.3 之间。单次调仓的绝对/相对收益率在万 0.7- 万 1.5 之间,日度的绝对/相对收益率在万 2.3-万 4.4 之间。尽管单次和日度收益率有限, 但在连续复利的推动下,依然累积出较为可观的收益表现。

6.2 危机中的alpha

正如引言所述,时序策略的一大优势便是有着与截面策略不同的收益来源,从而可以 形成良好的分散化。

进一步,在截面策略负向超额收益率最大的 10 个交易日中,有 9 个, 时序策略的表现更优,且其中 6 个交易日的超额收益率为正值。在 2024 年 9-10 月的快速 上涨行情中,截面策略表现不佳,10.07、09.26 和 09.29 三日的超额收益率分别为-0.83%、 -0.76%和-0.43%,而时序策略的超额收益率则为 6.93%、2.27%和 4.26%。

综上所述,我们认为,本文设计的 ETF 日内+隔夜交易策略的收益来源与传统截面策 略并不一致,两者可以形成有效互补。尤其是在极端环境下,这种特征显得更有价值。

七、总结

近年来,截面策略作为量化投资的核心方法,在因子挖掘与模型优化的推动下取得了 显著成果。然而,随着因子有效性及新模型边际效益的递减,传统截面策略逐渐面临瓶颈。 尤其是在 2024 年 9 至 10 月市场快速上涨的行情中,各类因子集体失效,进一步暴露出 截面策略在极端行情下的潜在脆弱性。为了应对这一挑战,本文构建了日内和隔夜的时序 交易策略,试图提供和截面策略不一样的收益来源。 动量 Transfomer 模型以夏普比率为损失函数,直接输出资产仓位,可用于构建时序 交易策略。模型主体仍为多头注意力机制,便于并行捕捉不同时间尺度上的动量特征。其 核心优势在于,既解决了传统动量策略(如,MACD)适应性不足的问题,又克服了传统 LSTM 模型长期记忆丢失的缺陷。

原模型在 A 股市场上表现不佳,分析其原因后,我们做出了如下三点针对性的改进。 (1)改损失函数为信息比率,引导模型在追求风险控制的同时,尽可能获取理想的投资 回报率。(2)增加特征类别,有利于多头注意力机制在不同维度间自动捕捉有效信号。 (3)重设训练-验证划分机制,迫使模型学习更为普适的动量规律与市场结构。 根据动量 Transfomer 模型输出的仓位,于每日 11:00、14:30 和 15:00 调仓,构建 ETF 日内+隔夜交易策略。在单边万 1 的费率假设下,日内+隔夜交易策略相对买入持有 50%基准,可获得 7.15%的超额收益率,且每年均能实现收益增厚。虽然风险指标(波动 率和最大回撤)有所放大,但收益风险比相较基准提升显著。此外,该策略对成交时点并 不特别敏感,也能承受一定的滑点损失。 ETF 日内+隔夜交易策略的收益来源与传统截面策略不一致,两者可以形成有效互补。 当截面策略日度超额收益率小于 0 时,时序策略获得正超额收益率的可能性较高。尤其是 当截面策略日度超额收益率低于-30bp,时序策略有着更高的正向超额收益。另一方面,两个策略日度超额收益率序列的相关性仅为 12.18%。 本文作为时序策略方向的初探,尚有诸多不足之处,留待未来进一步的改进与开发。 例如,特征工程方面,可突破技术指标的局限,引入更丰富的高频数据(如,Level2 盘口 信息、主力资金流向等)、市场情绪指标(如,期权隐含波动率 VIX)以及基本面因子, 增强模型的预测能力;交易频率方面,可探索从日内高频调仓转为隔夜调仓甚至周度调仓, 提升实际交易的可执行性;策略组合层面,可尝试将时序策略的仓位作为截面因子,实现 两类策略的融合;应用范围上,可将验证有效的策略拓展至个股、期货等其他资产类别。

(本文仅供参考,不代表我们的任何投资建议。如需使用相关信息,请参阅报告原文。)

来源:未来智库

相关推荐