天天看点

【FIX协议】金融信息交换协议 - 2 - 协议结构FIX消息格式FIX协议消息语法

FIX消息格式

FIX协议的格式存在着两种结构:

  • tag=value结构
  • FIXML 结构

目前采用的都是第一种方式来完成数据交换。

其中FIXML可读性更强,但占用更多的带宽资源。

FIX协议消息语法

普通FIX语法规则

是对tag=value结构和FIXML都适用的语法:

Data Type

  • int:整型 没有小数点,逗号,可以包含正负号的数字序列。注,int的值前面可以包含0。(如 “00023” = “23”).
  • float: 浮点数。可包含小数点和正负号的数字序。累计总长度为15个数字。前面可以有0,小数末尾可加零,或截尾
  • String: 字符串。是大小写敏感的。
  • char: 字符。除分界符号SOH外的字符。大小写敏感。.
  • data:原始数据。没有格式和内容限制。之前紧接有一个长度域。长度域应制定data数据域包含的字节数(不包含分界符所占字节)。数据中可能包含分界符字节,所以需要用data类型数据长度来辅助区别。

tag=value结构

  • FIX消息的一般格式为:一个标准头+消息体+一个标准的尾部
  • 消息头的前三个域为:BeginString(tag #8)+BodyLenth(tag#9)+MsgType(tag#35)
  • 标准消息尾的最后一个域为CheckSum(tag#10)
  • 数据域分界符,在FIX一个消息内的所有数据域由一个分界字符标记结尾。用ASCII码的“SOH”(#001,hex:0x01)进行间隔。所有消息由“8=FIX.x.y<SOH>”标记开始,最后由“10=nnn<SOH>“标记结束。
  • 一个特定的tag 数应当是唯一的。如果重复,将被认为是一个违反规范文档的错误

例如:

【FIX协议】金融信息交换协议 - 2 - 协议结构FIX消息格式FIX协议消息语法

FIXML结构

待续... ...