资源描述
股指期货业务基金-期货数据交换接口
(试行版)
中国证券业协会
二〇一一年三月
目 次
编写说明 1
股指期货业务基金-期货数据交换接口 3
1 范围 3
2 规范性引用文件 3
3 术语和定义 3
3.1 新订单 New Order-Single 3
3.2 执行报告 Execution Reports 3
3.3 交易客户方订单编号ClOrdID 3
3.4 期货公司委托号 OrderID 3
3.5 执行编号 ExecID 3
3.6 报单号 DeclarationID 3
3.7 撮合编号 TradeID 3
3.8 客户资金帐号 ClientID 3
3.9 客户交易编码 Account 3
4 通讯方式 4
5 消息格式 4
5.1 数据类型 4
5.1.1 整数int 4
5.1.2 浮点数float 4
5.1.3 单个字符char 4
5.1.4 字符串String 4
5.1.5 数据data 5
5.2 域 5
5.2.1 域的使用 5
5.2.2 自定义域 5
5.2.3 域汉字编码 5
5.2.4 域界定 5
5.2.5 语法 5
5.2.6 重复组 6
6 安全与加密 6
7 数据完整性 6
8 扩展方式 6
8.1 扩展分类 6
8.2 扩展规则 6
8.3 版本管理 7
9 消息定义 7
9.1 消息头 7
9.2 消息尾 8
9.3 应用消息 8
9.3.1 客户登录管理类 8
9.3.2 订单业务类 10
9.3.3 查询业务类 14
9.3.4 行情类 23
9.3.5 交易辅助类 25
10 数据字典 27
11 结算数据文件格式 48
11.1 客户基本资金数据文件 48
11.2 客户出入金记录文件 49
11.3 成交明细文件 49
11.4 持仓数据文件 50
11.5 平仓明细文件 51
11.6 持仓明细文件 51
11.7 交割明细文件 52
附 录 A FIX会话缺口填补方式 54
(资料性附录) 54
附 录 B FIX会话连接场景 55
(资料性附录) 55
B.1 FIX会话登录 55
B.2 注销 56
B.3 重发 56
B.4 重发请求 57
B.5 心跳和测试请求 58
附 录 C 应用场景 60
C.1 新订单场景图 60
C.2 撤单场景图 60
附 录 D 计算校验和 62
(资料性附录) 62
附 录 E FIX会话 62
E.1 FIX会话 62
E.1.1 消息序号 62
E.1.2 心跳 62
E.1.3 缺口填补 62
E.1.4 消息重复发送 62
E.1.5 消息重新发送 62
E.1.6 消息确认 63
E.2 连接 63
E.2.1 登录 63
E.2.1.1 连接 63
E.2.1.2 认证 63
E.2.1.3 初始化 63
E.2.2 消息交换 63
E.2.3 注销 63
E.2.4 消息恢复 64
E.3 FIX会话消息 65
E.3.1 心跳消息(MsgType=0) 65
E.3.2 登录消息(MsgType=A) 66
E.3.3 测试请求消息(MsgType=1) 66
E.3.4 重发请求消息(MsgType=2) 67
E.3.5 会话拒绝消息(MsgType=3) 67
E.3.6 序号重设消息(MsgType=4) 68
E.3.7 注销消息(MsgType=5) 70
编写说明
根据中国证监会关于基金公司参与股指期货业务的有关规定,应基金公司会员要求,中国证券业协会组织编写了《股指期货业务基金-期货数据交换接口》(以下简称《接口》),现将接口编写情况及主要内容说明如下:
一、编写目的
制订本接口主要目的是规范基金管理公司、期货公司、商业银行资产托管部门等机构在股指期货业务中交易、结算数据交换接口格式,提高各方数据交换的一致性、开放性和可扩展性,保障基金管理公司安全稳定的开展股指期货业务。接口实施后将有利于基金管理公司、期货公司减小系统开发的复杂性,避免开发和维护多套数据接口,降低系统互联风险和成本。也有利于证券期货业的信息系统技术接口的开放,为行业营造更加公开、透明的市场环境。
二、编写原则
本《接口》的编制遵循以下原则:
1、与国际金融标准及国内行业标准保持一致。本接口参照了广泛应用于国际证券期货业的金融信息交换协议(FIX),采用FIX消息格式,在基本应用消息上与FIX保持一致,并针对我国股指期货业务进行了扩展,因此能够与境外FIX系统实现对接。同时,本接口也参照了即将应用于国内证券市场的证券数据交换协议(STEP)。股指期货市场与证券市场参照同样的基础协议有利于各类投资系统的对接。
2、充分利用现有的数据接口格式。本接口中交易数据、结算数据接口格式均在深圳证券通信公司、期货保证金监控中心公司、上期技术公司、金仕达公司、恒生公司等机构已开发实施的数据格式基础上进行扩展,不仅有利于兼容市场各参与方现有系统,而且有利于本接口的推广。
3、便于及时扩展和更新。由于股指期货业务在国内刚刚起步,为了使《接口》能及时满足各参与方股指期货业务长期发展的需要,能够方便、灵活地实现各种消息扩展,本接口预留了多项扩展内容,便于今后业务发展需要。
三、编写过程
本接口由深圳证券通信公司执笔,基金管理公司、期货公司、托管银行、期货保证金监控中心以及相关单位专家共同参与编写。经过接口的论证选择、起草编写、征求意见、反复修改、不断完善等多个阶段,反复多次听取监管部门、交易所、基金管理公司、期货公司、商业银行等单位的意见,并与相关技术开发商沟通,各有关方面分别对接口提出了许多宝贵的意见和建议,最终形成了接口试用版,推荐行业使用。
四、主要内容
本接口对股指期货业务中基金与期货间的交易及结算数据接口进行了约定,共11章,主要包含交易接口和结算接口两部分。
交易接口规定了应用环境、消息格式、安全与加密、数据完整性、扩展方式、消息定义、数据字典等内容,定义了6个客户登录管理类消息、5个订单业务类消息、19个查询业务类消息、4个行情类消息以及4个交易辅助类消息等共38个应用消息格式,并对201个数据域进行了描述,其中,自定义消息33个,包括客户登录、修改密码、资金及持仓查询、行情订阅等消息,自定义数据域100个,包括风险度、投机套保标志等。
结算数据接口定义了客户基本资金数据文件、客户出入金记录文件、成交明细文件、持仓数据文件、平仓明细文件、持仓明细文件和交割明细文件等7类文件格式。
五、维护机制
接口由中国证券业协会牵头组织制订和完善。当接口需要变更时,由提出单位向协会反映,协会出面组织接口起草小组成员单位进行讨论,并视讨论结果组织修订。由于接口结算数据接口引用了中国期货保证金监控中心公司发布的《期货保证金安全存管系统对交易结算会员和非结算会员报送数据的要求》,接口将随着《期货保证金安全存管系统对交易结算会员和非结算会员报送数据的要求》的变更同步变更。
本接口试用完善后,中国证券业协会将按照行业标准的报批流程,适时提请全国金融标准化技术委员会证券分技术委员会进行行业标准的审核发布。
股指期货业务基金-期货数据交换接口
1 范围
本接口规定了基金公司参与股指期货业务时,基金公司、托管银行与期货公司之间的交易和结算数据交换接口,其中交易接口规定了应用环境、消息格式、安全与加密、数据完整性、扩展方式、消息定义、数据字典等内容,结算接口采用文件格式,约定了客户基本资金数据文件、出入金记录文件、成交明细文件、持仓数据文件、平仓明细文件、持仓明细文件及交割明细文件等7类文件格式。
本接口适用于基金公司参与股指期货业务中,期货公司与基金公司、托管银行等相关金融机构间的交易及结算数据交换。
2 规范性引用文件
下列文件中的条款通过本接口的引用而成为本接口的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本接口,然而,鼓励根据本接口达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本接口。
GB/T 23696-2009 证券和相关金融工具 交易所和市场识别码。
GB/T 2659-2000 世界各国和地区名称代码。
GB/T 12406-2008 货币和资金的代码。
3 术语和定义
下列术语和定义适用于本接口。
3.1 新订单 New Order-Single
交易客户方新产生的订单。
3.2 执行报告 Execution Reports
交易服务方响应交易客户方的消息,主要用于:订单确认、订单状态变化确认(如撤单确认)、发送订单的成交回报、订单拒绝。
3.3 交易客户方订单编号ClOrdID
由交易客户方赋予的订单编号,在订单有效交易日内应保证唯一。
3.4 期货公司委托号 OrderID
期货公司委托号,同一个交易日内必需保证唯一。
3.5 执行编号 ExecID
期货公司分配的执行编号,在订单有效交易日内应保证唯一,主要用于对应具体执行报告消息。在订单状态应答中,取值为“0”。
3.6 报单号 DeclarationID
交易所分配的报单号。
3.7 撮合编号 TradeID
交易所分配的撮合编号。
3.8 客户资金帐号 ClientID
客户在期货公司开设的资金帐号。
3.9 客户交易编码 Account
交易所为客户分配的交易编码。
4 通讯方式
交易双方可自定选择通讯方式。 FIX会话层消息请参照附录E。
5 消息格式
5.1 数据类型
数据类型用于定义数据域的取值类型,本接口由几个基本的数据类型(整数、浮点数、单字符、字符串、二进制数据块)和在此基础上扩展的数据类型组成。除“data”数据类型外,其他数据类型均以ASCII码字符串表示。
5.1.1 整数int
无逗号和小数位的序号,可表示正负(ASCII码字符‘-’,‘0’至‘9’组成)。符号占据一个字符位置。允许前置字符零(例:“00023”=“23”)。
整数类型的扩展定义:
长度Length:以整数表示字节为单位的数据长度,正数。
重复数NumInGroup:以整数表示重复组的个数,正数。
消息序号SeqNum:以整数表示消息序号,正数。
域号TagNum:以整数表示的域号(或称Tag),正数,首位不能为零。
月日期号day-of-month:以整数表示的月份中第几天,取值1至31。
5.1.2 浮点数float
含有可选的小数部分,可表示正负(ASCII码字符‘-’,‘0’至‘9’和‘.’组成)。最多15位有
效数字。允许前置字符零(例:“00023”=“23”)。允许小数部分后置字符零(例:“23.0”=“23.0000”=“23”)。
浮点数类型的扩展定义:
除非特别声明,浮点数类型均有正负。
量Qty:委托数量等,可以有小数部分。
价格Price:小数位数可变。
价格偏移量PriceOffset:代表价格偏移量的浮点域。
金额Amt:典型的价格与数量相乘结果,如成交金额。
百分比Percentage:小数表示方法:.05代表5%。
number(m,n)(用于结算文件中):m表示所有有效数字的最长位数(不含小数点和正负号),小数位数为n。
5.1.3 单个字符char
指除界定符外所有字母字符和标点字符,区分字母大小写。
字符类型的扩展定义:
布尔Boolean:该域取值于两个字符,(’Y’=True/Yes,’N’=False/No)
5.1.4 字符串String
区分字母大小写。
字符串类型的扩展定义:
多元值字符串MultipleValueString:用空格分隔。
国家Country:参见GB/T 2659-2000。
字符串货币类型Currency::参见GB/T 12406-2008。
交易所或市场编号Exchange:字符串,参见GB/T 23696-2009。
字符串char(n)(用于结算文件中):表示长度不超过n个字节的字符串。
年月日期month-year,格式:
YYYYMM或YYYYMMDD或YYYYMMWW,
YYYY = 0000-9999, MM = 01-12,DD = 01-31,WW = w1,w2,w3,w4,w5。
年月日期date(用于结算文件中),格式:
YYYY-MM-DD
国际标准时时间戳UTCTimestamp,格式:
YYYYMMDD-HH:MM:SS(秒)或
YYYYMMDD-HH:MM:SS.sss(毫秒),
YYYY = 0000-9999, MM = 01-12, DD = 01-31, HH = 00-23, MM = 00-59, SS = 00-60 (秒),sss=000-999 (毫秒)。
国际标准时时间UTCTimeOnly或者time(用于结算文件中),格式:
HH:MM:SS或HH:MM:SS.sss,
HH = 00-23, MM = 00-59, SS = 00-60 (秒),sss=000-999 (毫秒)。
国际标准时日期UTCDate,格式:
YYYYMMDD,YYYY = 0000-9999, MM = 01-12, DD = 01-31。
本地市场日期LocalMktDate,格式:
YYYYMMDD,YYYY = 0000-9999, MM = 01-12, DD = 01-31。
5.1.5 数据data
无格式和内容限制的原始数据,包含长度域和数据域两个部分,数据域数据可以包含数值0x01,长度域指明数据域的字节数。
5.2 域
域是基本的数据元素,每个域有其域号、业务含义和确定的取值范围,域号统一分配给不同的域,是域的区分标志,在消息中,通过域号来确定不同的域。域的数据类型决定了其取值类型,域的取值范围可以是一个集合,任何在此集合外的取值被认为是非法取值。数据字典部分详细定义了所有域的业务定义、数据类型和取值范围。
5.2.1 域的使用
在消息中,域的使用有三种方式:必须的,可选的,条件限制选择(即根据其他相关域的存在与否或取值来决定)。作为一个完整的消息,必须域和条件限制选择域是需要包含的。
5.2.2 自定义域
如本接口中定义的域不够使用时,市场参与者可以扩展定义新的域,即自定义域。
5.2.3 域汉字编码
域取值为汉字时需要使用统一的GBK汉字编码标准。
5.2.4 域界定
消息中所有的域(包含data类型数据域)都有一个分隔符来界定分隔,该分隔符就是不可打印字符ASCII码“SOH”(#001,hex:0x01,本文档中以<SOH>表示)。因此,所有消息以“8=CSIFP.x.y.z<SOH>”字符串开始并以“10=nnn<SOH>”字符串结束。
除data数据类型域外,其他数据域内容都不应包含域界定符<SOH>。
5.2.5 语法
任何消息都严格由多个“域号=值”的基本结构组成,“域号=值”基本结构用域界定符<SOH>分隔。消息组成结构如图1:
图1:消息格式
消息由消息头、消息的正文和消息尾组成。同样,每个组成部分都由一系列“域号=值”组成,并且在遵循以下规则前提下“域号=值”基本结构可以是任意的次序:
a) 开始部分应是消息头,随后是正文,最后是消息尾;
b) 消息头的前3个域的次序不能改变:起始串(Tag =8)、消息体长度(Tag =9)、消息类型(Tag =35);
c) 消息尾的最后一个域应是校验和域(Tag =10);
d) 重复组中,域出现的顺序应遵循该重复组在消息或组件中定义时的次序;
e) 在一条消息中,除重复组域外任何其他域不能重复出现。
5.2.6 重复组
域可以在重复组里多次重复,用以传输数组类的数据。通常域名起始为’No’字符的域指明重复的次数,并位于重复组的开始处。本文档中重复组的定义通过缩进的à符号表示,重复组也可嵌套。使用子重复组时不能省略父重复组。
6 安全与加密
由于消息有可能在公网或不安全的网络上传输交换,因此需要对相关的敏感数据加密处理。
具体加密的方法由连接双方达成的协议而定。
消息内除某些需要公开识别的域以明文传输外其他任何域都可以加密放置密文数据域(SecureData)内。当然,这些被加密的域也可以同时保留明文的表示方式。
当决定使用加密方案时,可以对消息正文内所有的域加密。如果消息的重复组内有部分需要加密的,那么要求对整个重复组加密。
本协议还提供的一些域用以支持数字签名、密钥交换和正文加密等安全技术。
正文加密方案有三种:
a) 将安全敏感的域加密后移至SecureData域。
b) 将所有允许加密的域加密后移至SecureData域。
c) 将所有允许加密的域加密后移至SecureData域,同时这些域以明文在消息中重复出现。
7 数据完整性
数据的完整性通过两个方法保证:消息体长度和校验和的验证。
消息体长度是以BodyLength域来表示,其值是计算出的消息长度域后面的字符数,包含紧靠校验和域标志‘10=’之前的界定符SOH。
校验和是把每个字符的二进制值从消息开头‘8=’中的‘8’开始相加,一直加到紧靠在校验和域‘10=’之前的域界定符,然后取按256取模得到的结果。
校验和域位于消息的最末一个,校验和的计算是在加密之后进行的。计算校验和的代码段可参考附录D计算校验和。
8 扩展方式
8.1 扩展分类
扩展分为两个部分:消息定义扩展和域定义扩展。
消息定义扩展可以通过新增消息类型来实现,但尽量在已有消息中通过域定义或取值扩展来定义新业务。已有消息所代表的业务在扩展时不能改变。
域定义扩展可以通过新增域来实现,但尽量通过扩展域值来扩展域的定义。消息中已定义的必须的域不能取消定义,也不能改变成可选域。
8.2 扩展规则
自定义消息的消息类型值首字符为‘UF’。其他类型的消息由全国金融标准化技术委员会根据国际相关标准的变化统一定义并发布。对于尚未发布的扩展消息,将以参考文件《股指期货业务基金期货间数据交换接口_扩充消息参考指引》的形式发布。
消息的模块顺序在扩展定义时不能改变,即保持消息头、消息体和消息尾的顺序。而模块的内部,域和重复组的顺序是可以变化的。
消息头的头三个域的定义和位置不能改变,但可以扩展增加消息头的可选域。
消息尾最后一个域的定义和位置不能改变,但可以扩展增加消息尾的可选域。
8.3 版本管理
本协议的版本管理权属于中国证券业协会。
版本号格式为X.Y.Z,版本号从1.0.0起始,当新版本完全兼容上一版本时只改变版本号中的Z。
本协议当前版本的版本号为1.0.0。
9 消息定义
9.1 消息头
每一个会话或应用消息有一个消息头,该消息头指明消息类型、消息体长度、发送目的地、消息序号、发送起始点和发送时间。
其中有两个域用于消息重发。使用FIX会话时对于会话级的事件而重复发送消息时将可能重复发送标志(PossDupFlag)设置为Y(发送时用原来的消息序号)。当重新发送时使用新的消息序号时将可能重新发送标志(PossResend)设置为Y,接受者应按以下方法处理上述消息:
可能重复发送:如果带有该消息序号的消息在以前曾经接受过,则忽略消息,如果未曾收到过,则按正常步骤处理。(支持FIX会话层需要)
可能重新发送:将消息传递给应用层以确定此前是否收到该消息(通过检查订单编号或相关参数)。
消息头格式见表1:
表1 消息头
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表示时间)
9.2 消息尾
每一个消息(会话或应用消息)有一个消息尾,并以此终止。消息尾可用于分隔多个消息,包含有3位数的校验和值。
消息尾格式见表2:
表2 消息尾
Tag
域名
必需
说明
93
SignatureLength
N
数字签名长度(不可加密)
89
Signature
N
数字签名(不可加密)
10
CheckSum
Y
校验和,消息的最末域。(不可加密)
9.3 应用消息
9.3.1 客户登录管理类
客户登录类消息主要是支持客户登录、登出和其他客户管理的等消息。交易双方可根据自身业务需要选择是否支持登录、登出等交易。
9.3.1.1 客户登录请求(MsgType=UF001)
在会话层连接建立以后,客户请求登录期货公司的系统。
客户登录请求(User Logon Request)的格式见表3:
表3 客户登录请求(User Logon Request)
Tag
域名
必需
说明
标准消息头
Y
MsgType=UF001
8088
RequestID
Y
客户方请求编号,在同一个交易日内必需唯一
109
ClientID
Y
客户资金帐号
98
EncryptMethod
Y
加密方法(不可加密)
8001
LogonPasswd
Y
交易密码
95
RawDataLength
N
无格式数据长度,用于认证
96
RawData
N
无格式数据,用于认证(可用于表示密钥)
8096
MacNetInfo
N
客户方机器网络信息
8103
ClientSoftName
N
客户方的软件客户端名称
8104
ClientSoftVersion
N
客户方的软件客户端版本
标准消息尾
Y
9.3.1.2 客户登录应答(MsgType=UF002)
客户请求登录期货公司的系统后,期货公司返回的应答。
客户登录应答(User Logon Response)的格式见表4:
表4 客户登录应答(User Logon Response)
Tag
域名
必需
说明
标准消息头
Y
MsgType=UF002
8088
RequestID
Y
客户方请求编号,在同一个交易日内必需唯一
109
ClientID
Y
客户资金帐号
8002
LogonStatus
Y
登录状态
8003
AccountName
N
客户名称
8004
RiskLevel
N
客户风险度
8005
AdditionalMargin
N
追加保证金
8006
ClientSecuType
N
客户安全类别
8011
Riskratio
N
客户风险率
8007
LastLogonIP
N
上次登录IP
8008
LastLogonTime
N
上次登录日期和时间
58
Text
N
标准消息尾
Y
9.3.1.3 客户登出请求(MsgType=UF003)
在业务时间结束以后,客户请求登出期货公司的系统。
客户登出请求(User Logout Request)的格式见表5:
表5 客户登出请求(User Logout Request)
Tag
域名
必需
说明
标准消息头
Y
MsgType=UF003
8088
RequestID
Y
客户方请求编号,在同一个交易日内必需唯一
109
ClientID
Y
客户资金帐号
标准消息尾
Y
9.3.1.4 客户登出应答(MsgType=UF004)
期货公司对客户请求登出系统的应答。
客户登出应答(User Logout Response)的格式见表6:
表6 客户登出应答(User Logout Response)
Tag
域名
必需
说明
标准消息头
Y
MsgType=UF004
8088
RequestID
Y
客户方请求编号,在同一个交易日内必需唯一
109
ClientID
Y
客户资金帐号
8002
LogonStatus
Y
登录状态
58
Text
N
标准消息尾
Y
9.3.1.5 客户修改密码请求(MsgType=UF005)
客户请求修改密码。
客户修改密码请求(User Change PassWd Request)的格式见表7:
表7 客户修改密码请求(User Change PassWd Request)
Tag
域名
必需
说明
标准消息头
Y
MsgType=UF005
8088
RequestID
Y
客户方请求编号,在同一个交易日内必需唯一
109
ClientID
Y
客户资金帐号
8089
PassWdType
Y
密码类型
8090
OldPassWd
Y
客户旧的密码
8091
NewPassWd
Y
客户新的密码
58
Text
N
标准消息尾
Y
9.3.1.6 客户修改密码应答(MsgType=UF006)
期货公司对客户请求修改密码的应答。
客户修改密码应答(User Change PassWd Response)的格式见表8:
表8 客户修改密码应答(User Change PassWd Response)
Tag
域名
必需
说明
标准消息头
Y
MsgType=UF006
8088
RequestID
Y
客户方请求编号,在同一个交易日内必需唯一
109
ClientID
Y
客户资金帐号
8070
ChangePWResult
Y
修改密码结果
58
Text
N
标准消息尾
Y
9.3.2 订单业务类
订单业务类消息主要是支持日常实时交易消息。
9.3.2.1 新订单消息(MsgType=D)
对于在消息头中设置了PossResend标志的订单消息,应当使用交易客户方订单编号(ClOrdID)核实是否已收到该订单,具体实现时还应检查订单参数(买卖方向、证券代码、数量等)进行核实。如果之前收到该订单,应以执行报告消息回应订单状态。如果之前未收到,则以执行报告消息回应订单确认。
TransactTime域指示订单发起时间,可结合业务规则来判断收到的订单是否已过期。
新订单消息(New Order-Single)的格式见表9:
表9 新订单(New Order-Single)
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
委托方的机器网络信息
58
Text
N
标准消息尾
Y
9.3.2.2 执行报告消息(MsgType=8)
执行报告消息可用于:
a) 订单确认
b) 订单状态变化确认(如撤单确认)
c) 发送订单的成交回报
d) 订单拒绝
每个执行报告中都包含两个域:OrdStatus,订单状态;ExecType,执行类型。
OrdStatus用以报告订单当前状态。
ExecType域用以标识执行报告的执行类型。执行报告中ExecType和OrdStatus共同指示了订单状态的改变。
执行信息(如已成交或部分成交)与其它状态变化信息(如待撤消、已撤消、已接受、当天完成)不能在一个执行报告中同时传递。
撤单在订单有剩余数量时才有效。
一般性公式为:订单手数OrderQty = 累计执行数量CumQty + 订单剩余数量LeavesQty
公式的例外情况:如果ExecType和/或OrdStatus为已撤消、当天完成、已过期、已计算、已拒绝,则订单不处于活跃状态,LeavesQty为0。
ClOrdID提供给交易客户方进行订单标识,在其内部系统中唯一。域OrderID则是由期货公司生成的委托号。在撤单中,ClOrdID/OrigClOrdID需要形成链接。
支持强平推送消息,并置OpenClose为”Q”。
对于不支持返回成交平均价的柜台,可将成交平均价置为0.
执行报告消息(Execution Report)的格式见表10:
表10 执行报告消息(Execution Report)
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
9.3.2.3 订单状态请求消息(MsgType=H)
订单状态请求用于向交易服务方请求某订单的状态,交易服务方通过执行报告消息返回订单状态。
订单状态请求消息的格式见表11:
表11 订单状态请求消息(Order Status Re
展开阅读全文