金融行业的 XML 标准及应用

李彦智([email protected])
中国银行软件开发中心
2003年9月

本文通过对金融行业系统应用现状及发展的简要分析,强调了使用行业标准尤其是 XML标准的必要性,同时详细介绍了几种主要的金融行业标准协议的状况、发展及其向 XML 过渡的趋势和必要性。

引言

金融服务业在信息技术开发上花费巨额资金,以维持其竞争优势。直到近期,银行、证券、风险管理公司及保险公司等金融机构开始致力于业务流程自动化,通过建设这样的系统,减少商业领域的交易在协商、处理结算以及风险分析等环节的耗时。这被称为直通式处理(Straight Through Processing,STP);根据 Tower Group 估计,到 2005年,金融服务行业在 STP 技术上的花费将超过 122 亿美元。当前在金融证券行业,STP 是一个被广泛关注的技术问题,尤其在美国更是这样。

STP 的最终目的是使用完全自动化的完整流程(Loop)来替代传统的传真和电话确认,如交易前的沟通协商、交易的执行处理到清算支付。这包含了在投资管理人、经纪商,清算机构,保管人之间传递交易相关数据的自动化流程。因此STP 的核心在于异构系统之间的信息交换。

被交换的信息的结构必须是一种被交换各方认可的,且容易被计算机程序来处理的格式。从而首先要求存在必要的行业标准,其次就是使用 XML 作为数据传输语言。

金融服务行业的 XML 标准对于 STP 的成功实施非常重要。 XML 文档不但可以包含行情查询等交易前信息,股票信息和操作指令等交易信息,还涉及市场数据、支付和清算等交易后信息。在这些组织中,XML的深层次应用意味着更快和更加有效的处理,在各个系统之间的安全处理结算过程几乎是全自动的,从而有效减少费用,减少了错误,也减少来自于数据重新形成和其它人工干涉造成的额外工作量和耗时。

现状

现在的交易模式的特点就是过多地依赖传真/电话和人工处理过程,缺乏标准化,而且弥补交易失败的代价较为昂贵。 据 SWIFT 估计,约有 59% 的交易指令需要进一步地确认,而且每个失误都要采取措施来修正,从总体上耗费了巨大代价。

证券的交易流程包含三个步骤:交易前、交易中、结算。现在它们大多数由六个步骤来处理:下单,执行交易,确认,中台操作,清算和结算。就系统现状来说,经常需要在某一个阶段中重新输入交易信息,这是一种资源和时间的浪费。

对于股票交易来说,许多公司正在使用 FIX(Financial Information eXchange 金融信息交换)协议,它是一种私有的信息交换协议。由于它把消息框架和消息内容绑定在一起,从而使得很难把它同其它诸如 SOAP (Simple Object Access Protocol 简单对象访问协议,是一种基于 XML via HTTP 的数据传输协议,是 Web Service 的重要基础) 等这样消息标准集成起来。

对于场外市场(OTC柜台业务)和私下议付的金融衍生类产品,由于参与机构和业务具有复杂多变的特性,确定一个应用技术标准非常困难。因此,在这些产品中,传真和电话呼叫构成了最基本的交换信息的手段,这导致了大量的人工处理过程,使得交易更容易产生差错和延误。它带来了昂贵的代价且伴随着很高的操作风险。

关于交易的确认,由 Thompson Financial ESG 开发的中间件产品Oasys是一个广受欢迎的选择。这个公司有超过 3000 个合作伙伴。 Thomson 提供一个可通过 X.25或 TCP/IP 的私有网络访问的中央主机系统。Oasys 工作站使用私有的ESG结构来发送和接收数据。

最后,对于结算来说, 全世界有192 个国家的超过 7000 个银行在使用 SWIFT 协议。 1973 年成立的环球同业银行金融电讯协会(Society for the Worldwide Interbank Financial Telecommunication ,SWIFT)是行业认可的合作组织,它主要掌控着银行、经纪人/经销商,投资管理人等机构使用的消息服务。SWIFT 在世界范围内的会员银行间为金融消息交换提供消息服务,如信用证,支付,证券交易等。通过 SWIFT 网络,一个在新加坡的银行可以使用电子化手段和一个位于纽约的机构之间进行客户信息交换、银行间资金清算,支票清算,共享余额或证券交易等信息。 SWIFT 是私有协议,不基于 XML。SWIFT 需要每个客户拥有专用的网络终端和预先认可的软件。

对于以上的所有产品和解决方案,我们发现如下问题:

  • 私有的消息框架
  • 私有的网络
  • 非标准化
  • 缺乏互操作性

很明显,以上这些问题对于STP 的实现带来一定的难度。XML 使得所有这些问题都简单化,因为随着 Web Service 的使用,甚至是厂商的独立开发,都可以获得数据,并且易存取和非常灵活。

向XML 标准靠近

业界对于行业标准价值的认识已经有一段时间了,从生物化学到医学等行业都在使用 XML 标准在 交易方,供应商和客户等之间进行流畅的沟通。在金融服务行业,现在已经有几个被开发出来的相关标准。根据 STP 的要求,我将讨论 FIXML、FpML 和 SWIFT。FIXML 被用来描述使用标准化手段来交换的信息,FpML 描述了场外市场衍生工具的信息。

FIXML:交易消息

金融信息交换协议(FIX)是一个工业协议,被用来以特定的格式交流证券信息。这此信息包含取报价,行情数据,交易定单。 FIX 是非常流行的,有研究表明,有 82% 的经纪商在使用它。

FIX 和金融行业的其它协议不同的最重要的特征就是,FIX 是一个连接的,基于会话的协议。FIX 协议包含两层:会话层和应用层。会话层包含所有会话相关的信息,所有与商业相关的信息如报价和交易信息都在应用层中。这种私有的格式是按照 =(=)的 CSV (Comma Separated Value,逗号分隔文本)格式,并且它需要 FIX 引擎来使用此协议。例如: 38=50000,它的意思是购买数量为 50000。


图1:FIX 协议的结构

FIX 已经认识到将会话层和应用层紧密绑定导致降低了协议的灵活性。为了将FIX 建立在标准格式的基础上,基于 FIX发明了 XML 词汇表形式的 FIXML。这些 FIXML 的消息被嵌入在传统的 FIX 包头和包尾中。通过这种方法,最小限度地影响了 FIX 现在的实现方式,只需要在现有的 FIX 引擎中增加一个 XML 的解析器(Parser)来进行互相通信。因此我们的定购数量的例子现在就变为:



   10000


然而,这种方法还是带来行业界的一些批评,他们认为 FIXML 只不过是 FIX 协议的一种 XML 表示方法,它没有充分利用 XML 的能力。事实上, FIX 可以被携带在任何消息协议的消息主体(Body)中,这样潜在地扩展了它的灵活性和互操作性。现在,FIXML 是以 DTD(Document Type Definition 文档类型定义) 格式定义的,可以从 FIX 网站上 (http://www.fixprotocol.org) 下载。

FpML:衍生产品

FpML(Financial products Markup Language,金融产品标记协议)是以一种为复杂的金融产品设计的、基于 XML 的标准。 FpML 的目标是标准化和流处理(streamline)交易,以及在诸如衍生、互换和结构性产品等私下议付的金融证券领域。现在,这个协议覆盖了利率、互换和远期利率合约(FRAs),股票,外汇和利率衍生物。这是唯一的一个以 XML 为基础开发的协议,因此与 FIXML 相比,它有诸多优点。

当涉及私有的沟通工具时,自动化就非常困难。每个交易都可能要使用不同的格式和术语,如果使用电子化手段的某种通用格式,则这种格式要支持复杂多样的衍生产品特性。FpML 标准使用 XML 来获取灵活性;它现在有 DTD (Document Type Definition 文档类型定义)和 Schema 两种定义格式,可以在 FpML 站点(www.fpml.org)上获得。

FpML 的结构由三个主要部分组成:

  • 交易组件说明了交易组成的问题,也就是说,什么是合同的特性。例如股票期权是一种以特定价格购买股权(股票)的权利。
  • 参与方组件描述了参与交易各个参与方的详细信息,即交易方(counterparty)。
  • 组合(Portfolio) 组件将单个交易链接到集合或组合(帐户)中。当进行风险分析时,这是非常重要的,因为分析的前提是必须知道(证券)交易存放在那一个组合中。

因此,在最顶层,我们有如下 FpML 的命名空间:








架构(Schema)的主要部分在于交易组件由许多不同的产品构成,如互换、期权、远期利率合约等,每种类型的产品都有它自己的数据类型库,它包含针对特定产品的组件数据类型。金融机构可以通过增加新的数据类型库的方法来扩展 FpML 架构。

注意,FpML 不像 FIX ,FpML 专注于产品信息。 消息的钩子函数(回调处理)和加密都可以自行添加。

FpML.org 是一个中心站点,它包含FpML的架构、消息、移植架构、版本架构方面的相关文档,它也计划将发布一个专用于架构扩展的站点。以便于XML 架构的最佳实践被尽可能的遵循。

SWIFT 和 ISO 15022 XML:集成至上

SWIFT也认识到了它本身在金融信息交换方面的一些限制(有效性方面),因此它主张最优先的事情就是向 XML 过渡。实际上,它计划将 FIX 和 FpML 集成为一个新的标准,即 ISO 15022 XML。这个合成的协议利用了 FIX 协议在交易前/交易中处理领域的专门技术和 SWIFT 在交易后部分的专门技术,从而集成了不同交易周期的各方,以解决阻碍STP 的各个问题。这是一个非常缓慢的过程,到目前为止在集成方面的工作进展并不大。然而,在 SWIFT 的 7000 多个银行中,有大量的成员银行对 ISO 15022 XML 感兴趣,因此可以认为如果实现此标准后,那将是一个非常重要的,具有支配作用XML 标准。

未来的趋势

关于应该使用哪个标准,并且如何使用的问题也有很多疑虑,例如这些标准是否处于可以被大量使用的阶段, FIX 已经是一个通用的,用来交换信息的协议,如果假设 FIXML 只是 FIX 的一个 XML 版本,则向 FIXML 的过渡并不困难。FpML 被华尔街的许多金融机构内部使用。对于市场数据、风险管理、报表和交易方信息等方面需求的标准也正在开发中。因为这些协议基于 XML ,整个文档或文档的一部分可以使用数字签名加密。这将极大地使交易处理中的确认环节更加流畅。此外,由于这些标准都是基于 XML 之上的,它可以使用基于任何协议(包括 FIX会话层) 的消息框架。

可以看到,XML的匆匆到来,给金融服务业带来了一些问题:不良的竞争标准;不成熟的工具;还有缺乏安全标准,以及缺乏可靠的事务处理性能。这些问题尤其反映在银行和股票交易场所。尽管有这样多的问题,XML在金融服务领域和保险领域的兴起是必然的。近一两年,与 XML 相关的技术标准和开发/应用工具等有了长足的发展,涉及传输、应用接口、安全、加密、发布和部署、路由和工作流、事务和可靠性等各个方面, 有了这些更加好用及安全的工具,以及通过在多元化标准组织的参与,企业们会看到更加美好的

附录:主要金融行业协议简介

附1:FIX 简介

FIX(Financial Information eXchange,金融信息交换)协议是专为证券交易的实时电子通讯开发的一个消息标准。FIX 是一个公共的规范,由 FIX Protocol,Ltd. 拥有和维护。这个组织的任务就是:

通过在行业成员间定义、管理和促进一个实时的电子通讯的开放协议,来完善工业标准。

FIX 协议规范由 FIX 技术委员会维护,它接受来自国际指导委员会和许多由行业成员组成的工作组的指导,行业成员有基金管理人、经纪商、交易所和厂商等。

FIX 的 Web 站点充当一个中心的资源库,负责所有规范文档、委员会日程、讨论组、演示及其它 FIX 所有相关东西的发布。

附2:FpML 简介

FpML(Financial products Markup Language,金融产品标记协议)是用于互换、衍生产品和结构性产品等复杂金融产品的一个行业标准协议 。它以 XML(扩展标记语言)为基础,XML 是应用程序之间描述共享数据的元语言标准。所有类别的私下议付衍生产品将最后合并到此标准中。FpML 1.0 覆盖了利率互换和远期利率合约(FRAs)。2.0 版本将利率产品的覆盖范围扩展到绝大多数期权产品,包括:利率上限(Caps),利率下限(Floors),交换选择权(swaptions),可撤消和可延期互换(cancelable and extendible swaps)等。3.0 包含了许多不同的资产类别,包含 2.0 在利率方面的工作成果,此外还包含了外汇和一些股票衍生物的相关内容。

这是个免许可费的标准,目的在于在整个衍生产品的合做伙伴和客户网络之间实现自动化流程,而与低层的支持相关交易的软件和硬件架构无关。

当要两个期望的机构之间进行衍生产品交易描述和环境信息的直接通信,FpML 是很有价值的。最终,它将考虑从电子化交易、确认到风险分析的组合规范等各个范围的服务的电子化集成。

FpML 标准的开发由金融行业驱动,市场参与方机构控制和所有厂商的共同推动来完成。

FpML Web 站点是FpML 所有标准开发成果的核心位置,包含所有规范文档的资源库。

FpML 的任务就是:

在金融衍生产品领域,通过创建、维护和促进一种电子商务语言,用来描述这些产品和基于工业标准的相关的商业交互,从而完成支持交易活动的流处理。

附3:ISO 15022 简介

ISO 15022标准由 ISO/TC68技术委员会,银行,证券机构和相关金融机构进行起草和制定,它将替代先前的用于机构间进行电子消息交换的两个标准ISO7775和 ISO11521。

ISO 15022 为不同的用户群体提供了工具和指导,并规定了一些必需的原则,以便用户能够定义消息类型来支持自身特有的信息流。这些工具由一组语法、消息定义规则、数据域字典,以及由业界根据以上提及的数据域和规则定义的消息目录等组成。

随着 XML 开始广泛应用,ISO 150222 也开始向 XML 靠近,正在开发中的 ISO15022 第二版将实现向 XML 的移植,以保证行业内和与其它行业的互操作性。

ISO 15022 可以更好优化交易系统体系结构,为银行、证券、其它金融机构以及它们的客户提供了更强的功能和扩展性,为直通式处理和 T+1 交易提供了坚实的基础。

参考资料

关于作者

李彦智:主要致力系统整合(B2Bi、EAI)、知识管理、门户系统、消息系统等方面的学习和研究,对于 Java、XML、Web Services等语言或技术具有丰富的经验。热爱学习,崇尚创新,目前从事于银行基于 Web 的前端系统、网上金融服务等工作。您可以通过 [email protected] 和他联系。

“金融行业的 XML 标准及应用”的3个回复

  1. FIX和SWIFT 都是不错的,不过国内对SWIFT的使用越来越普及,至于FIX据我了解国内还是没有,只有上海有家公司是做FIX引擎的。FIX一般是国外的大型证券、银行公司在使用,从目前来看,国内银行的QFII业务和QDII业务使用ISO15022标准还是够用的,因为主要涉及交易后的处理,当然从未来的发展趋势来看,对FIX的研究也是很有必要的,其实国内金标委的标准也只是简单的对国外这些标准的搬抄。当无论是SWIFT或FIX都是带有欧洲电信的特点的,不过更改为XML后,在这方面就弱化了,更趋于国际化。

发表评论