Fix协议的连接建立和基本应用
Fix协议是我们网络金融交易必不可少的协议之一。它的操作很简单,而且安全性也高。那么对于它的基本概念我们在这里就不在进行讲解了。我们主要针对Fix协议的结构以及它的连接建立进行详述。希望能够帮助大家理解这部分的知识。
FIX协议结构
当前,FIX协议的格式存在着两种结构:"标记(Tag)〉=〈值(Value)"域结构和 FIXML 结构。下面针对域结构模式对FIX协议的组成,连接建立、信息交换方法等进行简要说明,以便于了解FIX协议的概念。
FIX信息格式
(1) 信息格式
一条FIX协议信息的基本格式是:
《标准头》+《信息正文域》+《标准尾》
每条信息都是由一系列带有〈标记(Tag)〉=〈值(Value)〉的域组成的。在每个域之间通过"< >"分开。除了一些特殊规定外,信息中的域可按照任意顺序排列。所有域在都以"定界符"(#001;0x01H,文档中写为<SOH>)表示终止。
(2) 标准的信息标题
每条命令或应用信息都有一个标准的标题。标题表明了信息类型、长席、目的地、序号、起始点和时间。
(3) 标准的信息尾部
所有的信息,无论是命令类的,还是应用类的,以一个标准结尾终止。尾部被用来把信息分离,并包括含有3位数的"检验和"值。
(4) 数据类型
各域所使用的数据类型包括以下几种:整数、浮点数、布尔数、字符串、多元值串、货币、交易所字符串域、国际标准时时间戳、国际标准时时间、本地市场日期等。
(5) 数据完整性
信息数据内容是否完整可以通过"检查信息长度"和字符的简单"检验和"两个方法进行检查。
(6) 加密
为了保证信息安全,对传递的信息需要加密,加密方法的选择由传送中的有关双方协议而定。任何域都可被加密并被添加于"密码"的域内,不过,被确信可被清楚识别的域必须以非加密方式进行传送,这些公开的域(非加密)能在密码的域内被重复以完整地检验公开的数据。
FIX协议的连接建立
建立一个FIX连接包括:电信层面连接的创立、经由接收方对发起方的确认、信息同步三个步骤。
FIX信息交换过程的实施
FIX信息交换过程的定义为:
在两方之间,一个连续的序号系列范围内的双向定单信息传送。每条信息都有独特的序号识别。在每次FIX交换过程开始时,就是序号的开始,首先从1开始,并依次增加直至贯穿整个交换过程。当在FIX交换过程中重新进行连接的时候,监控序号将能使各方能识别错过的信息,并能做出反应,来使应用方达到一致地同步。
在整个信息没有被激活的时期里,信息交换方将在有规则的时间间隔里产生"心跳信息"。通过"心跳信息"可监控通信连接的状况,识别进入的序号缺口,并确认是否接收到最后的信息串。"心跳间隔"是由交换过程发起人使用"心跳指令"域在"登录"信息中宣布的。
当信息交换连接的任何一方在"心跳指令"的时间内都不发送任何数据的时候,"心跳信息"将被传送。当连接的任何一方在"心跳指令"+"合理的传输时间"的时间内仍没有收到"心跳信息",那么,可以认为此次连接失败,而且需开始实施修正操作。如果"心跳指令"被设置为零,将不会生成定期的"心跳信息"。
FIX的连接注销
信息交换过程的正常结束是通过双方互相发送"注销"(Logout)信息来完成。"注销"信息是开始或确认一个FIX过程终止的信息,未经"注销"信息的交换而断开的连接是反常情况,并应按错误来处理。
FIX通信协议的应用
针对国内的证券交易模式的分布式结构,即证券公司的各营业部、分支机构数据分布存放,各自独立,直接与交易所联系,国内券商正在探讨并逐步推出集中交易系统,集中交易系统可以带来集中风险控制、提高系统效率等优势,可以在集中交易系统的构建、规划过程中,借鉴应用FIX标准化协议,构建具有数据层、核心业务层+FIX通信层、应用层的广义三层结构。用FIX金融信息交换协议包取代过去的文件或通信包交换的模式。