本文选自《交易技术前沿》总第四十五期文章(2021年6月)

林剑青、王施、刘存光、曹叙风、王伟利、熊友根、王洪涛

海通证券股份有限公司/软件开发中心

海通证券金融资讯数据服务平台通过构建统一资讯数据模型,对海量外部数据进行处理和融合,并运用人工智能技术挖掘数据价值,探索集团级资讯数据应用场景,实现对业务的全面赋能。本文通过介绍金融资讯数据领域的探索和实践,针对企业数字化转型中遇到的外部数据规范不统一、单一来源依赖性强、“烟囱式”系统建设、数据服务模式单一等问题,分享解决方案和实践经验,助力证券行业金融资讯业务发展。

一、 概述

1.1 背景

金融资讯数据在证券行业有着广泛的应用,充分发掘资讯数据价值,提供差异化服务是业内探索的一个重要研究课题。金融资讯数据使用的过程当中也面临着诸多挑战。从内部应用系统整合的角度看,公司内部与金融数据相关的各种应用系统基本是“相互孤立、独自运行”的,各个业务部门在需要金融类信息数据的时候,往往从采购和系统建设管理上以部门为单位独自进行,既造成了公司内部资源的浪费,同时容易出现重复采购的金融类数据源或者重复建设的系统。另一方面,由于采用的金融数据源五花八门,一旦在数据源上发生了任何的变动,上层的应用往往都需要作相应的调整,一个微小的变化都可能会带来较大的影响。除此之外,“烟囱式”的应用系统给系统维护人员带来很大挑战,不利于技术栈的统一,数据服务能力也得不到沉淀。

1.2 建设价值

海通证券金融资讯数据服务平台(简称“资讯中心”)作为一个基础资源输入平台,通过对各种投资类资讯、产品资讯、服务资讯的整合,实现资讯数据的统一管理。同时,通过对数据的自动采集、抽取、校验,将第三方数据按照统一的数据模型和规范转换为有用的、可靠的信息。

公司统一规范的金融资讯数据服务,消除了数据孤岛,实现了集中化的数据管理。在数据资产化的基础之上,借鉴专业的投资研究、运营管理、风险管理、舆情风控理论,对数据进行深入挖掘,建立公司特有的资讯数据分析模型,提供风险监控、机会发现、投资决策等多元化的服务支持。

二、 金融资讯数据模型

2.1 业务模型

数据业务模型的设计过程对各相关核心业务元素的完整性和相关性进行细致的分析。示例业务模型(图1)涉及到的数据类别包括:

■ 中国资本市场主要金融品种的交易数据、财务数据及各类公开披露的信息。包括:上海证券交易所和深圳证券交易所全部上市公司的基本资料、发行资料、交易数据、分红数据、股本结构、财务数据、公司公告及其它重要信息。

■ 公募基金、券商集合理财及信托等产品的发行上市资料、净值、投资组合、收益和分红数据、定期报告、财务数据等。

■ 国债、企债、金融债、可转债、央行票据等债券的基本资料、计息和兑付数据、交易数据等,以及各类收益率曲线等衍生数据,并提供支撑债券定价计算的数据结构。

■ 中国证券市场指数(沪深交易所指数、银行间债券市场指数、MSCI 中国指数、新华富时指数、中信指数、申银万国指数等)和海外市场指数的基本资料和交易数据。

■ 国内各期货交易所期货合约资料及交易数据,可支持套利计算、程序化交易的数据结构。

■ 自有数据,包括研究所报告、理财产品等。

图1. 金融资讯数据模型示例

2.2 编码规则

通过设计统一的编码规则,如公司编码、证券编码、行业编码、板块编码(图2),将各金融品种有效的串联起来,再设计通用的全局编码与外围业务系进行对接。数据根据自定义的内码进行关联,并采用业务主键做唯一索引,保证了数据库结构的高度规范性,同时也实现了跟上游数据去耦合,降低上游数据结构变化带来的风险。

图2. 编码信息示例

三、 金融资讯数据服务平台架构

整个金融资讯数据服务平台的实现紧密围绕着对于各种数据的采集、转换、清洗、分层存储以及管理、发布、数据接口和数据应用等功能而展开。从数据的角度出发,我们将金融资讯数据服务平台架构从逻辑上分为分成4个层次:数据源层、数据采集和处理层、数据存储层、数据服务层(见图3)。具体如下:

数据源:各类内部以及外部数据源,包括结构化数据、非结构化数据、半结构化数据。

■ 数据采集和处理:基于数据清洗转换体系提供完备的源数据跟踪管理、数据处理调度服务,支持根据实际数据要求,灵活配置处理任务;并提供多种数据校验模型,灵活配置校验规则以及任务,为数据源提供质量保障。

■ 数据存储:数据存储层存放经过采集、转换、清洗和整理后产生的各类数据,除了出于系统的效率和应用的支持等目的而产生的少量冗余外,中心数据库中的数据是原始的、精炼的,也不会产生各类二次加工数据。在数据存储层,从技术上主要考虑数据针对业务或数据应用的存储模型设计,以及针对数据应用效率的数据分层设计。

■ 数据服务层:是各类与数据相关的服务端系统的汇总,主要目的是为各类前端的数据应用访问资讯中心提供一些基础性服务,可以包括数据服务API、可视化组件、数据库表及文件服务等。同时,资讯加工处理中运用到的NLP能力也可以进一步通用化,如标签处理、情感分析、语义识别等,为不同业务场景提供相应的技术支持。

图3. 海通证券金融资讯数据服务平台总体架构

3.1数据源层

目前金融资讯数据服务平台的数据涵盖股票、公司、债券、基金、货币、指数、理财、期货现货、期权、资讯等多个类别(图4),并且不断引入特色资讯数据,进一步提升数据质量和数据全面性。

图4. 海通证券金融资讯服务平台数据分类

3.2 数据采集处理

3.2.1 数据清洗转换

数据清洗转换系统功能模块图如下(图5)

图5. 数据清洗转换系统主要功能模块

元数据库是指定义数据清洗转换平台的基础数据,主要功能包括数据源配置、数据字典和数据血缘管理。

调度中心是管控平台的核心组件,包括配置管理、调度引擎、执行器管理、任务管理等。配置平台支持在线配置调度任务入参,即时生效。

执行器支持任务节点弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务。

任务管理支持动态修改任务状态,暂停/恢复任务,定时任务触发,配置子任务依赖等。

3.2.2 数据抽取和转换

数据清洗转换模块是基于Kettle(开源工具,图6)扩展的,在管理界面的模型配置菜单中可支持新建数据清洗转换模型、上传/下载/发布脚本、调试运行、查看操作日志和报错日志等。

图6.模型开发界面

3.2.3 调度框架和策略

核心调度功能模块(图7)是基于Quartz实现的集群调度中心,该架构支持调度服务的水平扩展,实现调度服务的高可用。调度中心通过读取ETL(数据抽取转换加载)模型配置的定时任务信息,定时启动任务。一次任务调度包含多个模型,模型是整个调度中的最小单位。每个模型的调度执行均由负载均衡模块计算后选择负载最优的执行器执行。

图7. ETL任务调度架构

由于ETL任务的调度执行过程具有内存及CPU消耗密集型的特点,传统负载均衡策略(分发、随机、HASH等)在此场景效果较差,往往容易造成单台执行器负载过高而宕机。通过完善负载均衡机制,结合服务器实时的CPU、内存、并发任务数、线程数、服务延迟等指标对各执行器进行打分,调度时选择得分高的执行器执行,实现准实时特性的负载均衡。配合完善的执行器自检、熔断、重启策略,达到调度执行器集群高可靠性与可用性的目的。

采用分组调度策略,即一个任务配置一种定时策略,但该任务下涵盖多个ETL模型,当某个调度任务发起时,该任务组下的所有模型均会被调度执行。

该调度方式的优势在于降低了系统定时器的数量,避免操作人员频繁配置重复定时任务,节省操作成本,且可降低调度服务定时线程开销。

为了避免任务调度过于集中造成执行器集群压力过大问题,在进行定时任务配置时对定时策略进行末位随机算法,使任务执行尽量离散,避免在同一时刻有大量定时任务触发。在任务组内也采用了随机延迟调度的策略,极大的保证了调度集群的稳定性,提高了系统并发调度负载上限,使服务器实现最大化利用。

3.2.4 系统监控

为了保证对异常情况进行及时、准确地预警,通知相关人员第一时间处理,设计了海通资讯中心监控大屏(图8),对数据清洗转换、数据同步及校验系统进行实时监控。监控维度主要有数据清洗转换同步总量及报警提示、校验系统校验数据总量及异常数量、数据同步实时增量等。

图8. 海通证券资讯中心监控大屏

四、 数据应用

4.1 舆情风控预警

多源资讯数据采集到集团内部之后,通过智能标签平台对资讯打上相应的标签,包括股票、债券、基金、行业、概念、板块、风险事件等。目前风险因子超过200个,用户可以根据 主体、风险事件和时间等维度快速进行舆情检索,并根据个人需要进行预警任务的配置,当触发告警条件时,会第一时间及时进行告警提示。

4.2 智能资讯运营

标签化之后的数据通过数字化运营平台进行管理,运营人员可以在线进行资讯内容、标签内容、情感正负面等要素编辑操作,审核通过的资讯可以直接对外发布。同时,提供了资讯来源管理、资讯栏目管理等功能,实现对资讯的精细化运营。

4.3 智能语义分析服务

资讯数据结合自然语言处理方面的能力,实现在实体识别、语义理解、情感分析和智能文档解析等领域的应用。

实体识别可以文档中出现的各类实体,包括公司、人名、行业、板块等;

语义理解:长城汽车今年9月电动车产量,可以识别出主体是长城汽车,“今年9月”对应的时间区间是9月1日到9月30日,“电动车”对应新能源汽车行业,“产量”对应某一项指标。

情感分析服务可以通过算法判断主体和新闻本身的正负面;

文档解析服务通过运用非结构化解析相关的能力,实现对各类文档中的文字、表格和图片的抽取,用户可以根据自己的需要灵活地进行各类信息的提取和使用。

五、 数据治理

5.1 库表命名规范

不同类别的数据建立统一的命名规范(表1),从而起到“见名知义”的效果。下游使用数据的时候,根据数据表的名称就能大致定位表的用途,减少数据查找和数据定位耗费的人力成本。

表1. 库表命名规范

5.2 数据校验

数据校验在整个资讯数据服务平台建设过程中是尤为重要的一个环节,主要功能包括有校验规则管理、任务管理、通知中心等。包括三类核心规则的配置,字段校验,记录行校验与三方校验。

所有校验规则均可灵活配置定时执行策略,校验执行结果提供校验不通过数据量、通过率、异常数据明细等信息。提供校验不通过消息推送,便于业务人员及时发现并处理异常数据。

业务规则的调度周期同模型同步的调度周期,依据业务需求,如行情类数据,一般使用分段变时配置收盘后每隔半小时调度;证券主表,机构主表等重要的基础数据,源库不定时推送数据的表,一般使用相等间隔调度,配置每5~10分钟调度一次;某些不常更新的表,如常量、行业分类等,一般使用固定时间调度,配置一天调度一次或更久。

5.3 元数据管理

元数据系统主要实现数据的可视化呈现,并记录表与表之间的逻辑关系,方便数据的追溯(图9)。包括表信息展示、表结构数据展示、样例数据浏览和导出等。

图9. 海通证券资讯中心元数据管理平台

六、 总结与展望

海通证券金融资讯数据服务平台通过将多源异构的数据按照统一数据模型和规范转入集团内部,解决了金融资讯数据使用中存在的规范不统一、单一来源依赖性强等问题,并运用自然语言处理方面的技术,进一步挖掘数据价值,丰富了资讯数据应用场景。

未来金融资讯数据服务领域还有广阔的探索空间,一方面随着人工智能技术在证券行业的应用逐步深化,资讯价值的纵向挖掘充满了更多可能性,企业图谱、产业图谱、供应链、客户画像等数据可以相互关联和穿透,实现数据的采集和展示到知识的积累和价值挖掘的飞跃。另一方面,随着券商的开放程度越来越高,跨界进行信息、知识和能力共享逐渐成为可能,金融资讯数据作为很好的切入点,在提升机构客户服务体验以及构建开放生态上,将发挥出更大的价值。

声明:本文来自上交所技术服务,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。