第1章 什么是ISO 20022

"ISO 20022 for Dummies," written by The SWIFT Standards Team

从本质上来说,ISO 20022 更像是一个用来制作金融报文标准的食谱。但在做更进一步说明前,我们需要聊聊什么是金融报文标准,这才是本章节需要首先解决的问题,之后我们再回到ISO 20022 本身。



什么是金融报文标准?


为了开展各种业务,金融机构与金融机构之间、金融机构与客户之间需要交换大量的信息。而确保这些交换行之有效的前提是交易双方(发送方与接收方)对解释和理解信息的方式方法达成统一共识。这对希望通过计算机处理全部信息的参与机构来说显得尤为重要,否则将会变为“鸡同鸭讲”,后果不堪设想。


掌握基本知识:语法与语义

在金融行业中,为了尽量避免人工处理这些数据,相关组织机构对各自业务领域的报文(消息)进行了定义 — 也就是,对如何组织需要交换的数据,从结构化的格式(语法)和内容含义(语义)两方面做出具体规约。基于这些定义,参与者们便能够自由交换信息。如下所示,是一个简单支付指令的片段和具体说明:

假设有一家位于荷兰 ,Utrecht市的,名为ExampleBank的银行(银行识别代码为 (BIC) EXABNL2U),其公司客户 ACME NV, Amstel 344, Amsterdam 需要在2019年10月29日从它的银行账户8754219990 转出 12,500美元。ExampleBank通过发送一条基于标准报文格式定义的结构化消息,通知它的美元代理行处理此项业务,而不是通过非结构化的文本。

上面的示例取自一个由XML语法描述的 ISO 20022 客户汇款(Customer Credit Transfer)报文

报文标准对信息内容及数据格式(字段长度、代码、字符集)提供了明确的定义,让报文(消息)能够在机构间交换。例如,上面的报文有这么一行信息,用来指明交易的币种和金额:

12500 

此外,针对客户汇款这样的交易,在它的报文基本标准定义中会明确说明此信息项(field)是必要的,标签对必须是‘IntrBkSttlmAmt’,其中的数据必须由3个字母(ISO 币种代码)和最多18位数字的实际金额组成。

需要知道的是ISO 20022 仅是众多金融行业标准中的一支,下面会简单介绍金融报文和它们各自使用的标准,以及这些标准所带来的问题。


如此多的标准,如此少的时间

"标准的伟大之处在于,它让人们有了更多的选择"。这是一个旧时的笑话,但却与金融行业密切相关。有很多不同的标准存在于不同的地区和商业领域,许多机构与它们的客户甚至还使用着自己专用的标准。

下面这段报文摘录取自SWIFT MT103 单笔客户汇款。它与之前展示的ISO 20022 客户汇款 十分相似。你会注意到除了标签及场次(fields)的顺序不同以外,它们之间的大部分内容都是相同的:

上述几个例子中表达的信息都是相同的,只是使用的标准各不相同。

金融服务的流程和价值链通常会覆盖到不同的地域和商业领域。随着不同报文标准在金融业中的传播,对各种端到端业务的链路自动化处理带来了很多障碍。究其原因可以归结为两点:报文标准中不同语法(结构)使用和报文标准不同语义(含义)的使用。

语法障碍

通俗的讲,语法就是格式。通过它将报文中的信息结构化。理解指定报文内容的前提是理解它使用的语法。“标准”和“语法”之间是有差异的,却很容易让人混淆。“标准”是指在表述某个事件时,在大家达成共识的前提下,规定参与方需要明确提供的信息项。而“语法”则为格式,或者是用于表述信息的“语言”。大家都知道,在双方使用或理解相同语言的前提下,对话才有意义。对于“语法”来说也同样如此。由于全球化的盛行和端到端业务的日益发展,领域边界变得模糊,这让语法障碍显得愈发突出。

小贴士:在ISO 20022中,使用最为广泛的语法是可扩展标记语言(XML)。使用短标签名称(比如< PstlAdr >表示一个邮政地址)也是语法的一部分。

在互联网中,XML是一种十分受欢迎的语法,用于对文档(或消息)进行电子化编码。XML允许不同社区对各个消息的每个组件定义属于自身的标识符(或标签)及格式(或数据类型)。在XML中,通过使用开合标签来标记数据,从而传递信息的意义和结构。例如:

2019-09-29
就是一种XML的表达方式,意为2019年9月29日。每个带有数据的开合标签组合称为元素(element)。

一些正在广泛使用的标准

ISO 15022 目前是证券行业的主要标准,用于跨境结算、对账和协同处理等相关业务。它在1998年左右被引入,用于取代ISO 7775,解决ISO 7775 结构表达不足及其造成的重要结算信息遗漏等问题。从2003年开始,ISO 15022开始被强制使用,这也使得直通处理(STP)率有了大幅提升。以结算信息为例,它的直通处理率通常都超过95%。这个标准的优点之一是它基于数据字典的方法,能够重用报文中的数据并对其进行标准化处理。通过SWIFT网络每天交换的2000万条信息中,约有一半使用ISO 15022定义。

ISO 8583  用于几乎所有的信用卡和借记卡交易,包括ATM机。每天有上亿笔ISO 8583报文在发卡行和收单行之间进行交换。

FIX 是证券前端系统的主要标准。每天数以百万计的计息指示、交易指令等执行操作都是通过FIX 协议发送的。

FpML 意为金融产品标记语言,基于XML语法,专门描述用于金融衍生产品的复杂合同。它在证券经纪人与证券行业参与者之间广泛应用,用于Swaps, CDOs等金融及金融衍生产品间的信息交换。注:Swap是指两个对等主体之间对他们各自持有的金融工具的利益的一种交换.较为常见的是外汇掉期交易和利率掉期交易,多被用作避险和投机的目的。CDO(Collateralized Debt Obligation)指担保债务凭证。

◉ SWIFT proprietary 也就是通常人们所说的MT报文,是用于代理行、外汇及信用证交易的报文通讯标准。通过SWIFT网络,全球每天有超过10,000家金融机构使用此标准完成数以百万计的报文交换。

Proprietary domestic standards 同样被广泛使用。以DDTC为例,它作为一个市场基础设施,每天约有4000万条使用这个专有标准的信息通过它完成交换,用于美国国内证券交易的清算和结算。注:DTCC (Depository Trust and Clearing Corporation) 意为“存托及结算机构 ”

XBRL 一种灵活的基于XML的标准,用于财务报告信息交换。它作为财务信息处理的标准和技术,目前主要应用于非结构化信息处理,。

本章节前面摘录说明的MT103 单笔客户汇款使用语法就是SWIFT proprietary。它也使用标签,称之为“场次”标签,用来标识说明数据。这样的标签是通过在双冒号之间加字母数字表示。标签后面跟着的就是场次内容。例如,:52A:就是一个场次标签(表示Ordering Institution:汇款人账户),而EXABNL2U则是这个场次对应的具体内容。


语义障碍

当语法不再成为问题,另外一个障碍又出现了:语义障碍。不同领域或国家的专家们都已经形成了各自常用的行业用语和词汇。在他们使用的这些词语中,不同的词汇可能表示相同的概念,或者存在相同的单词表示不同含义的糟糕情况。

例如:在支付领域的那些参与者当中,他们对“汇款人”这个概念就有多种不同的表述方式:“Ordering Customer”,“Payer”或“Payor”,抑或是“ Payment Originator”,还有“Initiator”。此外,在不同的背景或上下文中,相同的表述又会有不同的含义,例如,在银行转账中,Payment Originator/Initiator 意为“债务人/付款人”;但在银行扣账中,Payment Originator/Initiator 则为“债权人/收款人”。

当你查看一个涉及多方参与的端到端的业务整合场景时,这些不同的名称会让你晕头转向。你需要拥有丰富的专业知识才能理解这些差异,从而将这些信息准确转换成你常用的表达方式。

请记住:为了理解某个业务领域中交换的信息,你不仅需要熟知这个领域内涉及的语法和语法细节,还需要能够理解这个语法所表述的含义。这需要投入大量的时间进行技术调研。



ISO 20022 基础


前一小节概述了参与交易的人与计算机,在共享信息并达成共识前必须面临的两大障碍,究其原因在于它们不可避免地使用了不同的语法和不同的语义(或对术语的不同诠释)。ISO 20022的到来,便是为了帮助克服这些障碍。下面让我们一起来看看它有什么独特本领。

ISO 20022 作为金融行业中一个公认的方法论,致力于为整个行业的不同业务流程创建一致的报文(消息)标准。其方法是基于独立分层的概念,整个方法论分为三层:顶层提供关键的业务流程和概念;中间层提供逻辑报文或报文模型;底层则用于处理语法。


业务流程及概念

ISO 20022 方法论的关键特征之一是对实际业务和业务对应的报文表现方式(语法)分而治之。ISO 20022 方法论由创建业务模型开始,简单说,就是先界定活动(业务流程),活动中的业务角色和参与者并提取活动发生所需的业务信息。

业务信息会被映射到含有业务要素的业务组件中。以一个银行转账的过程为例,诸如债务人(付款人)、债权人(收款人)、债务人代理(债务人银行)、债权人代理(债权人银行)及支付活动这样的关键概念会被识别出来。当中每一个组件都会含有更多的细节信息,即业务信息。图1-1展示了一个简化的业务信息模型,由统一建模语言(UML)表示。

它的核心是支付本身,与金融机构的债务人代理和债权人代理有关。同时支付与债务人和债权人也有关联,两者都是参与方(个人、组织、金融机构或其他)。它们中也会有诸如名称、地址这样的信息要素。此外,这些参与者中可能会有属于各自的账号,并且在这些要素之后还会有更多的详细信息。例如,一笔支付,包含有币种、金额、被请求的执行日期、结算日期,以及汇款信息等。


图1-1 一笔支付交易的简化业务信息模型


独立于语法的逻辑报文

在有了顶层的业务概念后,根据ISO 20022 的方法论需要开始定义中间层的逻辑报文或报文模型。逻辑报文用来描述特定业务活动中需要用到的所有相关信息,和语法没有关联。它由消息组件构成,组织在一个层级结构中。消息组件包含一个或多个消息元素,它由业务组件中某个或多个业务要素的使用派生而出。有关客户汇款的报文摘录所对应的逻辑报文结构见图 1-2


图1-2 一笔银行转账的部分逻辑报文结构

报文组件 CreditTransferTransactionInformation 包含4个要素。它们中的一些,如Debtor 和 DebtorAgent 需要进一步的定义,因此它们自身也需要通过消息组件的方式表达。上图是简化后的展现,并没有体现譬如要素必要性等一些通常需要确认表达的内容。

请记住:ISO 20022 的关键特性之一便是具备在所有报文中重用业务组件和消息组件的能力。无论我们谈论的报文是有关“银行转账”范畴,还是“信用卡支付”领域,亦或是“证券或外汇交易”,组件“PostalAddress”都能够在合适的位置表示这些交易中的某个参与者或金融机构的地址。诸如“InterbankSettlementAmount” 和 “InterbankSettlementDate” 这样的个体元素,同样也可以被重用。

语法

正如之前提到的,ISO 20022 方法论是基于分层的概念。“业务模型”和“逻辑报文”对应它的顶层和中间层,而底层“语法”,则是对“逻辑报文”的具体表达。ISO 20022 使用XML和ASN.1作为主要语法,它指明了如何将一个报文模型通过XML或ASN.1表达。但是,在特定的业务领域中,报文模型可以使用不同于XML或ASN.1的语法表示,例如使用前面提到过的SWIFT proprietary语法或FIX语法,如果允许。

都存在于知识库中

上述提及的所有内容都会存储在一个通用知识库中。

ISO 20022 字典,作为知识库的一部分,与牛津字典十分相似,列出了组件的名称和结构(含子组件的引用说明),以及最为重要的,关于这个组件的含义和它的使用说明。如同英语中的文字,它们的含义通常取决于所处的上下文。同一个组件放在诸如“国内支付”、“国际支付”或“股票交易所证券交易”等这样不同业务背景下,它的含义不尽相同。因此,像DebtorAgent这样的条目会明确告诉你它是“为债务人提供帐户的金融机构”,同时说明当它作为“债务人代理”时,你应该使用名为FinancialInstitutionIdentification7的结构体,它定义了识别一家金融机构所需的全部数据项——名称、地址,业务标识代码(BIC)及其他信息。当你在字典中查找这个这个消息组件时,会找到如图1-3所示的条目

图1-3 ISO 20022 网页查询工具 展示一个报文组件的明细

ISO 20022 对金融行业中所有这类报文组件进行了标准化处理。所以,只要是收取的报文中提及了 “debtor agent”,大家就可以清楚地知道它的含义以及它表述数据的方式。

这里的关键概念是可重用性。例如,FinancialInstitutionIdentification的数据结构和它所包含的子结构,可用于描述ISO 20022 报文中所有的金融机构。类似的,在金融报文中,消息组件DebtorAgent可用于表示金融机构在一笔交易中的角色。

小贴士:目前,ISO 20022 的知识库中存储有大约750个业务组件和超过400个的报文定义。



是什么使ISO 20022 如此不同


ISO 20022 提供的 3 件法宝:

>> 模型:成熟的业务模型,为金融服务业提供参考。

>> 方法:可用于开发具有良好结构的金融报文(前面内容已做过说明)。

>> 整合:统一现有不同标准的能力。

整体而言,现有的所有标准对报文的定义都可以看作是对其内容、结构及含义的逻辑性描述。而这样的“逻辑”报文定义都可以和ISO 20022 中的业务定义相匹配。这一点对于促进不同标准间的互操作性显得极为重要:因为无论报文信息是以何种标准和语法展示,ISO 20022能够将它清晰地映射到业务流程本身,实现与不同标准间的适配。因此ISO 20022 相较于其他标准,它的优势可以分为两个方面:一个是使用ISO 20022 本身所带来的好处;另一个则体现在它与其他标准的互操作性上。

使用ISO 20022 的益处可以分为以下三个方面:

-> 1. 报文与业务流程的联结

ISO 20022 报文中的每个部分都对应到业务模型中相关组件。这些组件含义明确并且易于识别,可以与后端应用系统中的数据相对应。

-> 2. 结构化组件的复用

因为ISO 20022 的业务组件及元素能够在使用不同标准、语法的报文中复用,所以金融机构只需要将自己内部使用的数据结构与这些业务组件和元素匹配一次即可。之后,再引入新的报文就变得更加容易:因为这些报文中对应的大多数组件已经和后端应用系统做过匹配。此外,维护也变得更加容易,绝大多数的更新可以在组件层级完成。

-> 3.1XML语法的引入

尽管ISO 20022 的关键特性在于通用业务模型的使用,但XML 语法的加入其增色不少。用于描述报文格式的XML schema 文件,是机器可读的,因此新报文的实现或对现有报文的更改,仅需要少量的人工处理。这也让大多数的软件能够方便地操控这些报文,并将信息映射到其他格式和标准中。

请记住:XML是一个国际开放标准,在各个行业及不同供应商中获得广泛支持。作为一个国际标准,也意味着它拥有大量第三方工具,可用于XML编辑、文档管理及验证等。这些工具能够协助实现报文定义的自动化,降低校验及整合报文到后端系统的成本。

注解:关于 XML 和 XML SCHEMAS

可扩展标记语言(XML),是一种基于简单文本的格式,用于表示结构化信息。XML通过尖括号之间设置的标签来识别信息项。每个数据项放入在一对打开闭合标签中。这个标签对和嵌入数据的组合,称之为元素。为了将相关信息集中,元素中可以包含多个其他元素,例如:

    1

    Short Lane

    London

XML这种表达方式,便于人们查看和理解其中的信息。只是这种可读性是有代价的:它的语法更加冗长,因此在传输效率和存储占比这两个方面都不及其他语法。不过可以借助压缩工具帮助克服这个问题,减轻对传输速率有要求的用户群体产生影响,例如:证券交易所中交易信息的传输要求通常是微秒级的。

通过XML schema,可以定义出现在XML文档(报文)中的元素,限定它们的属性、次序、数目、可否为空等。计算机能够通过XML schema 检验报文是否符合定义。ISO 20022 描述了如何根据报文逻辑定义,为使用XML语法的报文生成对应的XML schema。它通过XML schema这种方式,为所有ISO 20022 XML报文提供正式的结构定义。

-> 3.2 ASN.1语法的引入

ASN.1 是一种开放的国际标准,用于数据描述和编码,在不同领域中的多个标准中都有应用,如:无线通讯。在ASN.1 语言中,ASN.1 schema用来表示对一组消息的描述,它是计算机可读的,不依赖于硬件,操作系统和编程语言的。有很多与ASN.1相关的软件开发工具,可以用来读取ASN.1 schema,检查它的语法,生成相关的源代码及其他构建。这些为开发相关应用程序提供了便利。 此外,通常情况下ASN.1 是简明、可读的。

注解:关于 ASN.1 编码

在任何需要以数字方式发送信息的地方,ASN.1 都可以发送各种形式的信息(声频、视频、数据等等)。ASN.1 和特定的 ASN.1 编码规则推进了结构化数据的传输,尤其是网络中应用程序之间的结构化数据传输,它以一种独立于计算机架构和语言的方式来描述数据结构。

ASN.1 取得成功的一个主要原因是它与几个标准化编码规则相关,如基本编码规则(BER) -X.209 、规范编码规则(CER)、识别名编码规则(DER)、压缩编码规则(PER)和 XML编码规则(XER)。这些编码规则描述了如何对 ASN.1 中定义的数值进行编码,以便用于传输,而不管计算机、编程语言或它在应用程序中如何表示等因素。ASN.1 的编码方法比许多与之相竞争的标记系统更先进,它支持可扩展信息快速可靠的传输 ———在无线宽带中,这是一种优势。针对各种不同的编码规则集合,ASN.1 工具通常都有对应的编码和解码功能。

ISO 20022 推荐使用 PER 作为 ISO 20022 报文的编码/解码规则,因为它具有良好的编码/解码速度和极强的压缩能力。


ISO 20022 和 其他标准

ISO 20022涵盖整个金融行业,它为不同的业务领域架起了沟通的桥梁,如外汇交易和信用卡支付之间,统一了它们对信息的理解和解释。它的一大优点在于能够促进不同标准间的匹配。例如,SWIFT proprietary标准下的报文MT103 单笔客户汇款, 52a — Ordering Institution 与 ISO 20022 的 DebtorAgent 元素,在结构上完全不同,但在本质上描述了相同的业务概念:为汇款人(债务人)账户提供服务的金融机构。因此,两者都能匹配到相同的ISO 20022 业务组件。这是一个强大的概念,因为它为不同标准间的可互操作性奠定了基础,打破了彼此间的壁垒,为需要互操作性的应用、转译服务等带来了显而易见的好处,让整个业务链中的自动化传输和直通处理得以实现。我们会在之后的章节中更加深入的了解这一概念。

你可能感兴趣的:(第1章 什么是ISO 20022)