网络优化:专线 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虽然快,但不可靠。你需要自己在应用层做丢包检测和补偿。我一般用两种方式:
- 序列号检测。每个UDP包带一个递增的序列号,接收方检测到跳号就报警
- 冗余发送。同一个数据包发两遍,间隔1ms,降低丢包影响
嗯,这里要注意:不是所有交易所都支持UDP。国内期货交易所,像上期所、大商所,都支持UDP行情和交易。但有些海外交易所,还是强制用TCP。做跨所套利时,你得两边协议都支持。
四、实战中的网络架构设计
说了这么多,咱们画个图看看实际怎么搭。
这个架构图是我常用的方案。策略服务器托管在离两个交易所都近的机房,主链路用专线UDP,备链路用公网TCP。行情数据走UDP组播,因为行情量大,丢几个包无所谓。
个人经验:我建议你在策略服务器上装两块网卡。一块接专线,一块接公网。万一专线断了,自动切换到公网。切换时间控制在1ms以内,基本不影响交易。
五、延迟测试:别信理论值,要实测
理论延迟和实际延迟,差距可能很大。我见过一个团队,理论算出来延迟0.5ms,实际跑起来3ms。为什么?因为中间多了几层交换机,每层交换机都有处理延迟。
实测方法:
- 用时间戳。每个数据包发出时打上时间戳,收到时再打一个
- 用硬件时间戳。网卡支持硬件时间戳的话,精度能到纳秒级
- 连续测100万次。取P50、P99、P999三个指标
关键指标:别只看平均延迟,要看P99延迟。平均1ms,P99可能10ms。套利策略最怕的就是那1%的极端情况。
我曾经帮一个客户排查问题,他们策略在回测时年化收益50%,实盘却亏钱。一查,原来是公网延迟抖动太大,P99延迟到了20ms。换成专线后,P99降到0.8ms,策略立马盈利。
好了,网络优化这块就聊这么多。记住三句话:专线比公网靠谱,托管比远程快,UDP比TCP适合高频。把这些基础打牢,你的套利策略才能跑得稳。