纵横资本网丨专注于全球金融市场投资研究

金融业的FIX协议

智库 纵横 后山人 1093℃ 0评论

TI

纵横金服丨专注于全球金融资产在线配置

FIX协议

Financial Information eXchange 

(FIX)协议是金融行业Front

Office广泛,甚至可以说唯一使用的计算机通讯协议,机构客户,券商内部的系统以及券商和交易所之间的连接,都使用FIX作为传输协议。另一个金融领域广泛使用的协议是Society

for Worldwide Interbank Financial

Telecommunication(SWIFT),这个协议广泛用于交易清算,是Back

Office的主要通讯协议

在计算机广泛应用之前,电话是用户向交易员下交易指令的主要方式,甚至在计算机无处不在的今天,电话仍然是交易员的重要工具。电话通讯的缺点在于交流过程中会出现很多的人的因素带来的错误,比如把买听成了卖,把数量记录错了等待,这样就会引起交易纠纷。于是在计算机广泛应用于金融行业后,1992年Fidelity开始和他的机构客户之间使用计算机来传输交易指令,为了使交易指令能够安全可靠的传输,也便于机器理解,开发了FIX通讯协议。

从技术的角度来说,交易指令传输协议有下面的三个需求:

安全

可靠

准确

我们就从上面的三个方面介绍一下FIX的实现方式。

安全

设想一下基金正在建仓某一只股票,如果这个信息被泄露出去,人们就会预期这只股票价格上涨,从而抢入这只股票,推高股价,提高基金建仓成本,因此交易指令的保密是网络传输的基本要求。FIX协议是建立在TCP协议之上的通讯协议,它可以利用成熟的基于TCP的SSL或VPN等手段来加密传输的内容,使传输的内容不会在网络上被窃听。

FIX是点对点的连接,一方运行在接受连接模式,另一方运行在发起连接模式。一旦接受方在某个端口建立了连接,就会拒绝其他的试图在这个端口上建立新连接,这样可以一定程度上防止有意或无意的错误连接。在生产环境中经常会发生FIX配置了错误的端口,试图连接到一个已有连接上,FIX的这种特性就可以防止这种错误的配置产生严重后果。

FIX协议需要确认信息发送方的身份,它需要确保一个电脑黑客不能随便找一台电脑,连到券商的服务器上就可以发送大量的交易单,扰乱交易。在建立FIX连接时第一条信息是登录,要提供SenderCompID和TargetCompID来确认身份,就像登录我们的网银一样,如果没有这些信息就无法建立连接。

可靠

FIX协议定义了信息的传输控制,用以保证信息的可靠传输:

信息序列号(MsgSeqNum):FIX在发送信息时,每个信息都会被分配一个序列号,这个序列号连续增长。在接收方收到一条信息时,会检查这条信息的序列号,是否是上一条信息的序列号加一。比如接收方收到的上一条信息的序列号是5,那么

如果这条信息序列号是6,那就接收并处理这条信息

如果这条信息序列号是8,那么接收方判断有6号和7号信息没有收到。接收方就会发送一条从新传输的请求给对方,要求重新从6号信息开始传输

如果这条信息序列号是4,那么接收方就判断对方的序列号混乱了,就会断开连接。这时需要人工干预,检查序列号为什么会错。

心跳信息:

在FIX引擎在一段时间(一般是30秒)不发送信息时,为了向对方确定TCP连接还是联通状态,会发送一个心跳信息。对方如果超过30秒没有收到任何信息,就判断网络连接已经断掉,就会通知应用,并且试图重新建立连接。

准确

 

为了保证交易信息的准确,FIX协议定义了很多信息种类,用户根据需要选择使用那种信息。比如如果是下单,就使用信息种类 35 –

MsgType D,Order – Single。在交易系统中用的最多的是MsgType D (Single Order)

和MsgType 8 (Report)。在每条信息里,FIX协议给规定的内容定义了字段,比如Order –

Single信息里,限价放在字段44里。这样的字段定义方便了机器处理,不会出现歧义。

FIX系统简介

在交易系统中,FIX相关部分一般是封装在一个组件里,叫FIX引擎。应用和FIX引擎交互,发送或接收信息。FIX引擎有免费的开源软件,最流行的是QuickFIX,有C++/Java/.NET版本,可以根据自己的需要选择。QuickFIX的性能和稳定性都不错,功能齐全,推荐使用。如果需要极低的延时或极高的性能,就需要自己动手写自己的FIX引擎。

在一个券商的系统里,还需要FIX信息的路由,FIX路由系统处在交易系统的核心位置,需要非常好的稳定性和极高的可定制性,可以对进来的FIX信息根据配置信息进行处理,然后发送到目的地去。目的地可能是一个交易算法服务器,也可能是去交易所。对交易系统来说,目前用的最多的FIX版本是4.2.

二维码

转载请注明:纵横资本网 » 金融业的FIX协议

喜欢 (2)
纵横需要你的评论!