网络优化:专线 vs 公网、地理位置托管、UDP vs TCP

做跨所套利,说白了就是跟时间赛跑。你比别人慢1毫秒,可能就少赚几十万。我见过太多团队,策略逻辑写得天衣无缝,结果死在网络传输上。今天咱们就聊聊网络优化这个硬骨头。

一、专线 vs 公网:别省不该省的钱

公网是什么?就是你家宽带、公司光纤,跟所有人挤在一起。专线呢?是你独享的一条物理链路,不跟别人抢带宽。

公网的痛点:

  • 延迟抖动大。高峰期可能从1ms跳到50ms
  • 丢包率不稳定。我遇到过某云厂商公网,下午3点丢包率突然飙到5%
  • 路由不可控。数据包走哪条路,你说了不算

专线的优势:

  • 延迟稳定。我实测过,专线延迟波动通常不超过0.1ms
  • 丢包率极低。好的专线,丢包率可以做到万分之一以下
  • 路由可控。你可以指定数据走哪条路径

核心结论:做高频跨所套利,专线是必需品,不是可选项。公网只适合做回测和低频率策略。

我个人习惯是:主链路用专线,备链路用公网。万一专线断了,公网还能顶一阵。但说实话,专线断的概率极低,我做了这么多年,只遇到过两次。

二、地理位置托管:离交易所越近越好

光速是30万公里/秒,听起来很快对吧?但光纤里光速只有20万公里/秒左右。上海到深圳,光纤距离约1500公里,单程延迟就是7.5ms。来回15ms,套利黄花菜都凉了。

Co-location的核心逻辑:

  • 把服务器放在交易所机房内,或者隔壁
  • 物理距离缩短到几十米,延迟降到微秒级
  • 直接接入交易所的交换机,省去中间环节

我记得有一次帮客户做优化,他们服务器放在上海,要同时交易上期所和大商所。上期所在上海,延迟0.5ms;大商所在大连,延迟15ms。这怎么玩?后来我们把服务器托管到大商所机房,延迟降到0.3ms,套利策略才跑起来。

避坑指南:我曾经犯过一个错误——只关注了到交易所的延迟,忽略了交易所之间的延迟。跨所套利,你得同时考虑两个交易所的物理位置。最佳方案是:把服务器放在两个交易所的中间点,或者直接放在延迟更高的那个交易所里。

托管费用对比:

托管位置 月费用(参考) 典型延迟 适用场景
交易所机房内 5-20万/月 1-10微秒 高频套利、做市
交易所附近机房 1-5万/月 50-200微秒 中频套利
普通IDC 0.1-1万/月 1-10毫秒 低频策略、回测

三、UDP vs TCP:选对协议,延迟减半

TCP和UDP的区别,说白了就是:TCP要确认收到,UDP发完就不管了。

TCP的问题:

  • 三次握手。每次连接都要来回确认,增加延迟
  • 拥塞控制。网络一堵,TCP会自动降速
  • 重传机制。丢包了要重传,但重传的数据可能已经过时了

UDP的优势:

  • 无连接。直接发,不需要握手
  • 无拥塞控制。你发多快,它就传多快
  • 无重传。丢了就丢了,不耽误后续数据

你想想看,套利信号的有效期可能只有几毫秒。如果TCP因为丢包重传,等数据到了,价差早就没了。所以,高频套利几乎都用UDP。

注意:UDP虽然快,但不可靠。你需要自己在应用层做丢包检测和补偿。我一般用两种方式:

  1. 序列号检测。每个UDP包带一个递增的序列号,接收方检测到跳号就报警
  2. 冗余发送。同一个数据包发两遍,间隔1ms,降低丢包影响

嗯,这里要注意:不是所有交易所都支持UDP。国内期货交易所,像上期所、大商所,都支持UDP行情和交易。但有些海外交易所,还是强制用TCP。做跨所套利时,你得两边协议都支持。

四、实战中的网络架构设计

说了这么多,咱们画个图看看实际怎么搭。

跨所套利网络架构图 策略服务器 Co-location机房 交易所A 上期所/大商所 交易所B 郑商所/中金所 专线UDP 延迟<0.5ms 专线UDP 延迟<0.5ms 公网备用TCP 公网备用TCP 行情数据(UDP组播) 行情数据(UDP组播) 主链路:专线UDP | 备链路:公网TCP | 行情:UDP组播

这个架构图是我常用的方案。策略服务器托管在离两个交易所都近的机房,主链路用专线UDP,备链路用公网TCP。行情数据走UDP组播,因为行情量大,丢几个包无所谓。

个人经验:我建议你在策略服务器上装两块网卡。一块接专线,一块接公网。万一专线断了,自动切换到公网。切换时间控制在1ms以内,基本不影响交易。

五、延迟测试:别信理论值,要实测

理论延迟和实际延迟,差距可能很大。我见过一个团队,理论算出来延迟0.5ms,实际跑起来3ms。为什么?因为中间多了几层交换机,每层交换机都有处理延迟。

实测方法:

  1. 用时间戳。每个数据包发出时打上时间戳,收到时再打一个
  2. 用硬件时间戳。网卡支持硬件时间戳的话,精度能到纳秒级
  3. 连续测100万次。取P50、P99、P999三个指标

关键指标:别只看平均延迟,要看P99延迟。平均1ms,P99可能10ms。套利策略最怕的就是那1%的极端情况。

我曾经帮一个客户排查问题,他们策略在回测时年化收益50%,实盘却亏钱。一查,原来是公网延迟抖动太大,P99延迟到了20ms。换成专线后,P99降到0.8ms,策略立马盈利。

好了,网络优化这块就聊这么多。记住三句话:专线比公网靠谱,托管比远程快,UDP比TCP适合高频。把这些基础打牢,你的套利策略才能跑得稳。