云计算·大数据 频道

​金融市场行情数据服务平台建设实践

  随着国内金融市场业务的飞速发展,FICC业务(固定收益,外汇及大宗商品产品)的电子化交易已成为行业趋势。金融市场行情数据涉及实时报价、量化策略生成、风险计量计算、产品价格定盘、估值计算等五大重要应用场景,是FICC电子化交易的重要基础。市场数据如果获取速度慢或不够准确,不仅影响业务决策,降低FICC业务的市场竞争力,也给账务、资负、监管等部门带来负面影响。

  FICC市场行情数据是金融市场中重要的信息资源,包括了各种金融产品的报价、成交价、涨跌幅以及权威机构公布的市场参考数据、指数、曲线等信息,这些数据涵盖货币、外汇、黄金、股票、债券、基金、理财产品、衍生品等各类金融产品。当前,市场行情数据的来源多样,主要由交易平台、市场经纪商、数据发布机构、第三方数据供应商等四类机构提供。然而,由于产品种类繁多、数据源供应商众多、以及数据结构及外部接口类型的多样性,金融机构在接入、处理和加工这些数据时面临一系列挑战,主要包括:一是数据架构混乱:各下游消费系统独立接入数据,导致结构混乱,难以实现一致性和协同;二是运维成本高:维护不同数据源的接入点和处理逻辑会增加运维成本;三是下游接入成本高:每个下游系统都需要自行处理和加工数据,导致成本居高不下。四是价源重复接入:下游系统分别接入外部价源,导致功能性部分重叠,造成资源浪费;五是数据管控问题:维护入口不一致、数据准确性差,以及无法统一切换价源等问题可能影响数据管控和数据质量。

  因此,如何在短时间内精确获取金融市场市场行情数据并解决以上问题已经成为了业内重要的研究课题。本文基于平安银行资金同业研发中心金融市场行情数据服务平台搭建的实践,说明了统一金融机构企业级金融市场行情数据管理模式的重要性,重点介绍如何设计具有高兼容性、低延迟、高稳定性的数据订阅发布服务,以确保数据能力及时、可靠的传递,此外,还将分享如何创新性设计统一订阅代码,以便实现价源一键切换,从而降低数据管控的难度。

  立足业务发展新阶段,搭建统一的金融市场行情数据服务平台

  2019年平安银行整合金融市场业务迈入FICC专业赛道,致力于构建市场领先的电子交易平台。几年来,经历高速发展,平安银行已成为中国市场上最活跃且品种最全的FICC做市商。然而,但这一过程中,平安银行金融市场行情数据模块也遇到了前文提到的相似问题。为应对这些挑战,平安银行金融科技部资金同业研发中心深入分析了前台业务部门的核心需求,并对标全球优秀的商业数据服务产品,成功自主研发了具有业内领先水平和多项创新特点的金融市场行情数据服务平台(如图所示),简称MDS(Market Data Service)。

  图 平安银行金融市场最新数据架构图

  MDS以高性能、通用扩展性强和高效的数据订阅设计理念为核心,结合国内金融市场的实际情况,为业务部门提供实时汇率、利率、债券、贵金属、期货等产品的行情数据服务。

  MDS平台通过统一接入来自各个外部数据源(如彭博、路透、万得、CFETS、上清所等)的金融市场行情数据,结合平安银行的统一消息格式以及金融市场企业级数据模型,进行格式清洗、模型转换、数据通用加工(包括交叉盘计算、线性差值、快照等),为全行重要的下游系统提供更加可靠、高效、便捷的数据服务。

  MDS平台采用微服务的架构方式,通过高性能数据总线和gRPC通信服务的封装,为前、中、后台业务系统,特别是前台交易系统,提供高性能标准的行情数据发布服务。由于平安银行的金融交易领域各系统间采用了统一的数据报文格式,数据可无差异化移植,从而降低了下游接入成本,提高了数据的可复用性。这种外部数据源统一接入、管理、标准化和发布的模式,彻底改变以往前、中、后台业务系统各自接入外部数据、局部应用、难以高效复用数据的模式,实现了架构模式创新。

  MDS还建立了从外部供应商数据格式到内部标准格式,最终到下游业务系统使用的全链路字段级数据血缘,并实现60%以上数据根据数据血缘自动解析格式转换功能,做到全链路变更影响分析的同时提高了研发效率,并为元数据管理带来了创新。

  此外,MDS与平安银行金融市场大数据平台高度集成,使行情报价数据实时落地到大数据平台,逐步形成银行的行情数据资产,为后续量化策略回测、市场风险敏感性与压力测试等场景提供历史行情数据。平台的实际运行效果完美契合《银行业金融机构数据治理指引》中关于金融机构应当加强数据采集统一管理,明确系统间数据交换流程和标准,实现数据有效共享的要求。

  快:打造延迟低、吞吐量大,稳定性高的行情数据服务

  金融市场交易速度一直是各大金融机构的核心竞争力。当市场行情数据接入延迟降低到毫秒级别时,业务能更及时地获取市场数据进行交易决策与风险管控,从而可能提高交易成功率和带来更大的利润。平安银行FICC交易部门也追求这一“快”的目标。

  在这一背景下,我们需要考虑整个交易链条上的每个环节都尽量缩短时间间隔。对于处于中间环节的MDS来说,它就需要确保市场数据能够以最快的速度分到到下游服务。除此之外,分发服务还需要考虑服务的兼容性、稳定性和吞吐量,接口协议必须与主流的业务系统数据兼容,同时也需要对其他市场来源数据具备良好的兼容性,保证市场数据能够持续、稳定地传输到下游消费方。MDS由于接入多路深度行情报价,因此需要较高的事务处理能力(TPS)。基于此,我们的研发团队在MDS中开发了数据订阅发布服务(FM data link,简称FMDL),针对数据发布接口的会话层、表示层、应用层进行了匹配选型,以实现低延迟、高吞吐量、接口统一的目标。

  会话层选型:我们主要针对Websocket与gRPC两种主流的通信协议进行测评选型,通过传输时延与传输吞吐指标测试。测试结果显示,Websocket协议传输虽然能够实现较低的平均延时,但时延抖动较大,而gRPC表现出时延低、抖动相对较小同时单位时间内的吞吐量更大的特点。因此,研发团队选择gRPC通信传输作为会话层通信协议,并考虑未来需要进一步优化传输时,可以考虑基于UDP的传输方案(见表1)。

  表1 传输协议选型测试结果

  表示层选型:为降低传输I/O,研发团队选取了主流的数据序列化方式SBE/Protobuf/JSON进行测试,采用了证券市场的十档Orderbook作为测试数据,在单机单线程上对测试数据进行编解码,对比三者编码时间消耗、解码时间消耗、编码后的数据大小。从测试结果上看,Protobuf在压缩效率和编解码时间上可以较好地均衡市场数据的数据大小和编解码时间,综合效率更高,可以作为数据总线上的表示层使用(见表2)。

  表2 编码协议选型测试结果

  应用层选型:研发团队使用平安银行自主设计的金融市场业务数据模型(Pingan Bank Financial Market Periodic of Table,简称FMPT)作为应用层语义设计,主要考虑目前业内缺乏通用的数据格式标准,而FMPT是基于业务领域设计,能够从业务视角描述金融市场数据结构。使用FMPT模型,金融市场数据可在整个数据生命周期中以一致的视角来看待,包括数据采集、存储、传输和查询等环节。(注:FMPT介绍详细可参见《金融电子化》2022年11月上刊)

  为统一系统间的通讯标准和和规范消息使用场景,MDS还设计了统一的PAB Unified Message标准消息头结构。在FMDL中,所有通讯场景都使用该结构,与基于FMPT模型设计的不同业务场景的消息体结构相结合,通过平台的FMDL gRPC接口,各下游系统可以统一从MDS订阅和查询标准格式的市场行情数据。这极大地提高了业务系统数据接入、数据查询的开发和数据使用效率。目前,平台已经支持包括外汇、贵金属、期权、基准利率、利率互换、期货等金融产品的行情成交价、收盘价、定盘价、订单报价、Tick级别深度行情报价、期权波动率曲面、K线等数据类型。各系统间的数据源保持一致,统计口径也相同,避免了因数据源不一致引起的定价和估值偏差风险。

  最终,MDS平台通过统一数据订阅发布服务以及硬件级高速数据总线的方式,实现了每秒3万次事务处理(TPS)的吞吐量、端对端传输延迟控制在10ms以内的性能目标,这一指标处于业内领先,满足了前台交易业务对高性能行情数据的要求,更好的支持了各种新业务的开展。

  准:设计平安银行市场行情统一订阅码,一键切换最准价源

  针对外汇、利率等交易产品,不同数据供应商通常会提供相同产品的行情数据,但由于抽样范围、算法模型等差异,这些数据的准确性各不相同。业务部门需要在实践中观察并判断出更符合真实市场行情的价源。通常,科技团队需要进行多次系统变更,包括数据源、数据解析、数据存储等一系列迭代,平均花费数月的时间才能满足业务部门的价源切换需求。这意味着业务部门将会损失较长期限的机会收益。

  因此,MDS平台的另一个核心设计目标就是需要实现近实时的价源一键切换,以满足业务快速切换价源的诉求、增强前台业务的竞争优势,同时能降低IT的研发成本,契合目前降本增效的战略方针。

  为实现价源一键切换,首先要考虑外部价源进入MDS系统如何实现统一识别与订阅的问题。各供应商通常拥有自己的行情编码规范,导致各业务系统在实际订阅时会出现不同供应商相同产品行情订阅码不统一、供应商订阅码难以理解,需求沟通较为困难等情况。因此,平安银行数据团队基于金融工具分类和行情数据特点,制定出平安银行市场行情统一订阅码“ResourceId”(简称RID)。

  RID使用产品业务分类分类、货币、指标代码、付息频率、期限、指数有效期等多种维度确定编码规则,具有可读性高、符合国内市场业务实践等特点,覆盖外汇、利率、期货、波动率曲面、债券、权益六大类产品。各个供应商的行情编码可以映射到RID订阅码,再通过订阅接口配置,为价源一键切换奠定基础条件。

  RID提供query、subscribe两类接口,满足不同数据使用场景。通过增加订阅码信息,不仅使数据消费者更容易理解和定位数据,还可以呈指数级的提高系统间数据确认的效率。从数据资产管理的角度来看,RID还有助于数据识别、统计、多路价源分析等方面的工作,促进更高效的数据使用(见表3)。

  表3 平安银行RID订阅码示例

  除了解决订阅码不统一的问题外,还有一个重要问题是需要解耦各供应商对相同行情数据格式和接口的依赖。这通过将外部数据格式统一转换成FMPT企业级标准数据模型来实现,使各业务系统在切换价源后无需额外的数据解析代码变更,真正实现了一键切换价源功能。外部数据源的切换时间从原来的以月为单位缩短到分钟级别,极大地提高了应用效率,高效地支撑了前台业务切换数据源的需求。

  总 结

  平安银行在过去三年中从行情数据服务(MDS)、业务主数据服务、大数据平台、企业级数据建模(FMPT)、高速数据总线、元数据管理等方面进行了全面体系化的数据架构重构,旨在从根本上增强FICC业务的基础数据服务能力,以此进一步提升业务的市场竞争力,降低内部研发和运维成本,提高数据质量。MDS平台作为该数据架构提升的关键一环,实质性解决了业务部门对市场行情数据需求的核心痛点,得到了同业及数据供应商高度认可,也在由中国科协科学技术创新部、中国通信学会联合主办的“科创中国”金融科技创新大赛(2023)中获得“金融大数据创新项目奖”。未来,平安银行将继续分享过去三年数据架构优化的设计理念与实操经验,与同行相互学习进步。

  文 / 平安银行金融科技部资金同业研发中心总经理 李玮

  平安银行金融科技部资金同业研发中心 潘康 张鑫

0
相关文章