第二章:网络拓扑与机房选址

做量化交易,尤其是高频交易,说白了就是跟光速赛跑。

你可能觉得策略牛逼就稳了。我告诉你,错了。我见过太多团队,策略回测漂亮得不行,一上实盘就拉胯。为什么?延迟太高了。你比别人慢了一微秒,订单就排到后面去了,成交价就差了好几个tick。

这一章,我们就聊聊最基础、也最容易被忽视的两个东西:机房怎么选网络怎么搭

2.1 托管机房:离交易所越近越好

先问个问题:你的交易服务器放在哪里?

如果你说放在公司办公室,或者放在阿里云上,那咱们得好好聊聊了。做跨市场套利,服务器必须托管。托管到哪?交易所的同一个机房,或者隔壁机房。

我个人习惯,首选交易所的主托管机房。比如CME的数据中心在Aurora,那你的机器就得往那搬。为什么?因为物理距离决定了光速延迟。

光在光纤里跑,速度大约是真空光速的2/3,也就是每秒20万公里左右。你算算,100公里距离,单程延迟就是0.5毫秒。来回就是1毫秒。在交易世界里,1毫秒够别人成交几百笔了。

核心原则: 托管机房与交易所撮合引擎的物理距离,决定了你的延迟下限。这个下限,谁也突破不了。

2.2 网络跳数:每一跳都是成本

光速延迟是物理极限。但实际延迟往往比这个高得多。为什么?因为网络设备。

数据包从你的服务器到交易所,中间要经过交换机、路由器。每经过一个设备,就叫一跳。每一跳都会引入延迟,少则几微秒,多则几十微秒。

我曾经帮一个客户排查问题。他的服务器托管在离交易所只有5公里的机房,但延迟却高达2毫秒。查了半天,发现网络拓扑绕了三个核心交换机,多跳了4次。后来我们重新规划了光纤直连,延迟直接降到200微秒。

避坑指南: 选择托管机房时,一定要问清楚网络拓扑。要求机房提供从你的机柜到交易所网关的跳数。理想情况是 ≤ 3跳。超过5跳,基本就别考虑了。

2.3 光速延迟的计算:一个简单的公式

我们来点实际的。怎么估算理论最低延迟?

公式很简单:

延迟(秒) = 距离(米) / 光在光纤中的速度(米/秒)

光在光纤中的速度 ≈ 2 × 10^8 米/秒。

举个例子:

  • 你的机房距离交易所 10 公里(10,000 米)
  • 理论单程延迟 = 10,000 / 200,000,000 = 0.00005 秒 = 50 微秒
  • 来回延迟(RTT)≈ 100 微秒

嗯,这里要注意。这只是理论值。实际中还要加上网络设备的处理延迟、光纤的折射率波动等等。但你可以用这个值作为基准线。如果实测延迟比这个高太多,那肯定有优化空间。

2.4 跨市场场景:距离与延迟的权衡

做跨市场交易,比如同时做芝加哥和纽约的期货。两个交易所距离大约1200公里。理论单程延迟就是:

1,200,000 / 200,000,000 = 0.006 秒 = 6 毫秒

来回就是12毫秒。这个延迟,对于套利策略来说,已经很大了。

怎么办?

我建议,如果你的策略需要同时监听两个市场,那你的服务器最好放在两个交易所的中间位置。比如芝加哥和纽约之间,可以选克利夫兰或者匹兹堡。这样到两边的延迟相对均衡。

交易所对 距离(公里) 理论单程延迟(微秒) 建议托管位置
CME(芝加哥) - ICE(纽约) 1200 6000 克利夫兰/匹兹堡
LSE(伦敦) - Eurex(法兰克福) 650 3250 布鲁塞尔/阿姆斯特丹
SSE(上海) - SZSE(深圳) 1200 6000 南京/合肥

2.5 网络拓扑设计:直连为王

机房选好了,接下来就是网络怎么连。

我的经验是:能直连就别走公网。公网延迟不稳定,而且有丢包风险。做交易,最怕的就是网络抖动。

常见的拓扑结构有两种:

  1. 物理直连:从你的机柜拉一根光纤,直接连到交易所的接入交换机。延迟最低,但成本高,而且只能连一个交易所。
  2. 通过托管机房网络:机房提供内部网络,连接到交易所。延迟稍高一点,但可以同时连接多个交易所,灵活性好。

我个人更倾向于第二种。因为做跨市场交易,你不可能只盯一个市场。通过托管机房的内网,你可以用较低的成本实现多市场接入。

注意: 无论用哪种方式,一定要做冗余。主备两条链路,一条断了自动切换。我见过因为一根光纤被施工挖断,导致整个交易系统瘫痪的惨案。

2.6 知识体系:一张图看懂

说了这么多,咱们用一张图来总结一下核心逻辑。

跨市场交易系统延迟优化 - 网络拓扑与机房选址 交易服务器 机房选址 物理距离 托管机房 网络拓扑 跳数控制 直连/内网 光速延迟计算:距离 / 光速 决定下限 决定实际值

这张图的核心逻辑很简单:机房选址决定了你的延迟下限,网络拓扑决定了你能多接近这个下限。两者缺一不可。

2.7 实战建议:三步走

最后,给你一个可执行的步骤:

  1. 第一步:确定目标交易所。列出你要接入的所有交易所,查清楚它们的数据中心位置。
  2. 第二步:计算理论延迟。用上面的公式,估算出从各个候选机房到交易所的理论延迟。选一个综合最优的位置。
  3. 第三步:测试实际延迟。别光看理论值。租一台云服务器或者托管的测试机,用ping或者更精确的hpt工具,实测一下RTT。我建议至少测一周,看峰值和抖动情况。
小技巧: 如果你不确定选哪个机房,可以先用云服务器做初步测试。比如在AWS的各个可用区部署实例,测到交易所的延迟。等数据出来了,再决定托管位置。这样成本低,效率高。

好了,这一章就到这里。记住,延迟优化不是一蹴而就的事。从机房选址开始,每一步都要精打细算。你省下来的每一微秒,都是真金白银。

专注资料整理