有人能解释一下FIX和FAST之间的区别吗?什么情况下应该使用FIX,什么情况下应该使用FAST?
有人能解释一下FIX和FAST之间的区别吗?什么情况下应该使用FIX,什么情况下应该使用FAST?
从股票交易的角度来看,FAST在市场数据传播方面更为广泛使用,其中消息速率要高得多。 FIX是公司间互通性的选择协议,并且经常用于内部系统,尽管不同的实现可能在使用特定的消息和属性方面有很大差异。
经纪人和交易场所通常会通过某种FIX版本提供订单输入,并为最需要性能敏感客户或专业功能提供补充的本地二进制协议。 FIX接口通常只是本地接口的包装器,具有更有限的消息类型和参数集。
一个很好的例子是伦敦证券交易所(London Stock Exchange),他们提供FIX 5.0以进行订单输入,并提供自己的低延迟本地协议。 对于市场数据,他们提供FAST和ITCH的组合,尽管即使使用FAST,完整深度的市场数据源也不可用于订阅者,需要使用ITCH,如此文档所述。
FAST(FIX Adapted for STreaming)是基于FIX协议的定制版本,旨在将数据在市场中传输的速度提高,因为与常规的FIX实现相比,数据量的增加巨大。这应该能更清楚地解释。
FIX是一种基于文本的协议,所有信息都以标签=值的格式编码,并使用特殊字符进行分隔:
'....35=X|55=EUR/USD...'
这意味着即使十进制数据也将作为文本发送,例如1000000(如果以二进制编码则需要7个字节而不是4个字节)。
FAST是一种解决这种开销问题的解决方案。它基于模板的概念,其中描述了字节顺序、大小和含义。