找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1593

积分

0

好友

205

主题
发表于 2026-2-13 06:22:59 | 查看: 29| 回复: 0

不同方法的效率与最终性能对比图

传统遗传编程在挖掘量化策略时,常因“牵一发而动全身”而导致搜索效率低下。来自Nof1团队的最新研究,正是为了解决这个痛点。研究者们将交易策略代码映射到一个连续的向量空间,并让这个空间的结构与交易逻辑(多/空、进/出)一一对应,从而使策略的修改变得可控。

研究的核心创新在于设计了一种“几何感知变异算子(GCM):这种算子不再像传统方法那样盲目、随机地扰动所有参数,而是利用一个基于历史数据训练的模型,预测出能提升策略表现的特定方向,并严格限制只在逻辑相关的模块内进行修改。最终,这种方法在不改变原有进化算法框架的前提下,能以少一个数量级的计算成本,更快速、更稳定地挖掘出高质量的交易策略。

1. 摘要

核心问题:遗传编程中的局部性缺失

遗传编程(GP)虽然能生成可解释的符号化程序(如交易策略),但其搜索效率长期受“局部性”缺失的困扰。在离散的程序空间里,哪怕一个微小的句法变异,比如替换运算符或修改子树,都可能导致程序行为发生巨大且不可预测的偏移。这种不连续性破坏了适应度景观的平滑性,让进化算法难以进行有效的信用分配,大幅降低了样本效率。

解决方案:连续潜在空间与几何感知变异

为了解决这一问题,研究将程序嵌入到连续的搜索空间中,使通过潜在空间的微小扰动来实现策略的增量式变异成为可能。然而,仅仅有连续表示是不够的,关键在于建立潜在距离行为变化之间的可靠对应关系。

本研究的核心在于通过测量和利用“潜在行为几何”来设计变异算子。研究并未修改进化优化器本身,而是设计了一个能够感知几何结构的变异算子。具体路径如下:

  1. 量化局部性:通过跟踪受控潜在扰动下的动作级散度,确定一个经验性的“信赖域”。在此区域内,连续变异是行为局部且有效的。
  2. 语义分解:使用专门设计的交易策略DSL(GPTL),将策略在语义上分解为多头/空头的入场与出场四个组件,并学习与之匹配的块因子化嵌入。
  3. 几何编译变异(GCM):利用基于流的模型,该模型在进化历史轨迹上训练,能够预测改善行为的更新方向,并将其限制在语义配对的子空间内(如“多头入场”配对“多头出场”)。

主要贡献

在固定评估预算和进化策略下,相比于各向同性高斯变异,几何编译变异算子能够以少一个数量级的评估次数发现高质量策略,并在样本外测试中取得更高的夏普比率中位数。这证明了在不改变底层进化算法的前提下,通过对齐变异结构与潜在行为几何,可以显著提升搜索效率。

2. 相关工作

该研究位于遗传编程、连续潜在空间进化、解耦表示学习与学习型变异算子的交叉领域。

  • 遗传编程与符号策略搜索:传统GP通过语法约束来缓解无效变异,但难以量化句法编辑的行为意义。语义GP尝试在语义空间定义算子,但本研究选择在连续表示中解决此问题。
  • 连续潜在空间进化:如神经程序优化和CMA-ES等方法在潜在空间进行优化。现有工作多将潜在空间视为黑盒,而本研究明确测量并利用潜在空间的几何特性。
  • 解耦表示:不同于仅将解耦作为一种通用质量指标,本研究将其操作化。通过构建与DSL语义组件对齐的因子化潜在块,直接利用解耦特性来控制变异的范围,实现定向编辑。
  • 生成式变异模型:不同于直接生成完整程序,本研究训练一个条件流模型来生成潜在空间内的增量,使其能够作为现有变异核的直接替代品。

3. 遗传编程交易语言 (GPTL)

为了在受控且可复现的环境中研究连续程序搜索,本研究定义了遗传编程交易语言。这是一个用于表达算法交易策略的小型领域特定语言。

3.1 语言设计目标

GPTL的设计遵循五个核心原则:

  1. 表达性:必须足以表达广泛的技术指标交易规则。
  2. 有效性:生成的程序在语法和语义上必须始终有效,避免运行时错误,支持大规模搜索。
  3. 确定性:程序的执行必须是确定性的,且在时间和内存上是有界的。
  4. 紧凑性:程序必须具有紧凑的表示形式,以便通过序列模型进行嵌入。
  5. 模块化:语言必须暴露模块化的策略结构,以便独立处理策略的不同部分。

为了满足模块化目标,每个GPTL策略被显式分解为四个布尔信号表达式:

  • Long Entry (LE) :多头入场信号。
  • Short Entry (SE) :空头入场信号。
  • Long Exit (LX) :多头平仓信号。
  • Short Exit (SX) :空头平仓信号。

这种分解镜像了交易持仓的生命周期,提供了四个清晰定义的语义组件,这些组件既可以作为独立的子树表示,也可以作为独立的潜在块表示。

3.2 语法、类型系统与执行模型

语法与类型

GPTL信号是布尔表达式。布尔表达式由数值表达式之间的比较构成,并通过逻辑运算符组合。数值表达式来源于价格字段(Open, High, Low, Close, Volume)、技术指标调用(如移动平均线)和常数。

  • 采用封闭的上下文无关文法,确保确定性解析。
  • 静态类型系统:包含 Numeric(数值)和 Boolean(布尔)两种原始类型。关系运算符将 Numeric 映射为 Boolean,逻辑运算符仅接受 Boolean 输入。不允许隐式类型转换,所有运算符具有固定的元数和类型签名。
  • 序列化:所有程序在序列化时完全括号化,以消除歧义。在生成和变异过程中,强制执行最大树深度和最小结构复杂度约束,确保闭包性质。

执行模型

程序在包含OHLCV字段和预计算技术指标的离散时间序列上评估。在每个时间步,四个信号(LE, SE, LX, SX)独立评估为布尔值。交易遵循确定性的事件驱动模型:

  • 当对应的Entry信号为真且无现有持仓时,开仓。
  • 当对应的Exit信号为真时,平仓。
  • 如果同一时间步触发多个信号,固定的优先级规则确保确定性行为。
  • 所有订单在下一根K线的开盘价执行。

3.3 抽象语法树表示

在内部,每个GPTL策略表示为一个类型化的抽象语法树(AST)。四个信号表达式作为四个不相交的子树存储在专用的信号根节点下。这种结构不仅支持程序空间内的模块化离散变异,也为后续对齐四个组件的块结构连续表示奠定了基础。

3.4 离散变异基准

GPTL包含一套类型保留的AST变异算子,包括子树替换、运算符变异、终端节点变异以及插入/删除操作。这些算子作为离散程序空间进化搜索的基准,同时也作为评估连续潜在空间变异算子效果的参照点。

4. 学习连续程序嵌入

为了使用连续变异搜索程序,必须构建GPTL策略的连续表示。该系统通过训练一个基于Transformer的变分自编码器,将符号策略映射为实值潜在向量,并能映射回符号策略。

4.1 Transformer VAE 架构

因子化潜在空间

模型结构被设计为与GPTL的语义结构严格匹配。由于策略由四个信号(LE, SE, LX, SX)组成,潜在表示被显式组织为四个对应的潜在块。令 z_LE, z_SE, z_LX, z_SX 分别表示四个信号的潜在向量。完整的策略潜在向量为:z = concat(z_LE, z_SE, z_LX, z_SX)。这种块结构使进化搜索期间的“块级变异算子”成为可能。

编码器与解码器

  • 编码器:每个信号表达式被序列化为Token序列,通过共享的Transformer编码器。Token嵌入到 128 维空间,并增加正弦位置编码。编码器包含4层,每层使用8头注意力机制和1024维的前馈网络。
  • 聚合:使用非填充Token的掩码平均池化聚合编码器输出,投影为对角高斯分布参数 (μ, σ)
  • 解码器:镜像编码器结构(4层Transformer)。每个信号的潜在向量被投影回模型维度,并通过交叉注意力作为单Token记忆提供给解码器。解码器使用因果掩码进行自回归解码。

4.2 训练过程

数据集生成

通过随机化GPTL程序合成生成训练集。强制执行最大深度(8)和最小深度限制。生成的策略在历史市场数据上编译并评估,过滤掉无法编译或无交易的退化策略。最终数据集包含20,000个有效策略,按80/20比例划分为训练集和验证集。

目标函数

训练使用重建损失加上KL散度正则化项:L = L_recon + β * D_KL(q(z|x) || p(z))。其中 β 在前50个epoch从0线性退火至0.1,以缓解后验坍塌。使用AdamW优化器,余弦学习率退火。

5. 潜在质量与行为几何诊断

在应用连续搜索之前,必须回答两个关键问题:VAE是否提供了可用的连续表示?在潜在空间微小的一步会对解码程序的行为产生什么影响?

层精度与量化误差热力图

5.1 维度与质量的权衡

通过在不同潜在维度上训练模型,研究发现存在容量权衡:

  • 极小的维度导致重建精度差。
  • 极大的维度导致解码鲁棒性降低(无效程序比例增加)。
  • 中间尺寸提供了最佳平衡,被用于后续分析。

5.2 局部性与信赖域

测量方法

为了测量潜在行为几何,对留出策略的后验均值进行各向同性高斯扰动:z' = μ + ϵϵ ∼ N(0, s^2 I)。其中 s 为扰动幅度。对每个扰动后的潜在向量测量三个指标:

  1. 解码有效性:生成有效可执行程序的比例。
  2. 结构变化:归一化AST编辑距离。
  3. 行为变化:在共享市场数据上的动作序列散度。

实证信赖域

实验结果表明,当 s ≤ 0.15 时,解码成功率高,行为变化低且可预测,定义了一个经验性的信赖域。在此区域内,连续变异是安全的。当 s > 0.3 时,解码成功率下降,结构和行为发散急剧增加,变异变得不可靠。这一发现直接指导了后续变异算子的尺度选择。

6. 解耦与潜在因子化

本章验证了潜在因子化设计的有效性。通过信号级解耦测试交换测试,证实了改变一个潜在块(如LE块)仅会改变对应的解码程序部分(LE子树),而不会产生非预期的“串扰”。这证明了该表示支持可预测的组件级控制,为后续在连续潜在空间进化中的精准操作打下了基础。

7. 固定优化器下的几何感知变异算子

这是论文的核心实验部分。为了隔离变异算子的效果,所有方法均使用相同的进化策略、相同的评估预算和相同的程序嵌入模型。

7.1 实验设置

  • 进化策略(1+10)-ES。每个Run评估1320个后代(100代)。
  • 评估协议:5折前向步进交叉验证,覆盖2008-2025年。严格的10天数据隔离期以防止前视偏差。
  • 资产:5种高流动性期货(S&P 500, 天然气, 原油, 白银, 欧元)。
  • 交易假设:初始资金$10,000,单持仓,含滑点(0.1%)和手续费。
  • 指标:样本外夏普比率。

7.2 变异算子对比

实验对比了三种变异算子:

  1. 各向同性高斯变异z_child = z_parent + ϵϵ ∼ N(0, σ^2 I)。同时扰动所有128个潜在维度,不考虑语义边界。这是非结构化探索的基准。
  2. 双块高斯变异:利用交易策略的方向性结构。多头仓位需要协调的入场和出场,空头亦然。因此定义了两个配对子空间
    • Long-Side Pair: Long Entry (LE) + Long Exit (LX)
    • Short-Side Pair: Short Entry (SE) + Short Exit (SX)
      变异时,确定性地交替选择其中一对进行高斯扰动,另一对保持不变。这限制了搜索范围,使其更符合策略的语义逻辑。
  3. 几何编译变异(GCM)- 双块定向流:这是本研究提出的核心算子。它不仅限制在配对子空间内,还使用学习到的流模型来建议更新方向,而非随机采样噪声。
    • 学习机制:训练一个条件流匹配模型,输入为父代潜在向量 z_parent 和基于执行轨迹计算的8维行为嵌入 b_parent,输出预测的速度场 v_θ(z_parent, b_parent)
    • 推断:在搜索时,模型预测一个指向“行为改善”区域的更新向量。该向量被掩码限制在当前活跃的配对子空间(Long或Short)内。
    • 公式z_child = z_parent + σ * (m_pair ⊙ v_θ(z_parent, b_parent) + η)。其中 m_pair 是方向掩码,η 是小幅噪声。

7.3 实验结果

搜索效率与性能

结果显示,在相同的评估预算下,变异算子的设计对性能有决定性影响:

  • 预算使用率:GCM 仅需消耗 13.7% 的评估预算即可发现强策略(定义为达到特定夏普阈值),而双块高斯变异和各向同性变异分别需要 100% 和 88.5%。这意味着GCM发现好策略的速度快一个数量级。
  • 中位数夏普比率:GCM 在所有资产上实现了最高的样本外夏普比率中位数(1.152),优于各向同性(1.005)和双块高斯(0.890)。
  • 峰值性能与方差:虽然各向同性变异偶尔能达到最高的峰值夏普,但其方差极大,且依赖于运气。相比之下,GCM提供了更可靠、稳健的搜索进程。

三种变异算子的性能对比表格

解释

限制变异于语义上配对的Entry-Exit子空间,避免了产生逻辑不连贯的后代。进一步地,利用学习到的流模型指引变异方向,使得搜索偏向于那些在历史上曾带来性能提升的行为变更区域,从而大幅提升了样本效率。这项研究也展示了深度学习与进化算法结合解决复杂优化问题的潜力。

8. 讨论

本研究表明,连续程序嵌入并不能自动解决GP的局部性问题,除非明确测量并利用潜在空间的几何特性。

关键发现是:连续变异仅在信赖域内有效。超出这个范围,连续搜索就会退化为随机搜索。通过将变异限制在信赖域内,并使其与策略的语义结构对齐,可以将稀有的峰值优化问题转化为快速、可靠的策略发现问题。

此外,GCM作为一种“即插即用”的变异内核,无需修改进化算法的选择机制、种群管理或评估预算。这种模块化特性使其极具应用价值。

9. 结论

论文提出了一种基于潜在行为几何的连续程序搜索框架。与其假设连续嵌入会自然产生平滑的搜索景观,不如直接通过受控扰动来测量它。

通过诊断工具识别出的信赖域,结合GPTL的语义分解,作者设计了语义对齐的变异算子。实验证明,将变异限制在配对的Entry-Exit子空间,并使用学习到的流模型引导变异方向,能够在不增加计算预算的前提下,显著提高搜索的效率和鲁棒性。

该研究的核心结论是:将变异结构与潜在行为几何对齐,是在不改变底层进化算法的情况下提升连续程序搜索性能的关键。

这篇关于量化策略自动化的前沿研究,展示了程序化交易领域与智能算法结合的深度探索。对这类前沿交叉领域的技术细节和实战应用感兴趣,可以持续关注云栈社区,我们会分享更多高质量的技术解读和行业洞见。




上一篇:Java老项目维护真能避开中年危机?聊聊程序员的“护城河”与风险
下一篇:雷军宣布小米SU7交付37万后停产换代,安全技术全面升级
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-23 10:27 , Processed in 0.564484 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表