第二章:网络拓扑与机房选址
做量化交易,尤其是高频交易,说白了就是跟光速赛跑。
你可能觉得策略牛逼就稳了。我告诉你,错了。我见过太多团队,策略回测漂亮得不行,一上实盘就拉胯。为什么?延迟太高了。你比别人慢了一微秒,订单就排到后面去了,成交价就差了好几个tick。
这一章,我们就聊聊最基础、也最容易被忽视的两个东西:机房怎么选,网络怎么搭。
2.1 托管机房:离交易所越近越好
先问个问题:你的交易服务器放在哪里?
如果你说放在公司办公室,或者放在阿里云上,那咱们得好好聊聊了。做跨市场套利,服务器必须托管。托管到哪?交易所的同一个机房,或者隔壁机房。
我个人习惯,首选交易所的主托管机房。比如CME的数据中心在Aurora,那你的机器就得往那搬。为什么?因为物理距离决定了光速延迟。
光在光纤里跑,速度大约是真空光速的2/3,也就是每秒20万公里左右。你算算,100公里距离,单程延迟就是0.5毫秒。来回就是1毫秒。在交易世界里,1毫秒够别人成交几百笔了。
2.2 网络跳数:每一跳都是成本
光速延迟是物理极限。但实际延迟往往比这个高得多。为什么?因为网络设备。
数据包从你的服务器到交易所,中间要经过交换机、路由器。每经过一个设备,就叫一跳。每一跳都会引入延迟,少则几微秒,多则几十微秒。
我曾经帮一个客户排查问题。他的服务器托管在离交易所只有5公里的机房,但延迟却高达2毫秒。查了半天,发现网络拓扑绕了三个核心交换机,多跳了4次。后来我们重新规划了光纤直连,延迟直接降到200微秒。
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 网络拓扑设计:直连为王
机房选好了,接下来就是网络怎么连。
我的经验是:能直连就别走公网。公网延迟不稳定,而且有丢包风险。做交易,最怕的就是网络抖动。
常见的拓扑结构有两种:
- 物理直连:从你的机柜拉一根光纤,直接连到交易所的接入交换机。延迟最低,但成本高,而且只能连一个交易所。
- 通过托管机房网络:机房提供内部网络,连接到交易所。延迟稍高一点,但可以同时连接多个交易所,灵活性好。
我个人更倾向于第二种。因为做跨市场交易,你不可能只盯一个市场。通过托管机房的内网,你可以用较低的成本实现多市场接入。
2.6 知识体系:一张图看懂
说了这么多,咱们用一张图来总结一下核心逻辑。
这张图的核心逻辑很简单:机房选址决定了你的延迟下限,网络拓扑决定了你能多接近这个下限。两者缺一不可。
2.7 实战建议:三步走
最后,给你一个可执行的步骤:
- 第一步:确定目标交易所。列出你要接入的所有交易所,查清楚它们的数据中心位置。
- 第二步:计算理论延迟。用上面的公式,估算出从各个候选机房到交易所的理论延迟。选一个综合最优的位置。
- 第三步:测试实际延迟。别光看理论值。租一台云服务器或者托管的测试机,用ping或者更精确的hpt工具,实测一下RTT。我建议至少测一周,看峰值和抖动情况。
好了,这一章就到这里。记住,延迟优化不是一蹴而就的事。从机房选址开始,每一步都要精打细算。你省下来的每一微秒,都是真金白银。