对冲套利 - BJF Trading Group Inc - Software for Forex Traders
Cart 0
BJF TRADING GROUP  ·  技术指南

对冲套利信号过滤:Difference-to-Open 与 Fast Feed 过滤器

在双经纪商对冲套利架构中,检测到的价格差异中有 60–80% 是延迟伪象,而不是真实的 LP 定价差异。基于这些信号执行交易会使每笔交易都亏损,并产生经纪商会识别和限制的有害订单流。本指南涵盖两个过滤层级:简单的 difference-to-open 阈值,以及几乎可以完全消除延迟污染的高级 fast feed 参考架构。

2,600
7 个部分
约 12 分钟 阅读
适用对象:套利交易员、量化开发者、经纪商风控团队
60–80%未过滤信号属于延迟伪象
<5%使用 fast feed 过滤器后的污染率
30–150ms典型伪象消失时间
3所需过滤条件数量

两种对冲套利信号

当对冲套利软件检测到两个经纪商报价之间存在差异时,这种差异可能源于两种本质上完全不同的原因之一。第一种是真实的定价差异,即两个经纪商的流动性提供商之间存在实际价格差,这是可交易的机会。第二种是行情延迟伪象:一个经纪商比另一个更快接收到全球市场事件,因此表面上的价格差异仅仅是因为较慢经纪商的报价尚未更新。这两种情况仅凭原始报价对比无法区分,但执行结果却完全相反。

信号类型 原因 持续时间 执行结果
真实 LP 差异 经纪商 A 的 LP 与经纪商 B 的 LP 定价不同,与市场事件发生的时点无关 200ms 到 2,000ms 按报价成交,净利润符合预期
由延迟引发的伪象 经纪商 A 的行情源更快接收到市场事件。表面上的差异 = 价格变动,而不是 LP 差异 30ms 到 150ms 到成交时,经纪商 B 已经更新报价,结果是亏损或重新报价

污染比例问题

在没有过滤的情况下,典型双经纪商架构中,延迟引发信号与真实 LP 差异信号的比例通常有 60–80% 属于延迟伪象。市场事件,如价格跳动、经济数据发布、流动性变化,会持续不断地发生,而每一次事件都会造成一次短暂的延迟型差异,因为更快的经纪商行情源会先更新。这个比例在很大程度上取决于两个经纪商之间的行情速度差:如果一方的行情源始终比另一方快 100ms,那么产生的伪象会远多于两者速度只相差 10ms 以内的组合。

为什么延迟型信号会产生有害订单流

基于延迟伪象执行交易,在单笔交易层面上是无利可图的。但问题不止于此,它还会形成一种特定的订单流模式,而经纪商会将其归类为技术性有害流量。

模式 1

价格变动事件发生时下单

延迟型信号恰恰会在价格事件发生时触发,因为这时快速经纪商的行情已经更新,而慢速经纪商的行情还没有。未经过滤的对冲套利会在价格发生变动的精确时刻下出不成比例的大量订单。经纪商风控系统若将订单时间戳与价格事件时间戳进行相关分析,就会把这种集中现象识别为技术性流量。

模式 2

高逆向选择率

延迟型交易在几百毫秒后回看市场时,往往会以不利价格成交。经纪商风控系统会跟踪每笔成交后的短期价格轨迹。如果有很高比例的成交之后立刻出现不利价格变动,也就是订单刚好在市场朝着不利于成交方向移动时到达,那么账户就会被标记为需要进行逆向选择审查。

模式 3

P&L 与波动率呈反向相关

一个执行延迟伪象的系统会在低波动时期盈利,因为此时真实 LP 差异占主导;而在高波动时期亏损,因为延迟伪象会大量增加。这种 P&L 与波动率之间的反向相关关系,与正常技术交易的表现不一致,是一种可识别的有害流量特征。

模式 4

持仓时间分布不对称

当一笔延迟型交易以错误价格成交后,系统通常会在几秒内退出。这种“盈利交易持有更久、亏损交易快速平仓”的模式,会形成一种不对称的持仓时间分布,而风控系统会将其标记为自动化技术套利利用行为。

分类带来的后果

一旦账户被归类为有害流量,它将面临更差的执行条件,例如重新报价、点差扩大,或被内部路由到经纪商自有账簿。这也会连带削弱那些本来盈利的真实 LP 差异交易。过滤问题不仅关系到单笔交易是否盈利,它实际上决定了该账户是否还能继续适用于套利。

简单过滤器:difference-to-open 阈值

最简单的过滤器是设定一个最小价格差阈值,也就是 difference-to-open,低于该值则不下单。延迟型差异的平均幅度通常小于真实 LP 差异:行情延迟伪象只反映两个接收同一事件的行情源之间的速度差,而真实 LP 差异反映的是实际 LP 层面的定价不同,这种差异可能更大且持续更久。设置一个最低阈值,可以过滤掉较小的延迟型信号,同时保留较大的真实信号。

如何校准阈值

步骤 操作 输出
步骤 1 以仅监控模式运行 5–10 个交易日。记录每一次检测到的差异,包括:时间戳、幅度(pips)、消失前持续时间,以及检测后 200ms 内的价格变动。 原始信号数据集
步骤 2 对每个信号进行事后分类:真实信号(持续超过 150ms,参考行情平静)或延迟型信号(100ms 内消失,且之前出现了方向性价格事件)。 分类后的数据集
步骤 3 绘制真实信号与延迟信号的幅度分布。找出一个阈值,使其以上的信号中有 80% 以上属于真实 LP 差异。 最优阈值
步骤 4 将 difference-to-open 设为识别出的阈值。按季度重新校准,因为随着经纪商 LP 关系和市场波动状态变化,最优阈值也会发生偏移。 已部署的过滤参数

三个结构性限制

限制 1

大的延迟事件会漏过去

高波动时期会产生大幅价格移动。在一次 10 pip 的波动中,行情延迟伪象可能表现为经纪商之间 4–5 pip 的差异。3 pip 的阈值无法拦截这种情况。大延迟事件的危害最大:造成最大亏损,也最容易暴露出有害订单流模式。

限制 2

静态阈值,动态市场

最优阈值会随市场条件变化。在亚洲时段较平静的时候,1.5 pip 的阈值可能足够有效;但在伦敦开盘时,同样的阈值却可能放过大量延迟伪象。固定阈值始终是一种折中。

限制 3

缺乏方向感知

简单过滤器会把所有高于阈值的差异一视同仁,而不考虑信号检测时的市场背景。它无法区分一个真实的 3 pip LP 差异和一个由快速价格事件造成的 3 pip 延迟伪象。

高级过滤器:fast feed 参考架构

fast feed 过滤器引入了第三个独立数据源,其速度快于任一执行经纪商,用作对每个检测到差异进行分类的机制。系统不再仅按差异幅度过滤,而是使用 fast feed 判断检测到的差异是否与参考行情中的价格变动事件同时发生。如果是,则该信号属于延迟型并被丢弃;如果参考行情保持平静,则该差异会被归类为真实 LP 差异并继续执行。

每次检测到信号时的分类逻辑如下:

当以下所有条件都为真时,信号被归类为真实 LP 差异:

(1) FastFeed.RateOfChange(last 100ms) < MovementThreshold
— 参考行情在前一时间窗口内没有显著波动
— 当前没有方向性价格事件正在市场中传播

(2) FastFeed.LastTickAge < StalenessThreshold
— 参考行情正在持续更新(不是陈旧或断开状态)
— 确保分类检查基于实时数据

(3) Discrepancy.Persistence > MinPersistenceWindow
— 差异已经持续至少 N 毫秒
— 真实 LP 差异会持续存在;延迟伪象会在 30–100ms 内消失

如果任一条件失败,信号即被归类为延迟型 → 订单丢弃。

条件 1:fast feed 上的变化率

这是最核心的分类条件。快速参考行情比两个执行经纪商都更快,它会在任何一家经纪商报价更新之前就接收到全球市场事件。如果参考行情在信号检测前的窗口中出现了显著价格变动,那么这种变动很可能就是表面差异的原因:一个执行经纪商的行情已经根据该事件更新,而另一个还没有。

参数 典型值 说明
MovementThreshold 主要货币对每 100ms 为 0.5–1.5 pips;波动较大的货币对为 1.5–3.0 pips 通过测量特定品种在正常条件与事件条件下每 100ms 的典型点值波动来设定
Lookback window 50–200ms 既要覆盖价格变动事件,又不能掩盖那些在事件发生后稍有延迟才出现的真实差异。需根据实测的行情延迟差进行校准。
Staleness threshold 500ms–2,000ms 如果参考行情在该窗口内没有更新,可能已卡住。对于参考行情陈旧期间出现的信号,应保守处理:丢弃或等待行情恢复。

为什么 fast feed 过滤器在性质上更优

优势 1

能够捕捉大的延迟事件

在重大价格事件中,即便出现 5 pip 的延迟伪象,fast feed 过滤器也会将其归类为延迟型,而不受幅度大小影响。如果简单阈值设在 5 pip 以下,它就会放行。fast feed 过滤器是基于市场状态进行分类,而不是基于差异大小。

优势 2

会根据波动率动态适应

在平静时期,参考行情变化率低,分类机制很少触发;在高波动时期,参考行情活跃,会持续识别延迟伪象。过滤器会在高风险时段自动收紧,而无需人工调整。

优势 3

保留小而真实的信号

一个真实的 0.8 pip LP 差异,简单阈值可能会阻止它,但如果参考行情平静,它可以通过 fast feed 过滤器。该过滤器不会为了避免小型延迟信号而牺牲小型真实信号;每个信号都根据市场背景独立分类。

优势 4

几乎完全消除延迟污染

在校准良好的部署中,fast feed 过滤器可以将未过滤信号中 60–80% 的延迟污染降低到 5% 以下。剩余污染主要来自边缘情况,即价格事件不够快,未触发变化率阈值,但又足够快,仍然造成了行情源之间的差异。

过滤器对比

过滤器 延迟拒绝率 真实信号保留率 复杂度 最适合
无过滤 0% — 全部通过 100% 不可行 — 必然产生有害流量
仅 difference-to-open 40–60% 80–90% 初始配置、两家经纪商行情速度接近的情况
Difference-to-open + 持续性 60–75% 75–85% 改进后的基础方案,但仍会漏掉大的延迟事件
Fast feed 过滤器(完整) 90–97% 85–95% 生产级套利、敌对型经纪商环境

fast feed 过滤器的校准流程

  • 阶段 1:以日志模式运行 5–10 天。记录每一次检测到的差异及其完整上下文:所有行情状态、差异幅度、持续时间,以及参考行情在此前 100ms 和 200ms 窗口内的变化率。
  • 阶段 2:对每个记录的信号进行事后分类:真实信号(持续超过 150ms,参考行情平静)或延迟型信号(100ms 内消失,且检测时参考行情处于活跃状态)。
  • 阶段 3:针对已分类数据集测试不同的 MovementThreshold、lookback window 和 MinPersistenceWindow 组合。目标:真实信号保留率高于 85%,延迟信号漏过率低于 8%。
  • 阶段 4:以优化后的参数在最小手数下部署。监控前 10 个交易日内按信号类型划分的 P&L 归因。按季度重新校准,或在市场状态发生显著变化后重新校准。

常见问题

真实 LP 差异与延迟型差异有什么区别?

真实 LP 差异之所以存在,是因为两家经纪商的流动性提供商对同一品种给出了不同定价,这反映了各 LP 在市场建模或库存管理方式上的结构性差异。延迟型差异之所以存在,是因为一个经纪商的行情源比另一个更快收到市场事件。真实差异是可交易的,持续时间通常为 200ms 到 2,000ms。延迟伪象会在 30–150ms 内随着较慢行情源追上而消失,通常在订单到达较慢经纪商之前就已经消失了。

difference-to-open 是什么,它有什么帮助?

Difference-to-open 是一个可配置的最小价格差阈值,以 pips 计,只有当两个经纪商报价之间的差异达到该值时才会下单。它利用行情延迟伪象通常平均小于真实 LP 差异这一特征来过滤延迟型信号。它能够有效消除小型延迟信号,但无法捕捉高波动时期的大型延迟事件,因为快速价格变动可能会在更新速度不同的行情源之间制造出很大的表面差异。

什么是 fast feed 过滤器,它如何工作?

Fast feed 过滤器使用第三个参考价格源,该价格源比两个执行经纪商都更快,用于在下单前对每个检测到的差异进行分类。如果参考行情在信号检测前的窗口中显示出显著价格变动,那么该差异会被归类为延迟型并被丢弃。如果参考行情保持平静,该差异则被归类为潜在的真实 LP 差异,执行继续进行。这种方式是根据市场状态而不是仅根据幅度来分类,因此可以捕捉简单阈值遗漏的大型延迟事件。

为什么未过滤的对冲套利会产生有害订单流?

延迟型信号会在价格变动事件发生的精确时刻产生订单。经纪商风控系统会把这种集中现象识别为技术性流量模式。此外,延迟型交易还会持续产生不利成交和小亏快速离场,形成不对称的持仓时间和 P&L 分布,进一步暴露该账户为技术性利用行为。一旦被归类,账户将面临更差的执行质量,这也会影响那些本来盈利的真实 LP 差异交易。

使用 fast feed 过滤器需要什么条件?

需要第三个价格数据源,并且它在接收全球市场事件方面要明显快于两个执行经纪商。它可以是专门的市场数据提供商、同机房部署的价格行情服务,或者仅作为参考行情使用的第三个经纪商账户(不通过它下单)。参考行情运行在独立的监控线程中,并在 socket 接收时打上硬件级时间戳。绝不会通过参考行情下单,它只作为分类输入使用。

过滤参数需要多久重新校准一次?

至少每季度一次。随着经纪商 LP 关系演化、行情基础设施变化以及市场波动状态改变,最优参数也会发生变化。以下情况应立即重新校准:经纪商更换 LP 或报价引擎;VPS 提供商或网络路由变更影响了行情延迟;或交易品种波动率发生持续性变化。SharpTrader 的按信号归因日志记录功能可提供持续校准所需的数据,而无需单独的离线模式。

SharpTrader Pro — 带有 Fast Feed 过滤功能的对冲套利

Difference-to-open · 快速参考行情过滤器 · 按信号归因日志记录 · 兼容 FIX API · 25 年套利开发经验

了解 SharpTrader Pro →
延迟套利 →