FIX常见域

常见域

Tag(标记) FieldName(域名) 备注
8 BeginString 起始串,FIX协议版本
9 BodyLength 消息长度
35 MsgType 消息类型:例如F=Order Cancel Request,取消订单
11 ClOrdID 客户端订单ID
37 OrderID 服务端订单ID
41 OrigClOrdID 原始客户端订单ID
54 Side 买卖类型。例如:1 = Buy,2 = Sell
55 Symbol 股票代码。例如:YRD
10 CheckSum 校验码

消息头

每一个会话或应用消息有一个消息头,该消息头指明消息类型、消息体长度、发送目的地、消息序号、发送起始点和发送时间。

Tag 域名 必需 说明
8 BeginString Y 起始串,取值:FIX.4.2(不可加密,消息的第一个域)
9 BodyLength Y 消息体长度(不可加密,消息的第二个域)
35 MsgType Y 消息类型(不可加密,消息的第三个域)
49 SenderCompID Y 发送方代码(不可加密,发送方标识符)
56 TargetCompID Y 接收方代码(不可加密,接收方标识符)
115 OnBehalfOfCompID N 最初发送方标识符(可加密),用于经第三方发送。
128 DeliverToCompID N 最终接收方标识符(可加密),用于经第三方发送。
90 SecureDataLen N 密文数据长度
91 SecureData N 密文数据(紧跟密文数据长度域)
34 MsgSeqNum Y 消息序号(可加密),如果交易双方不采用 FIX 会话 机制,可将该 tag 置为一个固定的值,例如 0。
50 SenderSubID N 发送方子标识符(可加密)
142 SenderLocationID N 发送方方位标识符(可加密)
57 TargetSubID N 接收方子标识符(可加密)
143 TargetLocationID N 接收方方位标识符(可加密)
116 OnBehalfOfSubID N 最初发送方子标识符(可加密)
144 OnBehalfOfLocationID N 最初发送方方位标识符(可加密)
129 DeliverToSubID N 最终接收方子标识符(可加密)
145 DeliverToLocationID N 最终接收方方位标识符(可加密)
43 PossDupFlag N 可能重复标志,重复发送时,作此标记。(可加密)
97 PossResend N 可能重发标志。(可加密)
52 SendingTime Y 发送时间(可加密)
122 OrigSendingTime N 原始发送时间(可加密)
347 MessageEncoding N 消息中 Encoded 域的字符编码类型(非 ASCII 码)
369 LastMsgSeqNumProcessed N 最后处理消息序号(可加密)
370 OnBehalfOfSendingTime N 最初发送时间(用 UTC 表示时间)

消息尾

每一个消息(会话或应用消息)有一个消息尾,并以此终止。消息尾可用于分隔多个消息,包含有 3 位数的校验和值。

Tag 域名 必需 说明
93 SignatureLength N 数字签名长度(不可加密)
89 Signature N 数字签名(不可加密)
10 CheckSum Y 校验和,消息的最末域。(不可加密)

新订单消息

新订单消息(MsgType=D)
对于在消息头中设置了 PossResend 标志的订单消息,应当使用交易客户方订单编号(ClOrdID)核
实是否已收到该订单,具体实现时还应检查订单参数(买卖方向、证券代码、数量等)进行核实。如果 之前收到该订单,应以执行报告消息回应订单状态。如果之前未收到,则以执行报告消息回应订单确认。

Tag 域名 必需 说明
标准消息头 Y MsgType=D
11 ClOrdID Y 交易客户方订单编号,在订单有效交易日内必需
109 ClientID Y 客户资金帐号
1 Account Y 客户交易编码
110 MinQty N 最小成交量。
55 Symbol Y 期货合约代码
167 SecurityType N FUT = 期货
200 MaturityMonthYear N 用于指定期货到期的年和月
205 MaturityDay N 用于期货的到期日期,并被与到期年月 (MaturityMonthYear)联合使用
207 SecurityExchange Y 用于指定交易所
77 OpenClose Y 指明开仓,平仓
8009 HedgeFlag Y 投机套保标志
8010 TouchCondition N 触发条件
54 Side Y 买卖方向
38 OrderQty N 委托手数
60 TransactTime Y 订单发起时间
40 OrdType Y 订单类型
44 Price N 价格(限价订单时有效)
423 PriceType N 价格类型
99 StopPx N 停止价
15 Currency N 币种
59 TimeInForce N 新订单生效时间,默认为当日有效
168 EffectiveTime N 用于指定定单有效的时间
432 ExpireDate N 有条件地用于在生效时间(TimeInForce)=在某 日前有效(GTD),而没有指定截止时间 (ExpireTime)的情况之下
126 ExpireTime N 有条件地用于生效时间(TimeInForce) = 在某 日前有效(GTD)和到期日没有被指定的情况之 下
8096 MacNetInfo N 委托方的机器网络信息
标准消息尾 Y

执行报告消息(MsgType=8)

  • 订单确认
  • 订单状态变化确认(如撤单确认)
  • 发送订单的成交回报
  • 订单拒绝
Tag 域名 必需 说明
标准消息头 Y MsgType=8
37 OrderID Y 期货公司委托号,同个交易日必需保证唯一
11 ClOrdID N 交易客户方订单编号。如果是强平回报,则该值 取值为以”NONE”开头的当天交易日唯一的字符 串标识
41 OrigClOrdID N 原始交易客户方订单编号,指示被撤消订单的 ClOrdID
17 ExecID Y 期货公司的执行编号,在订单有效交易日内应保 证唯一
150 ExecType Y 执行类型
39 OrdStatus Y 订单状态
103 OrdRejReason N 订单拒绝时需要
109 ClientID Y 客户资金帐号
1 Account Y 客户交易编码
55 Symbol Y 期货合约代码
167 SecurityType N FUT=期货
200 MaturityMonthYear N 到期年月
205 MaturityDay N 到期日期
207 SecurityExchange Y 用于指定交易所
77 OpenClose N 指明开仓,平仓
54 Side Y 买卖方向
38 OrderQty Y 委托手数
40 OrdType N 订单类型
44 Price N 订单价格
99 StopPx N 停止价
59 TimeInForce N 新订单生效时间,默认为当日有效
15 Currency N 币种
32 LastShares N 上一成交数(最近一笔成交数量)
31 LastPx N 上一成交价(最近一笔成交价格)
30 LastMkt N 上一成交市场
151 LeavesQty Y 订单剩余数量
14 CumQty Y 成交总数
6 AvgPx Y 成交平均价
60 TransactTime N 执行报告时间
381 GrossTradeAmt N 成交总金额
110 MinQty N 最小成交量
8500 OrderEntryTime N 订单申报时间
8093 DeclarationID N 报单号
8094 TradeID N 撮合编号
标准消息尾 Y

订单状态请求消息(MsgType=H)

订单状态请求用于向交易服务方请求某订单的状态,交易服务方通过执行报告消息返回订单状态。

Tag 域名 必需 说明
标准消息头 Y MsgType=H
37 OrderID Y 期货公司委托号,同个交易日必需保证唯一
11 ClOrdID Y 交易客户方订单编号
109 ClientID Y 客户资金帐号
1 Account Y 客户交易编码
55 Symbol Y 期货合约代码
207 SecurityExchange Y 用于指定交易所
167 SecurityType N FUT=期货
200 MaturityMonthYear N 用于指定期货到期的年和月
205 MaturityDay N 用于期货的到期日期,并被与到期年月 (MaturityMonthYear)联合使用
54 Side Y 买卖方向
标准消息尾 Y

撤单消息(MsgType=F)

撤单消息用以撤消订单的全部订单剩余数量。
撤单消息也被赋予一个 ClOrdID,可视作另外一个订单。如果被拒绝,撤单拒绝消息的 ClOrdID 放置撤单消息的 ClOrdID,而原始订单的 ClOrdID 则放入 OrigClOrdID 域。ClOrdID 要保证唯一。

Tag 域名 必需 说明
标准消息头 Y MsgType=F
41 OrigClOrdID Y 原始交易客户方订单编号,指示被撤消订单的ClOrdID
37 OrderID Y 期货公司委托号,同个交易日必需保证唯一
11 ClOrdID Y 交易客户方订单编号
109 ClientID Y 客户资金帐号
1 Account Y 客户交易编码
55 Symbol Y 期货合约代码。
167 SecurityType N 证券代码源
200 MaturityMonthYear N FUT=期货
205 MaturityDay N 期货到期年月
207 SecurityExchange Y 期货到期日期
54 Side Y 买卖方向
60 TransactTime Y 订单发起时间
40 OrdType Y 订单类型
38 OrderQty Y 委托手数
8093 DeclarationID N 报单号
58 Text N
标准消息尾 Y

撤单拒绝消息(MsgType=9)

本消息用于撤单消息的拒绝。
交易服务方接收到撤单发现无法执行(已成交订单不可更改等),将发送撤单拒绝。
拒绝撤单时,撤单拒绝消息应用 ClOrdID 指示撤单的 ClOrdID,用 OrigClOrdID 指示之前最后接受的订单(除非拒绝原因是“未知订单”)。

Tag 域名 必需 说明
标准消息头 Y MsgType=9
37 OrderID Y 期货公司委托号,同个交易日必需保证唯一
11 ClOrdID Y 交易客户方订单编号
41 OrigClOrdID Y 原始交易客户方订单编号,指示被撤消订单的ClOrdID
39 OrdStatus Y 订单状态
109 ClientID Y 客户资金帐号
1 Account Y 客户交易编码
60 TransactTime N 订单发起时间
434 CxlRejResponseTo N 撤单拒绝回应类型
102 CxlRejReason N 撤单拒绝原因
58 Text N
标准消息尾 Y

FIX配置

会话配置(SESSION)

配置 描述 有效值 默认
BeginString 会话使用的FIX版本号(发送和接收消息起始字符串) FIXT.1.1、FIX.4.4、FIX.4.3、FIX.4.2、FIX.4.1、FIX.4.0
SenderCompID 会话当中定义本方的ID 区分大小写的字符串
SenderSubID 会话相关的本方的子ID号 (可选) 区分大小写的字符串
SenderLocationID 会话相关的本方的locationID号 (可选) 区分大小写的字符串
TargetCompID 本会话当中的对方ID 区分大小写的字符串
TargetSubID 本会话当中的对方SubID (可选) 区分大小写的字符串
TargetLocationID 本会话当中的对方locationID (可选) 区分大小写的字符串
SessionQualifier 附加的限定词,用于消除歧义,保证会话的唯一性 区分大小写的字符串
DefaultApplVerID 仅FIXT1.1(或以上版本)需要。忽略早期版本的传输。指定会话的默认应用程序的版本ID。ApplVerID的枚举值(请看ApplVerID字段详细介绍),或默认BeginString。 FIX.5.0SP2、FIX.5.0SP1、FIX.5.0、FIX.4.4、FIX.4.3、FIX.4.2、FIX.4.1、FIX.4.0
ConnectionType 定义会话当中本方的角色:acceptor或者initiator initiator、acceptor
StartTime 交易日的会话有效开始时间,这时FIX会话被激活 UTC时间,格式: HH:MM:SS
EndTime 交易日的会话失效时间,FIX会话将被停止 UTC时间,格式: HH:MM:SS
StartDay 对于为期一周的会话配置,一周会话开始的第一天。与STARTTIME结合使用。 使用一周中某天的英语任何缩写都是有效的(比如,mo, mon, mond, monda,Monday都是有效的)
EndDay 对于为期一周的会话配置,一周会话结束的最后一天。与EndTime结合使用。 使用一周中某天的英语任何缩写都是有效的(比如,mo, mon, mond, monda,Monday都是有效的)
MillisecondsInTimeStamp 时间戳是否加入毫秒。FIX.4.2和更高版本可用。 Y、N Y
ResetOnLogon 接收登录请求时,序列号是否要复位。只用于Acceptor Y、N N
ResetOnLogout 正常注销登录时,序列号是否要复位 Y、N N
ResetOnDisconnect 连接异常断开后是否要将序列号重置为1 Y、N N
RefreshOnLogon 确定是否应当从持久层登录时恢复会话状态。在创建热故障切换会话时有用。 Y、N N
EnableLastMsgSeqNumProcessed 是否在header中添加最后一条消息的序列号(可选tag369)。 Y、N N
MaxMessagesInResendRequest 设置一次重发请求的消息的最大消息数。 任何大于0的整数。使用0为无穷大(默认)。 0
SendLogoutBeforeDisconnectFromTimeout 指定是否因超时断开连接之前发送logout消息 Y、N N
IgnorePossDupResendRequests 当PossDupFlag(tag 43)设置为true时,是否忽略一次重发请求 Y、N N

验证配置
配置 描述 有效值 默认
|UseDataDictionary 告诉会话是否使用数据字典,或不希望使用数据字典。 如果你要使用repeating group,你必须使用DataDictionary。 |Y、N |Y|
|DataDictionary 该配置只用于比FIXT.1.1还老的版本。详细参考FIXT.1.1的TransportDataDictionary和AppDataDictionary的配置。 FIX44.xml、FIX43.xml、FIX42.xml、FIX41.xml、FIX40.xml
|TransportDataDictionary XML定义文件用于验证传入的管理消息。如果没有提供DataDictionary,只会做基本消息的验证。该配置只用于FIXT.1.1(或更高版本)的会话。 FIXT1.1.xml
|AppDataDictionary 用于验证应用层消息的XML定义文件。仅对FIXT.1.1(或更高版本)的会话有效。更多信息请参考(FIX.4.0到 FIX.4.4)的DataDictionary。该配置可以为每个会话指定一个自定义应用的数据字典。该配置仅用于FIXT.1.1或更新的传输协议。使用FIXT传输时,该配置可以作为指定多个应用的数据字典的前缀。例如: DefaultApplVerID=FIX.4.2 # For default application version ID AppDataDictionary=FIX42.xml # For nondefault application version ID # Use BeginString suffix for app version AppDataDictionary.FIX.4.4=FIX44.xml 有效的XML数据字典文件。QuickFIX/N 配备默认的协议字典数据:FIX50SP2.xml、FIX50SP1.xml、FIX50.xml、FIX44.xml、FIX43.xml、FIX42.xml、FIX41.xml、FIX40.xml
|ValidateFieldsOutOfOrder 如果设置为N,字段放置区域错误(例如,body字段在header区域内,或在header字段在body区域内)将不会被拒绝。用于连接字段要求不严格的系统。 |Y、N |Y|
|ValidateFieldsHaveValues 如果设置为N,没有值的字段将不会被拒绝。用于连接到系统不当发送空标签。 |Y、N |Y|
|ValidateUserDefinedFields 如果设置为N,用户自定义的字段将不会被拒绝,即使没有在数据字典中定义,或没出现在消息中。 |Y、N |Y|

Initiator

配置 描述 有效值 默认
ReconnectInterval 尝试重新连接的时间间隔(秒)。仅用于 initiator。 正整数 30
HeartBtInt 心跳间隔(秒)。仅用于initiator。 正整数 -
LogonTimeout 登录超时时间间隔(秒) 正整数 10
LogoutTimeout 注销登录超时时间间隔(秒) 正整数 2
SocketConnectPort Socket服务端口,用于建立会话。仅用于 initiator 正整数 -
SocketConnectHost 连接主机.仅用于 initiator x.x.x.x格式IP地址或域名 -
SocketConnectPort 一组备用Socket端口,用于连接会话的故障转移,n是正整数。SocketConnectPort1,SocketConnectPort2 … 必须是连续的,并有一个与之相匹配的数组SocketConnectHost 正整数 -
SocketConnectHost 一组备用Socket服务主机,用于连接会话的故障转移,n是正整数。SocketConnectHost1, SocketConnectHost2… 必须是连续的,并有一个与之相匹配的数组SocketConnectPort x.x.x.x格式IP地址或域名 -
SocketNodelay 连接是否禁用Nagle算法。在[DEFAULT]配置节点定义。 Y、N Y
ReconnectInterval 尝试重新连接的时间间隔(秒)。仅用于 initiator。 正整数 30

Acceptor

配置 描述 有效值 默认
SocketAcceptPort 监听接入连接Socket端口。仅用于acceptor 正整数,有效的、开放的套接字端口 -
SocketAcceptHost 监听接入连接的Socket服务的主机。如果不提供,acceptor将监听所有网络端口(0.0.0.0) 有效的x.x.x.x格式IP地址 0.0.0.0
SocketNodelay 连接是否禁用Nagle算法。在[DEFAULT]配置节点定义。 Y、N Y

Storage

配置 描述 有效值 默认
PersistMessages 如果设置为N,被不会保存消息。这样将迫使quickfix总是发送GapFills,而不是重新发送消息。如果你知道你永远不需要重新发送消息,使用此配置。有用的市场数据流。 Y、N Y

File Storage

配置 描述 有效值 默认
FileStorePath 存储序列号和消息的文件目录。 有效的文件存储目录,必须有写入权限。 -

Logging

配置 描述 有效值 默认
FileLogPath 存储日志的目录。 有效的文件存储目录,必须有写入权限。 -
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容