fix1金融交易协议总结
- 格式:docx
- 大小:249.94 KB
- 文档页数:9
fix协议 resend(原创实用版)目录1.Fix 协议概述2.Resend 的作用和原理3.Fix 协议和 Resend 在实际应用中的重要性正文1.Fix 协议概述Fix(Financial Information eXchange)协议是一种用于金融信息交换的行业标准协议,主要用于在各种金融机构和交易系统之间进行实时数据传输。
Fix 协议起源于 20 世纪 90 年代,为了满足全球金融市场对于数据传输速度、可靠性和标准化的需求。
如今,Fix 协议已经成为金融行业内最广泛使用的数据传输协议之一。
2.Resend 的作用和原理Resend 是 Fix 协议中的一种机制,用于在数据传输过程中解决消息丢失或损坏的问题。
当接收方发现接收到的数据包有错误或者丢失时,可以通过 Resend 机制请求发送方重新发送相应的数据。
这样,可以确保接收方能够收到完整、准确的数据,从而保证金融交易的顺利进行。
Resend 机制的原理是,接收方在发现数据错误或丢失时,会向发送方发送一个 Resend 请求,指定需要重新发送的数据包的序列号。
发送方收到请求后,会根据指定的序列号重新发送相应的数据包。
这样,接收方可以根据重新接收到的数据包,更新本地的数据库,确保数据的完整性和准确性。
3.Fix 协议和 Resend 在实际应用中的重要性Fix 协议和 Resend 机制在实际应用中具有重要意义。
首先,Fix 协议通过标准化数据传输格式和协议,降低了金融机构之间数据传输的成本和复杂度。
同时,Fix 协议支持多种数据传输方式,如卫星、网络等,提高了数据传输的灵活性和可靠性。
其次,Resend 机制可以有效地解决数据传输过程中的错误和丢失问题,确保金融交易的安全和准确。
综上所述,Fix 协议和 Resend 机制在金融信息交换中具有重要作用。
fix协议FIX(Financial Information eXchange)协议是一个用于在金融领域进行电子交易的标准协议。
它定义了一组消息格式和规则,使得不同金融系统之间能够互相通信和交换信息。
然而,随着金融市场的不断发展和技术的进步,原有的FIX协议面临着一些问题和挑战。
为了解决这些问题并推动FIX协议的发展,有必要对其进行修订和改进。
首先,FIX协议在传输效率方面存在一些问题。
由于FIX消息的长度较长,并且包含了大量的冗余信息,因此传输效率较低。
为了提高效率,可以考虑采用压缩算法对消息进行压缩,减小传输数据量。
另外,也可以通过引入更高效的网络传输技术,如UDP(User Datagram Protocol)协议,来提升FIX消息的传输速度。
其次,FIX协议在消息处理和解析方面存在一些困难。
由于FIX消息的结构复杂且灵活,解析和处理起来相对复杂。
为了简化消息处理过程,可以引入一些自动化工具和技术,如XML(eXtensible Markup Language)或JSON(JavaScript Object Notation)等,来帮助解析和处理FIX消息。
这样可以减少开发人员的工作量,提高开发效率。
另外,FIX协议存在一些安全性方面的问题。
由于FIX协议是以明文传输的,所以存在信息泄漏的风险。
为了增强安全性,可以考虑引入加密技术,如SSL(Secure Socket Layer)或TLS(Transport Layer Security)等,对FIX消息进行加密,防止信息被非法获取。
此外,也可以加强身份验证机制,确保只有经过授权的用户才能访问和使用FIX协议。
最后,FIX协议需要更好地适应多样化的交易需求。
金融市场的竞争日益激烈,交易产品和策略也日趋复杂多样。
为了满足不同交易需求,FIX协议需要提供更加灵活和可扩展的消息格式和规则。
可以考虑引入自定义消息字段、交易类型等机制,允许用户根据自身需求对协议进行定制和扩展。
fix协议例子Fix协议是一种针对金融市场的电子通信协议,用于在交易中传输订单和执行报告等信息。
Fix协议的设计目标是提供高效、安全且可靠的交易通信。
下面是关于Fix协议的一些示例:1. Fix协议的基本结构:Fix协议使用ASCII文本格式进行通信,以消息为单位进行交互。
每个消息由消息类型标识、消息体和校验和组成。
2. Fix协议的消息类型:Fix协议定义了多种消息类型,包括订单提交、订单确认、执行报告等。
每个消息类型都有特定的消息格式和字段要求。
3. Fix协议的字段:Fix协议使用字段来传输数据,每个字段都有唯一的标识符和数据类型。
例如,订单的字段可能包括股票代码、买卖方向、数量等。
4. Fix协议的版本:Fix协议有多个版本,每个版本有特定的规范和协议要求。
不同的交易所和金融机构可以根据自己的需求选择适合的版本。
5. Fix协议的数据字典:Fix协议使用数据字典来定义消息和字段。
数据字典包含了所有消息和字段的详细说明,以及各个字段的取值范围和数据类型。
6. Fix协议的会话管理:Fix协议支持会话管理,包括建立连接、维护连接和断开连接等操作。
会话管理可以确保交易的顺利进行。
7. Fix协议的错误处理:Fix协议定义了多种错误代码和错误消息,用于处理交易过程中可能出现的问题。
交易系统可以根据错误代码和错误消息来识别和处理错误情况。
8. Fix协议的安全性:Fix协议支持数据加密和身份验证等安全机制,以保护交易数据的机密性和完整性。
交易系统可以根据需要选择适当的安全机制。
9. Fix协议的扩展性:Fix协议支持自定义消息和字段的扩展,以满足特定交易需求。
交易系统可以根据自己的需求定义新的消息和字段。
10. Fix协议的应用范围:Fix协议广泛应用于股票、期货、外汇等金融市场的交易系统。
许多交易所和金融机构都使用Fix协议来进行电子交易。
总结一下,Fix协议是一种用于金融市场交易的电子通信协议,它定义了消息类型、字段和规范要求。
金融交易安全协议书1. 背景本协议旨在确保金融交易的安全性,保障交易双方的权益和利益。
在进行金融交易前,双方应达成一致并遵守本协议的约定。
2. 定义- 交易方:指参与金融交易的各方,包括买方和卖方。
- 金融交易:指涉及金融资产、金融工具或金融产品的买卖、转让、交换等行为。
3. 安全保障措施3.1 身份验证交易双方在进行金融交易前,应进行身份验证,确保对方的合法身份及交易资格。
具体的身份验证方式可根据双方协商确定。
3.2 信息保护交易双方应采取必要的措施,保护交易过程中的信息安全。
双方不得泄露、篡改、非法获取对方交易相关的任何信息。
3.3 交易清算交易双方应选择有信誉和可靠的金融机构或第三方机构作为交易的清算中心。
清算中心应有完善的系统和措施,确保交易的有效结算和资金安全。
3.4 争议解决如发生交易纠纷,交易双方应通过协商和友好方式解决。
若协商不成,双方可选择采取诉讼、仲裁等方式解决争议,具体解决方式可根据双方协商确定。
3.5 法律适用对于金融交易中的相关事项,适用本国法律和相关法规。
如涉及双方不同国家的法律,应根据国际通行的法律原则进行解决。
4. 其他条款4.1 本协议的适用性本协议适用于任何类型的金融交易,无论是线上还是线下进行。
双方应在交易前明确达成协议且确认同意遵守本协议的所有条款。
4.2 协议的变更和解除任何一方希望变更或解除本协议的,应提前书面通知对方,并经过双方协商一致后方可生效。
4.3 协议的效力本协议自双方在协议上签字之日起生效,对双方具有法律约束力。
4.4 合作精神交易双方应本着诚信、公平和互利的原则进行合作,共同维护金融交易的安全与稳定。
5. 免责声明本协议不承担由于金融市场、法律法规变化等原因所导致的交易风险和责任。
以上为金融交易安全协议书的内容,双方应在交易前进行充分阅读和理解,并保留各自的副本作为有效文件备案。
金融信息交换协议(FIX)随着网络的使用,目前所有大型的金融机构都已经实现了自动化和数字化。
当中肯定少不了互联网的加入,那么在这当中,我们主要介绍一下FIX协议。
它是由国际FIX协会组织提供的一个开放式协议,目的是推动国际贸易电子化的进程,在各类参与者之间,包括投资经理、经纪人,买方、卖方建立起实时的电子化通讯协议。
Fix协议的目标是把各类证券金融业务需求流程格式化,使之成为一个个可用计算机语言描述的功能流程,并在每个业务功能接口上统一交换格式,方便各个功能模块的连接。
FIX协议结构当前,FIX协议的格式存在着两种结构:'标记(Tag)〉=〈值(Value)'域结构和FIXML 结构。
下面针对域结构模式对FIX协议的组成,连接建立、信息交换方法等进行简要说明,以便于了解FIX协议的概念。
FIX信息格式(1) 信息格式一条FIX协议信息的基本格式是:《标准头》《信息正文域》《标准尾》每条信息都是由一系列带有〈标记(T ag)〉=〈值(Value)〉的域组成的。
在每个域之间通过'< >'分开。
除了一些特殊规定外,信息中的域可按照任意顺序排列。
所有域在都以'定界符'(#001;0x01H,文档中写为<SOH>)表示终止。
(2) 标准的信息标题每条命令或应用信息都有一个标准的标题。
标题表明了信息类型、长席、目的地、序号、起始点和时间。
(3) 标准的信息尾部所有的信息,无论是命令类的,还是应用类的,以一个标准结尾终止。
尾部被用来把信息分离,并包括含有3位数的'检验和'值。
(4) 数据类型各域所使用的数据类型包括以下几种:整数、浮点数、布尔数、字符串、多元值串、货币、交易所字符串域、国际标准时时间戳、国际标准时时间、本地市场日期等。
(5) 数据完整性信息数据内容是否完整可以通过'检查信息长度'和字符的简单'检验和'两个方法进行检查。
Financial Information Exchange (FIX)介绍目录1 背景 (2)1.1 FIX协议不同版本[1,2] (5)1.2 FIXatdl (6)2 FIX协议工作流程 (9)2.1 会话层 (9)2.2 应用层 (11)3 FIX协议结构[2] (12)3.1 信息传送过程 (12)3.2 信息格式和内容 (13)3.2.1 管理信息 (13)3.2.2 应用信息 (13)4 国内FIX现状 (16)4.1 证券交易数据交换协议-STEP[4,5,6] (16)4.1.1 制定背景............................................................................错误!未定义书签。
4.2 券商 (21)4.2.1 国信[3] (21)5 参考文献 (22)1背景Financial Information eXchange(FIX)金融信息交换协议是适用于实时证券、金融电子交易开发的数据通信协议。
它是由FPL提供的—个开放式协议,目的是推动国际贸易电子化的进程,在各类参与者之间,包括投资经理、经纪人,买方、卖力建立起实时的电子化通信协议。
FIX协议的目标是把各类证券金融业务需求流程格式化,使之成为—个可用计算机语言描述的功能流程,并在每个业务功能接口上统—交换格式,方便各个功能模块的连接。
目前,欧、美主要发达国家都是FIX协会的成员。
FIX的制定是由多个致力于提升其相互间交易流程效率的金融机构和经纪商于1992年共同发起。
这些企业把他们及他们的行业视为一个整体,认为能够从对交易指示,交易指令及交易执行的高效电子数据交换的驱动中获利。
FIX由此诞生,一个不受单一实体控制的开放消息标准,一个能够被调整组建适用于任何一个企业的商务需求的协议。
FPL(FIX Protocol Limited , FIX 协议组织)是一家非营利性交易协会,专门免费发布为电子证券交易设立的公开的通信标准。
Financial Information Exchange (FIX)介绍目录1 背景 (2)1.1 FIX协议不同版本[1,2] (4)1.2 FIXatdl (5)2 FIX协议工作流程 (7)2.1 会话层 (7)2.2 应用层 (8)3 FIX协议结构[2] (9)3.1 信息传送过程 (9)3.2 信息格式和内容 (9)3.2.1 管理信息 (9)3.2.2 应用信息 (10)4 国内FIX现状 (11)4.1 证券交易数据交换协议-STEP[4,5,6] (11)4.1.1 制定背景............................................................................错误!未定义书签。
4.2 券商 (15)4.2.1 国信[3] (15)5 参考文献 (15)1背景Financial Information eXchange(FIX)金融信息交换协议是适用于实时证券、金融电子交易开发的数据通信协议。
它是由FPL提供的—个开放式协议,目的是推动国际贸易电子化的进程,在各类参与者之间,包括投资经理、经纪人,买方、卖力建立起实时的电子化通信协议。
FIX协议的目标是把各类证券金融业务需求流程格式化,使之成为—个可用计算机语言描述的功能流程,并在每个业务功能接口上统—交换格式,方便各个功能模块的连接。
目前,欧、美主要发达国家都是FIX协会的成员。
FIX的制定是由多个致力于提升其相互间交易流程效率的金融机构和经纪商于1992年共同发起。
这些企业把他们及他们的行业视为一个整体,认为能够从对交易指示,交易指令及交易执行的高效电子数据交换的驱动中获利。
FIX由此诞生,一个不受单一实体控制的开放消息标准,一个能够被调整组建适用于任何一个企业的商务需求的协议。
FPL(FIX Protocol Limited , FIX 协议组织)是一家非营利性交易协会,专门免费发布为电子证券交易设立的公开的通信标准。
Fix协议的通信过程我们主要介绍了Fix协议的一些主要通信方式。
那么,从层面上分,Fix协议可以分为会话层协议和业务层协议。
那么具体的内容还请大家浏览下文。
网络的最大好处就是节省了时间。
尤其是在商业活动方面,更是有着突出的优势。
随着网络的不断演化,我们要求网络的也就更多,慢慢地构建网络的协议也就越发复杂。
现在我们就来介绍一下Fix协议。
Fix协议可以分两大部分,会话层协议和业务层协议。
会话层定义了数据通信相关的协议,业务层定义了金融活动相关的业务数据结构。
Fix的会话层设计时候充分考虑了稳定性,安全性,健壮性,高效性。
稳定性指会话协议中定义了心跳消息来维护会话连接,安全性指协议从消息结构上支持数据加密,出错重传指每个会话在两个端点各自维护一套消息序列号,防止消息丢失,漏发漏收,出现这种情况只要检查两边序列号的连续性就可以确定需要重传哪些消息。
session的通信各方维护一个incomming和一个outgoing 序列号。
Incomming 序列号用来检测序列号是否乱序或跨越。
心跳在 initiator 发送 logon 消息时候设置在心跳域上, acceptor 和 initiator 的心跳间隔时间一致。
Fix消息要按序列号从小到大顺序处理,若收发过程中出现丢包则有两种策略:重传序列号出错的包及以后所有收到得包;另一种是只重传出错的包; Fix协议没有定义应答消息,使用序列号不连贯来检测消息丢失,用 checksum,签名或消息体长度来检测消息错误;Logon阶段,客户端选择了了一个加密密钥,但服务器选择了不同的密钥放在返回的logon消息中,这时候客户端还得发一个logon消息应答服务器端,两个作用:1). 让服务器知道密钥变更获得了客户端的响应;2). 下面的消息开始要加密了在 logon 阶段完成后必须马上检查序列号,同步收发的消息,比如一端发送了消息但另一端没收到,这时候需要重传。
fix协议的connectiontype
根据您的问题,我理解您想要更正“Fix协议”的ConnectionType。
根据常见的金融业务定义,FIX协议(Financial Information eXchange)是一种用于实时交流金融市场数据和交易指令的协议。
它是一个基于文本的协议,用于在金融机构之间进行电子交易。
与FIX协议相关的ConnectionType类型可以根据不同的场景
和需求进行定义,以下是一些常见的ConnectionType类型:
1. Initiate:表示连接发起方,通常由客户端发起与服务器端之
间的连接。
2. Accept:表示连接接受方,通常是服务器端接受来自客户端
的连接请求。
3. Connect:表示连接建立,表示连接已经成功建立。
4. Disconnect:表示连接断开,表示之前连接的一方断开了与
另一方的连接。
当然,FIX协议的ConnectionType还可以根据具体的业务需求进行扩展和自定义,以适配不同的应用场景。
总之,根据您的需求,您可以根据这些常见的ConnectionType 类型进行定义和使用,以满足您对FIX协议连接类型的要求。
IMIX协议分析1. IMIX Protocol简介IMIX协议全称银行间市场信息交换协议(Inter-bank Market Information eXchange Protocol),用于银行间本币市场和外汇市场的金融信息的传输。
IMIX协议基于FIX协议制定。
FIX协议全称金融信息交换协议(Financial Information Exchange Protocol),是被国际金融界广泛使用的行业标准。
FIX协议基于Tag/Value格式制定,提供覆盖交易前、中、后的全面的业务层消息和易用、强壮的Session层消息。
IMIX消息继承了FIX消息的易用性,并根据国内金融市场的特点进行针对化的定制,对FIX协议进行扩充、优化,形成了适用于国内金融市场的独特的协议。
同FIX协议一样,IMIX协议提供了覆盖国内银行间市场的交易前、中、后的业务层消息和强壮的Session层消息,为银行间市场金融数据的交互提供了便捷的通道。
2. Milestone2004年9月:项目调研2004年10月-12月:立项2005年1月至2005年12月:翻译FIX4.4,形成《银行间市场业务数据交换协议》初稿2006年1月至2006年12月:完善修改《银行间市场业务数据交换协议》初稿2007年1月至2007年12月:根据银行间市场特点,进一步完善修改《银行间市场业务数据交换协议》基础上形成意见征求稿,并报金标委。
2008年12月,完成外汇CSTP内容协议定义2008年12月,完成外汇CMDS内容协议定义2009年5月,完成CDC接口系统协议定义2009年1月,完成外汇清算会员和保证金结算行系统协议定义2009年5月,完成本币基准和本币Shibor系统协议定义2009年6月,完成本币CSTP和本币CMDS系统协议定义2009年7月,完成本币交易系统协议定义2010年10月,完成外汇清算所协议定义2010年11月,本币清算所协议制定中2011年,将继续扩大协议的应用范围,如增值服务等3. IMIX应用业务领域IMIX协议依据中国银行间本币和外汇市场的业务需求编制,目前覆盖了中国银行间本币和外汇市场的报价、交易、清算等领域。
fix协议标准FIX协议标准是一个金融行业使用的电子通信协议,用于在金融交易中传递信息。
它是一种纯文本协议,主要用于股票、债券、外汇等金融产品的电子交易。
FIX协议标准的主要目的是提供一种标准的格式和规范,以便不同的金融系统之间能够无缝地进行通信和交互。
FIX协议标准定义了一套消息格式和协议规则,以确保不同商业伙伴之间的信息传递一致和可靠。
以下是FIX协议标准的一些主要内容和参考:1. 消息格式:FIX协议标准定义了不同类型的消息,如订单、执行报告、市场数据等。
每种消息都有其特定的字段和值,以表示相关的信息。
例如,订单消息可能包括订单数量、买卖方向、交易所代码等字段。
参考中可提供一些常用的消息和其字段的示例。
2. 协议规则:FIX协议标准规定了消息的发送和接收规则。
例如,每个消息都必须包含标准的头部和尾部信息,并使用特定的开始标记和结束标记。
参考中可以提供一些常用的消息规则和示例。
3. 字段字典:FIX协议标准定义了一套固定的字段字典,用于表示不同类型的信息。
每个字段都有一个唯一的标识符和名称,以及数据类型和定义。
参考中可以提供一些常用字段和其定义的示例。
4. 会话管理:FIX协议标准提供了一套会话管理机制,用于建立和维护通信的会话。
会话管理包括建立连接、心跳消息、序列号管理等。
参考中可以提供一些会话管理的流程和示例。
5. 错误处理:FIX协议标准规定了错误处理的机制,用于处理消息解析错误、数据格式错误等。
参考中可以提供一些常见的错误处理方法和示例。
6. 扩展和自定义:FIX协议标准允许用户根据自身需求进行扩展和定制。
参考中可以提供一些扩展和自定义的实例和指导。
总之,FIX协议标准是金融行业中广泛使用的电子通信协议,为金融系统之间的通信和交互提供了一种标准化的方式。
了解FIX协议标准的相关内容和参考,可以帮助开发人员和金融从业者更好地理解和应用这一协议,以提高系统之间的互操作性和可靠性。
fix协议标准FIX协议标准(Financial Information eXchange Protocol)是一种用于金融交易通信的行业标准。
它旨在提供高效、可靠的通信,适用于不同金融机构之间的交易。
FIX协议标准是由FIX协议委员会制定和维护的。
该委员会是一个由各种金融机构代表组成的国际组织,包括投资银行、券商、交易所和资产管理公司等。
FIX协议标准的目标之一是促进不同金融机构之间的互操作性。
通过使用统一的通信协议和消息格式,不同的交易所、经纪商和参与者可以更轻松地连接和交换信息。
这有助于提高交易效率和减少操作风险。
为了实现这一目标,FIX协议标准包括了一系列的规范和指导。
它定义了消息格式、数据字段、错误处理和可选功能等。
所有使用FIX协议进行通信的系统和应用程序都需要遵守这些规范。
FIX协议标准在金融业务领域有广泛的应用。
它被用于各种交易情境,包括证券交易、外汇交易、期货合约等。
通过使用FIX协议标准,金融机构可以更快地发送和接收交易信息,提高交易速度和精确度。
然而,随着金融业务的发展和创新,FIX协议标准也在不断更新和扩展。
最新版本的FIX协议标准包括了对新的交易类型和产品的支持,以及更强大的安全性和性能。
为了确保FIX协议标准的准确性和一致性,FIX协议委员会定期进行更新和改进。
它通过讨论、投票和技术讨论等方式,收集和整合来自金融机构和技术专家的反馈意见。
这样可以确保FIX协议标准及时地适应行业的变化和需求。
总之,FIX协议标准是金融交易中的重要组成部分。
它通过提供统一的通信规范,促进了金融机构之间的互操作性和信息交流。
随着金融业务的发展,FIX协议标准也在不断发展和改进,以满足金融机构的需求。
通过遵守FIX协议标准,金融机构可以更快、更准确地进行交易,提高交易效率和降低操作风险。
20XX 专业合同封面COUNTRACT COVER甲方:XXX乙方:XXXFXBIB外汇交易协议范本2024版本合同目录一览1. 总则1.1 定义1.2 解释1.3 适用法律2. 交易双方2.1 甲方信息2.2 乙方信息3. 交易内容3.1 交易品种3.2 交易金额3.3 交易杠杆4. 交易时间4.1 交易开盘时间4.2 交易收盘时间5. 交易方式5.1 网上交易5.2 电话交易6. 风险管理6.1 止损设置6.2 止盈设置6.3 仓位控制7. 手续费7.1 手续费标准7.2 手续费计算方式8. 利润分配8.1 利润计算方式8.2 利润分配比例9. 违约责任9.1 违约定义9.2 违约处理方式10. 争议解决10.1 争议解决方式10.2 仲裁机构11. 合同的生效、变更和终止11.1 合同生效条件11.2 合同变更方式11.3 合同终止条件12. 保密条款12.1 保密内容12.2 保密期限13. 不可抗力13.1 不可抗力定义13.2 不可抗力处理方式14. 其他条款14.1 通知方式14.2 合同的副本第一部分:合同如下:1. 总则1.1 定义为本合同所述,“甲方”是指(填写甲方全称),乙方是指(填写乙方全称)。
1.2 解释本合同中的术语和定义如有歧义,应根据通常的理解和行业惯例进行解释。
本合同中的仅为方便阅读,不影响对本合同任何条款的理解和解释。
1.3 适用法律本合同的签订、效力、解释、履行和争议的解决均适用(填写国家或地区)的法律。
2. 交易双方2.1 甲方信息甲方的全称为(填写甲方全称),甲方的注册地址为(填写甲方注册地址),甲方的联系人为(填写甲方联系人),甲方的联系方式为(填写甲方联系方式)。
2.2 乙方信息乙方的全称为(填写乙方全称),乙方的注册地址为(填写乙方注册地址),乙方的联系人为(填写乙方联系人),乙方的联系方式为(填写乙方联系方式)。
3. 交易内容3.1 交易品种甲乙双方同意进行(填写交易品种,如:欧元兑美元、日元兑人民币等)交易。
FIX通信协议及应用
边志辉
【期刊名称】《山东通信技术》
【年(卷),期】2002(022)002
【摘要】@@ 1引言rn金融信息交换协议(FIX, Financial Information ex-change)协议是适用于实时证券、金融电子交易开发的数据通信标准.它是由国际FIX协会组织提供的一个开放式协议,目的是推动国际贸易电子化的进程,在各类参与者之间,包括投资经理、经纪人,买方、卖方建立起实时的电子化通讯协议.FIX协议的目标是把各类证券金融业务需求流程格式化,使之成为一个个可用计算机语言描述的功能流程,并在每个业务功能接口上统一交换格式,方便各个功能模块的连接.【总页数】2页(P37-38)
【作者】边志辉
【作者单位】大鹏证券有限责任公司信息技术部,深圳,518031
【正文语种】中文
【中图分类】TN915
【相关文献】
S通信协议及其应用讲座第1讲USS通信协议及其常用产品 [J], 杨宏庆
2.Modbus通信协议在自动走丝系统中的应用 [J], 尹新哲;杨家志;蒋存波;应安文;兰喆;孙晨光
3.通信协议宏在自动化系统中的应用 [J], 刘宣东;杨冬
4.应用LoRa通信协议的松散式有界星群构型设计 [J], 张晓杰;张璇;朱野;赵灵峰
5.应用LoRa通信协议的松散式有界星群构型设计 [J], 张晓杰;张璇;朱野;赵灵峰因版权原因,仅展示原文概要,查看原文内容请购买。
金融信息交换协议(FIX)1 协议简介1.1 FIX地位及作用金融信息传输业有多种标准同时并存,为避免混乱及重复使用,FIX协议是一个免费的开放式通信标准,于1992年由富达投资和所罗门兄弟为推动股票交易双边通信框架而开发。
自诞生以来,FIX协议顺应行业不断变化的需求和其他资产类别的要求而取得了长足发展,其使用亦日益普遍。
1.2 FIX国内外使用情况FPL Member Firms,表态支持并加入FIX的组织,主要有以下几个方面的组织:●Buy-side institutions:美国世纪投资公司、高桥资本等26个单位;●Sell-side broker/dealers:摩根、国信证券等55个单位;●ECNs/Exchanges:上交所、纳斯达克、香港交易所等37个单位;●Associations:ISO等14个单位;●Vendors:IBM、FIX Solutions等140多个单位。
2008年《中国FIX电子交易会议》记载,已经有超过10000家机构正在使用FIX协议,其中包括:几乎所有主要证券交易所和投资银行,全球最大的共同基金和货币经理,数千家小型投资公司,领先的期货交易所提供FIX连接,主要的债券交易商已经实施或正在实施FIX连接。
1.3 FIX版本Fix协议现有的版本应用4.X-5.0sp2。
国外投行主要应用4.5-5.0,国内投行处于试用尝试阶段,各种版本均有,但4.2居多。
5.0版本与4.X版本的不同:TI(the transport independence )特性,即传输无关框架。
TI将FIX会话层从应用层协议中分离出来。
在TI框架下,应用层协议消息可以通过任意合适的传输技术进行传送,在这里,FIX会话层协议是FIX应用层消息的可选传输传输协议之一。
1.4 FIX协议特点及其优势FIX协议由于其开放的体系,具有如下四个主要特点:●使用简单,各类应用系统可以依据FIX协议规则,编写自身的应用程序,应用于任何希望自动连接的交易双方,能支持各种商务功能。
●规则开放透明,具有不断扩充的能力。
为了把最大的灵活性给予用户,FIX鼓励用户自定义域。
这些域应在已达成有关共识的交易各方范围内使用,并应小心使用,以避免在各方实施该协议之初的时候容易引发的冲突。
FIX由一个非盈利的FIX组织管理维护,公布FIX协议的标准化格式,在鼓励卖主加入该标准的同时,FIX始终保持中立。
●不受载体的限制,它可通过租用数据线路、数据转接介质或在互联网上使用,●安全机制方面,FIX不提供特定的安全机制,它只是一个信息交换平台。
但它支持任何双方允许的加密体系。
由于有上述的四个特点,实施FIX所带来的优势主要表现在:●降低整合各种内部操作程序的成本及复杂性●降低与新交易伙伴连接的成本及复杂性●由于规模经济效应或发掘共享基础设施的潜能,实现自动化处理所需的投入(如软件和硬件)因而下降●因人工重输信息或使用转换引擎所造成的潜在错误减少,市场参与者之间的通讯质量因此得到了提升1.5 FIX协议结构FIX协议的格式存在着两种结构:tag=value结构和FIXML 结构。
目前采用的都是第一种方式来完成数据交换。
本报告主要讲述这种格式的消息。
其中FIXML可读性更强,但占用更多的带宽资源。
1.5 FIX消息模式FIX消息格式:每个FIX消息均由消息头、消息体和消息尾组成。
每个消息均由一系列的<tag>=<value>字段组成,字段间用分隔符<SOH>(0x01)分割。
消息头开始顺序有如下三个字段:BeginString (tag #8) followed by BodyLength (tag #9) followed by MsgType (tag #35).此后还包括有其他字段;消息尾就是一个CheckSum (tag #10);所有FIX消息都是以“8=FIX.x.y<SOH>”开始,以“10=nnn<SOH>“结束。
具体的消息格式在《中信证券FIXGW接入说明》中有说明。
2 协议工作原理2.1 通信模型及基本概念2.1.1通信模型Initiator :发起者,建立通信连路,通过发送初始Logon消息发起会话的参与方。
Acceptor :接收方FIX会话的接收方。
负责执行第一层次的认证和通过传输Logon消息的确认正式声明连接请求被接受。
原则:先发起者为Initiator ,接受者为Acceptor 。
标准模式以网关为Acceptor,客户端为Initiator做为常用模式。
2.1.2 Fix connectionFIX连接由3部分组成:logon登录,message exchange消息传输,和logout注销。
2.1.3 Fix sessionFIX会话由一个或多个FIX Connection FIX连接组成。
一个FIX会话可以有多次登录。
2.1.4 Sequence Num所有的FIX消息都由一个唯一的序列号进行标示。
序列号在每一个FIX会话开始时被初始化为1,并在整个会话期间递增。
监控序列号可以使会话参与者识别和处理丢失的消息,当在一个FIX会话中重新连接时能够快速进行应用程序同步。
每个会话将建立一组互不依赖的接受和发送序列。
会话参与者将维护一个赋予发送消息的序列和一个监控接受消息的消息块间隙序列号。
2.1.5 Heartbeats在消息交互期间,FIX应用程序将周期性产生Heartbeat心跳消息。
该心跳消息可以监控通信链路状态及识别接收序列号间隙。
发送Heartbeat的周期间隔由会话发起者使用在Logon消息中HeartBtInt域进行定义。
Heartbeat心跳消息的时间间隔应当在每一个消息发送后复位,即发送一个消息后,在间隔给定的时间内无其它消息发送则发送一个Heartbeat心跳消息。
HeartBtInt的值应当被会话双方认同,由会话发起方定义并由会话接收者通过Logon消息进行确认。
同一个HeartBtInt 被会话双方——登录的发起者和登录的接受者共同使用。
2.1.6 Data integrity和Checksum消息数据内容的完整性可以参用两种方式来验证:消息长度和效验码检查。
程序通过计算BodyLength域到(并包含)在CheckSum标记(“10=”)后的分界符的字符数与在BodyLength中标示的消息长度进行比较来完成完整性效验。
2.1.6 CheckSumChekSum完整性检查,通过计算从域“8=” 中“8”开始,包括紧跟在CheckSum标记域的分界符<SOH>每个字符的2进制和同CheckSum进行比较得到。
一个FIX消息校验和通过计算到ChechSum域(但不包括)的消息的每个字节和得到。
然后,校验和被转换为模256的数字用于传送和比较。
校验和在所有加密操作之后被计算。
产生校验和的代码示列如下:char *GenerateCheckSum( char *buf, long bufLen ){static char tmpBuf[ 4 ];long idx;unsigned int cks;for( idx = 0L, cks = 0; idx < bufLen; cks += (unsigned int)buf[ idx++ ] );sprintf( tmpBuf, “%03d”, (unsigned int)( cks % 256 ) );return( tmpBuf );}2.1.7 Message AckFIX协议不支持单个消息的确认。
采用的是监控消息时隙的方法来进行消息恢复和验证。
普通的数据传送(无单个消息确认)通过消息序列间隙进行错误识别。
每个消息由一个唯一的序列号进行标示。
接收端应用程序负责监控接收消息序列号以识别消息间隙并产生重传请求。
每个FIX参与方必须为FIX会话维护两个序列号,一个是接收序列号,一个是发送序列号,两者都在建立FIX会话开始时初始化为1。
每个消息被赋予一个唯一的序列号值,并在消息发送后递增。
此外,每个收到的消息都有一个唯一的序列号,接收序列号计数器在收到每个消息后将会被递增。
当接收序列号与所希望得到的的正确序列号不必配时,必须采取纠错处理。
2.1.8 Encryption加密算法由连接双方共同协商。
一个消息的任何一个域可以被加密并放在SecureData域中。
然而,一些显示的标志域必须采用明文进行传输。
为确保完整性,明文域可以在SecureData域中重复。
当使用加密时,建议但不是必须,所有的消息体都进行加密。
如果一个消息中的重复组数据中的部分数据要加密,这个重复组必须全部进行加密。
预先协商好的加密算法在Logon消息中进行声明。
2.1.9 User definition fieldFIX为给用户提供最大的灵活性,FIX协议允许用户自定义域。
这些域在认同的参与者之间实现、应用,并且应注意避免冲突。
Tag数在5000 到9999保留用于用户自定义域。
这些tag值用于企业联盟的信息交换。
可以通过FIX网站进行注册。
10000以上保留用于单一企业内部使用。
不用注册。
2.2 会话层协议2.2.1 Logon登陆建立一个FIX连接,分别包含3个操作:●创建通信层链路●接收者认证/接受发起者●消息同步(初始化)。
连接流程如下:会话发起者同会话接收者建立通信链路,即TCP连接。
发起者发送一个Logon消息。
接收者检查Logon消息,认证发起者身份。
Logon消息包含支持之前双方协商好的认证方法所必须的数据。
如果发起者被成功认证,接收者用一个Logon消息进行响应。
如果认证失败,会话接收者将关闭链接,之前可以选择发送一个Logout 消息以提示认证失败的原因。
这个Logout消息不是必须发送的。
在发起者认证通过之后,接收者立即响应一个Logon确认消息。
依据会话使用的加密方法,这个Logon消息可以,也可以不报还同样的会话密钥。
发起者方将把接收方返回的Logon确认消息视为一个FIX会话建立的标志。
如果会话接收方选择单边会话加密密钥,会话的发起方必须发送一个Logon消息到对方以确认密钥改变请求。
这样,能让会话接收者知道发起者何时开始使用新的会话密钥。
发起方和接收方必须在发送任何查询或新消息之前通过询问MsgSeqNum域来同步其消息。
发起方能通过比较确认Logon消息的MsgSeqNum 及下一个期望值来侦测消息的间隙。
2.2.2 Messsage exchange消息交换初始化过程完成之后,将会进行正常的数据信息交换。
主要包括管理消息和应用消息的传送。
2.2.3 Logout注销正常的消息交换的终止将通过交换Logout消息来完成。