研究文章
N / 260926

为什么我最后选择 Binance 产生信号,OKX 负责执行?

一套 BTC 合约交易系统,为什么可以让 Binance 负责信号研究、OKX 负责真实执行?本文记录跨市场职责分离背后的研究逻辑。

在做 BTC 合约策略研究时,一个很自然的问题是:

如果最终准备在 OKX 上交易,为什么不从信号到执行全部使用 OKX 数据?

这个问题看起来很合理。

但经过几轮研究后,我最终没有走向“单一交易所全链路”,而是选择把系统拆成两个职责:

  • Binance:负责信号研究与信号生成
  • OKX:负责真实下单、止损、动态保护和最终盈亏

这并不是因为 Binance “更准”,也不是因为 OKX “不适合做研究”。

更准确地说,这是一次关于研究稳定性与执行真实性如何分工的选择。


1. 数据源一致,不等于研究质量更高

最开始,一个很强的直觉是:

既然最终在 OKX 上交易,那就应该直接用 OKX 数据重新研究整个策略。

我确实沿这个方向做过多轮尝试。

结果并不是完全无效。

一些 OKX 原生组合也能在历史中得到不错的结果,甚至能筛出多个年度表现都为正的版本。

问题在于:

  • 参数延续性不够理想;
  • 月度、周度、日度的稳定性并没有同步增强;
  • 一些改善集中在特定历史阶段;
  • 继续调参以后,研究越来越像是在适配已经发生过的历史。

这时候我开始意识到:

“数据源一致”本身不是研究目标。

真正的目标应该是:

让信号层尽量保持稳定,让执行层尽量接近真实。


2. Signal Layer 和 Execution Layer 是两个不同问题

一个完整交易系统至少包含两个不同问题。

Signal Layer

负责回答:

现在有没有一个值得参与的方向机会?

它关注的是:

  • 市场结构;
  • 趋势与反转;
  • 波动;
  • 成交行为;
  • 多种形态之间的组合关系。

Execution Layer

负责回答:

如果要交易,实际应该如何在目标交易所完成?

它关注的是:

  • 当前可成交价格;
  • 盘口深度;
  • 下单延迟;
  • 止损触发;
  • 动态保护;
  • 滑点;
  • 手续费;
  • 资金费率;
  • 真实仓位和账户状态。

这两层之间有关联,但它们不是同一个研究问题。

如果把它们完全绑定,就容易出现一个情况:

为了适配执行交易所的数据特征,反过来重写本来更稳定的信号结构。

这未必是好事。


3. 为什么保留 Binance 作为信号层?

Binance 的价值,不在于“价格一定比 OKX 更正确”。

它更像一个研究数据源。

对于长期量化研究而言,一个数据源是否好用,通常取决于:

  • 历史长度;
  • 数据连续性;
  • 成交信息完整度;
  • volume / taker 等微观信息可用性;
  • 时间戳一致性;
  • 研究工具成熟度;
  • 数据清洗成本。

如果一套信号结构已经在这个环境下经历了多阶段研究,而且在较长时间中保持了相对稳定,那么仅仅为了“交易所一致”就重新搭一套信号体系,未必值得。

更合理的做法是:

保留信号层,再把执行层搬到真正准备交易的市场。


4. 为什么 OKX 必须负责执行层?

因为只要真实交易发生在 OKX,以下问题就只能由 OKX 决定:

  • 实际成交价;
  • 止损价是否触发;
  • 动态保护何时更新;
  • 永续合约的 basis / premium;
  • 极端行情中的价格路径;
  • 资金费率;
  • 强平机制;
  • 手续费;
  • 订单成交质量。

即使 Binance 和 OKX 的 BTC 价格大部分时间非常接近,它们也不是同一个市场。

尤其在:

  • 波动突然放大;
  • 永续合约偏离现货;
  • 盘口快速重定价;
  • 止损或动态保护接近触发线

这些时刻,几个基点的差异都可能改变一笔交易的退出路径。

所以:

信号可以跨市场,执行不能脱离实际交易市场。


5. 一个更干净的系统结构

现在我更倾向于把完整系统理解成:

Binance Market Data
→ Signal Engine
→ Execution Gate
→ OKX Order Execution
→ OKX Position Management
→ Account Risk State

这样每一层的职责都比较清楚。

如果以后:

  • 信号研究升级,可以尽量只动 Signal Layer;
  • OKX API 改变,可以只调整执行层;
  • 换到另一个交易所,也可以先重新验证执行层,而不是整套策略推倒重来。

这种分层的价值,不只是代码工程上的整洁。

更重要的是:

它让研究问题彼此隔离。


6. 跨市场架构也不是没有代价

这种结构当然也有新的问题。

最大的一个是:

Signal Market ≠ Execution Market。

这意味着必须额外研究:

  • 同一时间边界是否真正对齐;
  • Binance 信号出现时,OKX 的即时价格是多少;
  • 两边价格路径差异是否会改变退出;
  • 同一个信号在两个市场上的风险曲线是否仍然可接受。

因此跨市场系统不能简单做成:

Binance 回测成功 → OKX 直接实盘。

中间还需要:

Target Market Replay

也就是把相同信号放到 OKX 历史价格里重新跑完整的执行路径。


7. 研究和实盘的时序也必须分开

当前信号是在 Binance 5 分钟 K 正式收盘后确定。

实盘流程应该是:

K 线收盘确认
→ 信号生成
→ 立即向 OKX 发单

而不是:

信号生成
→ 再等下一根 5 分钟 K
→ 才交易

研究里使用 OKX 新 K 的开盘价,只是因为历史 OHLC 数据中,它是信号确认之后最接近“即时成交”的可观察代理。

它不是实盘等待逻辑。

这个区别非常重要。


8. 为什么我没有继续硬调 OKX 原生策略?

因为研究的目标不是:

必须找到一个 OKX 原生信号版本。

而是:

找到一个可以长期继续验证的系统结构。

如果某个方向需要越来越多参数,才能维持历史表现,那么即使最后结果很好看,也要问:

这是结构性优势,还是历史适配?

几轮研究以后,我更倾向于接受一个不那么“纯粹”,但研究逻辑更清楚的架构:

稳定的信号源 + 真实的执行市场。


9. 这套结构未来真正需要验证什么?

接下来真正重要的,不是继续修改信号。

而是逐步把执行层补完整:

  • 真实 FAK 成交滑点;
  • 网络延迟;
  • API 延迟;
  • 部分成交;
  • 盘口深度;
  • 资金费率;
  • 交易所托管保护单;
  • mark / last 等不同触发价格;
  • 极端行情中的执行质量。

这些因素才决定:

一个历史上有效的信号,在真实市场里到底还能剩下多少。


最后

这次研究让我越来越明确一个观点:

研究数据源和交易执行市场,不一定必须是同一个。

真正重要的是:

  • 信号层是否稳定;
  • 执行层是否真实;
  • 两者之间是否经过严格的跨市场验证。

如果为了“数据源统一”而牺牲信号稳定性,并不划算。

如果为了“信号方便”而忽略真实执行市场,也同样危险。

所以现在的结构是:

Binance 决策,OKX 执行。

不是为了复杂。

恰恰是为了把两个不同的问题分开研究。


本文仅记录研究过程,不构成投资、交易或财务建议。历史回放不代表未来表现。