平台宣称30ms,为什么实际执行都在300ms以上?

这是前几天,一个朋友问我的问题。

他所在的平台宣称执行快至30ms,不过有次他切换DC的时候,发现最快的DC执行速度也就381.7ms左右,和宣传的有10倍以上的差距。

看纸面数据,这似乎足以劝退我朋友了。

不过他表示,实际交易时,遇到延迟和卡盘的情况其实并不多,也很少有滑点的情况,整体体验还是不错的。所以,他问我遇到这种情况,有没有什么问题?


一、交易是如何执行的?


实际上,这是一个普遍现象。

要了解原因,我们要先知道,交易是怎么执行的。

一般的顺序是MT4客户端—>MT4服务器—>桥—>机房—>流动性供应商。我们下单时,先要发出指令到MT4服务器,之后服务器通过桥接技术,才能把订单发送流动性供应商进行撮合。

服务器、桥和机房是可以在一起的,桥一般直接集成在服务器上。至于MT4服务器—>流动性供应商的距离,一般优质的平台会考虑将服务器和流动性供应商服务器放在一个机房内,也就是我们平时说的并置,这个产生的距离和延迟也是可以忽略不计的。

所以,MT4客户端—>MT4服务器的距离,是唯一无法避免的距离,也是订单执行时产生物理延迟的原因。

最先进的订单执行走的也是光缆,就算是光速,从我们这里跑到伦敦其实也是要150-200ms左右。而一个交易要完成,是要把成交结果反馈给交易者的,所以需要一个来回,也就是300-400ms,这也是我朋友所在平台执行速度是381.7ms的原因,实际上是个正常水平。


二、如何提高交易执行速度


不过,交易行业发展这么多年,技术也是日新月异。

这种相当于就拉了条光缆的订单执行架构,肯定不符合现在的需要,所以也派生出了很多的方法和技术。


第一个,就是在全球范围内设置服务器。

服务器离用户越近,肯定速度就越快,而且服务器之间还可以通过高速网络连接,以减少延迟,这被称作是分布式架构。

比如我所在的EBC平台在全球五大金融中心都部署了超高速独立专线服务器,基本覆盖了主要交易人群,执行耗费的时间自然大大下降了。


第二个,就是数据中心。

这个算是数据前置技术。平台提前把一些重要的数据储存在数据中心里面,用户在发出指令时可以直接访问数据中心,而不需要和千里之外的服务器连接,也可以大大节省时间。

数据中心的数量可以远远大于服务器,所以可以遍布全球,覆盖所有的交易节点。比如EBC平台在全球就拥有30台数据中心,再加上EBC平台的对等网络连接技术,数据中心之间也可以自由访问数据,就像一张网一样,进一步缩短了时间。

举个例子,我的订单是抛向英国服务器的,不过我可以在通过离我最近的一个数据中心完成指令,可能是在东京,可能是在新加坡等等,完全可以在几十毫秒内执行。


第三个,是异步处理技术。

我们之前一笔订单执行,需要按部就班的等信息返回确认之后,才能完成交易。不过异步处理技术可以提前执行一些步骤,从而压缩流程时间,提高执行速度。

举个例子,我们的订单之前需要抛向银行的池子里进行订单匹配。

订单一一匹配是个非常耗时的过程,所以EBC交易黑盒就会提前分析订单的属性,并提前为订单锁定最适合的流动性。当订单进入池子后,就会在已经缩小的范围内进行匹配,从而进一步缩短交易的时间。


三、执行速度多少才算快?


所以,经过技术优化,交易执行的速度是可以远远快于单纯走光纤的速度的。

当然,除了上面提到的,还有一些因素也会影响交易执行速度,比如硬件规格、网络优化技术、流动性接入等等。总之,订单执行是一个复杂的过程,涉及的因素也是方方面面。

目前行情的平均订单执行速度大约在503.9ms左右。

从我的角度来说,最优的订单执行速度在300ms以内,400ms左右也是一个可以接受的水平,但如果超过500ms,整体交易速度就比较慢了,出现滑点和卡盘的概率也会高上不少。

我这里简单罗列了一下行业内主流平台的平均订单执行速度。

平台执行速度对比

很可惜,受波动加大的影响,最近没有平台执行速度低于300ms,不过EBC平均执行速度302.3ms,是最符合我交易偏好的水平。其他平台比如XM、嘉盛、Eightcap和Fxpro,整体的执行速度也好于行业平均水平。

总的来说,尽管订单执行数据值得关注,但是我们还是要以实际体验为主,不卡盘、不延迟、几乎没有滑点,就是一个非常合格的平台。

评论

此博客中的热门博文

遇到冰山订单后,我发现了比市场深度更好用的工具

EBC订单流工具到底是什么?用过的人说说,真的有用吗?

为什么交易中会出现正滑点的情况?