王珊珊 ,陈 云 ,孙其伟
(1.上海财经大学 信息管理与工程学院,上海 200433;2.上海市金融信息技术研究重点实验室,上海 200433)
金融期货已成为国际金融市场的主要交易产品之一,然而在其发挥风险规避和价格发现功能的同时,如果使用不当也会引发巨大风险。因此,只有维护金融期货市场的健康平稳运行,才能充分发挥其价格发现和风险管理功能。
我国沪深300股指期货市场内均实现了全电子化交易和结算,几年来股指期货市场交易量和持仓量增长迅速,尤其国内金融期货市场上自动化交易发展迅速,它们具有单笔报单量小、报单总笔数高、报单撤单比高等特征。与此同时在国家推动金融期货产品创新的背景下,指数期权、外汇期货等金融衍生产品也将陆续推出,交易品种和市场参与主体的数量将快速增加。这些导致金融期货市场数据量呈爆发式增长的发展趋势,给风险监控任务带来了前所未有的挑战。
目前市场上期货风险监控系统主要是基于传统数据处理技术实现,不足以支撑高速、实时的风险监控。复杂事务处理技术(CEP,Complex Event Processing),数据处理能力强,延迟极短,能提供完整的开发工具,可以方便地开发并部署算法和策略,支持金融行业各类交易业务。本平台在研究市场涉嫌违规行为、异常交易行为的特征和影响基础上,应用复杂事务处理技术,通过交易系统接口等实时获取市场数据,实现多会员模式下对客户或会员的行情、委托、资金、成交、持仓等方面的监控,旨在及时发现客户风险,进而决定对客户采取不同的风险处理措施。
期货风险监控系统由4部分组成,系统整体架构如图1所示。
1.1.1 监控策略执行子系统
监控策略执行子系统基于实时行情数据,执行风险监控策略,并根据风险阀值,输出存在风险的客户或客户交易信息。该子系统由以下部分组成:
1.1.1.1 交易、行情适配器
输入从各会员端交易平台系统获取的源数据,并将源数据进行初始过滤,并换转换为ESP引擎所需的格式。
1.1.1.2 参数适配器
负责将客户化的参数转换为ESP引擎所需的格式,并负责在系统启动时的全局配置数据装载等功能。同时对从交易系统获取到的数据按照时间顺序保存,为交易反演提供历史数据。
图1 系统架构
1.1.1.3 复杂风控策略计算适配器
负责ESP风控策略计算与复杂风控策略计算子系统数据包之间的协议转换,并维持二者之间的网络连接。
1.1.1.4 监控策略执行结果适配器
考虑到对历史风控事件进行查询的需要,通过此适配器将ESP引擎计算的监控策略执行结果存储到关系型数据库中。
1.1.1.5 风险控制适配器
利用ESPSDK订阅监控策略执行结果,将其发送给外部监控客户端,并维持与外部监控客户端之间的网络连接、客户登录认证及异常状况处理等功能。
1.1.1.6 系统运行状态适配器
收集ESP引擎及各适配器的运行状态,并将各模块的运行状态反馈至“系统运行维护及监控客户端”程序,便于运维人员在发现系统运行状态出现异常时进行必要的人工干预。
1.1.2 复杂监控策略执行子系统
复杂监控策略执行子系统主要基于Matlab等专业数学软件完成一些复杂的监控计算逻辑,生成相应的加工计算结果后,发送给ESP引擎进行进一步运行。
1.1.3 外围数据源
外围数据源主要来自于交易系统和行情系统,为风险监控提供实时交易和行情数据,如飞马交易平台、沪深股市行情系统等。
1.1.4 外部控制系统
1.1.4.1 参数管理客户端
主要实现与风控相关的参数设置,包括:①外部系统的连接参数;②会员及客户保证金、手续费率等业务参数;③不同监控对象的风险阀值参数等。
1.1.4.2 风险监控客户端
负责将监控策略的执行结果通过各种可视化方式加以展现,当结果出现异常时发出告警,触发风控人员进行人工干预。同时可以实现分级监控,即交易所对结算会员的监控、结算会员对交易会员的监控以及交易会员对客户的监控。
1.1.4.3 数据源管理客户端
实现对数据来源的管理,支持系统基于不同交易系统或行情系统数据开展风险监控。同时,为了快速设定合适的风控阀值,会员端风控人员可依据历史数据进行反演,以判断具体参数值设定的合理性。按照策略要求抽取历史数据,并按照监控策略执行的逻辑,将抽取的数据发送给ESP引擎,驱动风控策略的执行。
1.1.4.4 系统运行维护及监控客户端
负责监控系统各模块的工作状态,在系统运行出现异常时发出告警,运维人员确认告警后,进行手工处理。
风险监控平台使用Sybase公司的复杂事件处理平台ESP完成对实时行情数据流、历史行情数据流、行情指标计算结果等事件的处理。基于ESP引擎,将风险监控策略执行过程分为3个阶段进行:
1.2.1 基础数据层
基础数据层把来自源系统的数据进行简单处理后,形成最基本的数据流,供后续的数据处理订阅使用。基础数据服务提供的数据包括行情、交易、持仓、资金、参数等,也可以根据业务需要逐步扩展。
1.2.2 业务事件层
业务事件层接受来自基础数据层的数据,按照具体的风险监控规则,计算风险监控指标,包括委托、成交、持仓、资金、行情等监控指标,计算后以数据流的形式输出数据,也可以公开给外部系统订阅使用。本层主要从业务角度进行扩展,横向增加不同的业务功能,纵向实现不同层次的业务处理。
1.2.3 风险揭示层
风险揭示层接受来自业务事件层的数据,将业务事件层输出的数据流与风险监控阀值参数相对比,进而发现交易过程中的风险点。
如图2所示,以持仓占比监控为例解释基于ESP引擎的监控策略执行过程。
图2 持仓占比监控策略执行过程
基于CEP技术的期货交易风险监控系统有以下特点:
(1)功能方面:基于行情流、交易流进行各类典型风控项监控;支持监控规则、阀值的灵活配置及扩充;支持历史交易、行情数据的反演,即通过历史数据快速确定监控规则中的有关参数。
(2)权限方面:交易所、结算会员和交易会员可以分级进行风险监控,可根据其管理需求,对监控对象进行风控项及风控参数的个性化设置。
(3)性能方面:系统能够负载100万客户,在每秒峰值处理30 000笔委托。
(4)架构方面:采用模块化的设计思想,具有低耦合、高内聚的特点,对于未来各种类型业务功能扩展及自身体系结构都能保持稳定,能够重用原有的架构、模块及源代码,从而确保对新增需求的快速实现。
虽然目前市场上的风险监控系统已经比较普遍,但是却不足以支撑对实时风险监控的高性能、高吞吐处理。基于CEP技术建设一个功能强大、支撑有力、应用灵活的风险监控平台,可以使期货市场风险监控方式由简单查询式向智能预警式转变,由事后被动监控向事中主动监控转变,同时提升市场拓展风险管理、交叉风险管理、跨市场监管等方面的风险监管能力。然而系统的构建是一个长期、复杂的系统工程,需要整合各方面资源。本系统虽然建设基本完成,但尚未投入使用,仍有许多地方需要改进与完善,使得系统的实时性、灵活性、扩展性、安全性得以进一步提升。